Le reti neurali sono il cuore dei modelli di deep learning. Sono vagamente ispirate a come il cervello umano elabora gli input per arrivare a una conclusione.
Dal punto di vista tecnico, proprio come il cervello umano è composto da miliardi di neuroni connessi tramite sinapsi, una rete neurale artificiale (ANN) è costituita da strati di nodi interconnessi. Queste connessioni permettono al modello di apprendere dai dati e produrre un output.
Le reti neurali feedforward, una versione delle ANN, sono stati uno dei primi algoritmi di apprendimento di successo. Queste reti si basano sui dati di addestramento e migliorano la loro accuratezza nel tempo.
Cos'è una rete neurale feedforward?
Le reti neurali feedforward (FNN) sono reti neurali artificiali in cui l'informazione scorre in una sola direzione, cioè in avanti. L'informazione si muove dallo strato di input agli strati nascosti (se presenti) e poi allo strato di output.
La rete non ha cicli o loop.
Lo strato di input è composto da neuroni che ricevono input e li passano allo strato successivo. Le dimensioni dei dati di input determinano il numero di neuroni in questo strato. Gli strati nascosti sono come il motore computazionale della rete neurale.
Ogni neurone dello strato nascosto prende la somma ponderata dell'output dello strato precedente, applica una funzione di attivazione e passa il risultato allo strato successivo. La funzione di attivazione decide se l'input del neurone è essenziale e attiva un nodo di conseguenza. Gli strati nascosti non sono direttamente esposti agli strati di input e output presenti.
.png)
Fonte: Research Gate
Infine, lo strato di output produce l'output. Il numero di possibili output governa il numero di neuroni presenti in questo strato.
Le reti neurali feedforward sono relativamente più semplici rispetto ai loro omologhi, come le reti neurali ricorrenti (RNN) o le reti neurali convoluzionali (CNN).
Architettura della rete neurale feedforward
Le FNN sono costituite da strati, pesi, bias e nodi.
Abbiamo discusso degli strati nella sezione precedente, quindi esaminiamo altri elementi dell'architettura di una rete neurale feedforward.
Pesi e bias
I pesi rappresentano la forza della connessione tra due neuroni. Prima che un segnale di input passi attraverso una funzione di attivazione, i pesi lo scalano. In parole povere, determinano l'influenza dell'input sull'output di un neurone.
D'altra parte, i bias controllano l'attivazione di base di un neurone. Come i pesi, i bias sono rappresentati da matrici, con una matrice per ogni strato.
Sia i pesi che i bias vengono aggiornati iterativamente durante l'addestramento per minimizzare la funzione di perdita. La funzione di perdita determina quanto bene una rete neurale sta svolgendo il suo compito quantificando essenzialmente quanto "sbagliato" è l'output di una rete rispetto all'output desiderato. Algoritmi di ottimizzazione come la discesa del gradiente stocastico (SGD) o le sue varianti vengono utilizzati per aggiornare i pesi e i bias.
Questo processo di aggiornamento è noto come retropropagazione. Gioca un ruolo critico nell'addestramento di una rete neurale feedforward.
Nodi
I nodi sono piccole unità di elaborazione interconnesse all'interno di una rete neurale. Ricevono dati ed eseguono operazioni matematiche per produrre risultati che vengono trasmessi agli strati successivi o allo strato di output.
Sebbene un singolo nodo esegua compiti e calcoli semplici, il lavoro collettivo di molti nodi rende le reti neurali potenti. Quando i nodi lavorano insieme, possono riconoscere schemi e fornire soluzioni a schemi complessi.
Vuoi saperne di più su Software di Reti Neurali Artificiali? Esplora i prodotti Rete Neurale Artificiale.
Come funziona una rete neurale feedforward?
Una rete neurale feedforward funziona attraverso la fase di feedforward e la fase di retropropagazione.
La fase di feedforward alimenta i dati di input che si propagano in avanti attraverso la rete. La sua somma ponderata degli input viene calcolata e passata attraverso una funzione di attivazione, introducendo non-linearità nel modello. Il processo esatto continua fino a raggiungere la fase di output.
Alla fase di output, la rete calcola la differenza tra gli output previsti e quelli effettivi. Questo errore si propaga indietro attraverso la rete per regolare i pesi, minimizzando gli errori futuri. Questo riassume la fase di retropropagazione.
La rete continua a regolare i pesi per minimizzare gli errori, aiutandola ad apprendere e migliorare nel tempo. Il tasso di apprendimento decide l'entità con cui i pesi vengono regolati. Molti input e output vengono alimentati in una rete fino a quando non apprende ragionevolmente la relazione tra i dati di input e output.
Questo processo di apprendimento ripetitivo comporta il confronto dell'output della rete con l'output desiderato e l'aggiornamento dei pesi di conseguenza.
Sapevi che? Frank Rosenblatt ha introdotto il termine "correzione dell'errore retropropagante" nel 1962. Tuttavia, David E. Rumelhart e altri hanno reso popolare l'attuale metodo di discesa del gradiente stocastico.
Curioso di sapere come le reti feedforward apprendono effettivamente? Esplora i meccanismi della retropropagazione e dell'addestramento basato sul gradiente.
Reti neurali ricorrenti (RNN) vs. reti neurali feedforward
Le reti neurali ricorrenti, note anche come reti neurali a feedback, derivano dalle FNN. Le RNN ricordano i dati di input, rendendole adatte per problemi di apprendimento automatico (ML) che coinvolgono dati sequenziali. Il suo algoritmo all'avanguardia per i dati sequenziali è utilizzato da Siri di Apple e dalla ricerca vocale di Google.
Queste reti neurali possono facilmente riconoscere schemi in sequenze di dati, che possono essere sotto forma di testo, discorso o serie temporali. Una caratteristica distintiva delle RNN è la memoria del loro algoritmo. A differenza delle FNN, che elaborano ogni input in modo indipendente, le RNN prendono informazioni dai passaggi precedenti per migliorare l'elaborazione.
Puoi pensare alle RNN come a persone che leggono un libro, utilizzando il contesto dei passaggi precedenti per elaborare i dati attuali.
|
Categoria |
Rete neurale feedforward |
Rete neurale a feedback |
|
Direzione del segnale |
Unidirezionale |
Unidirezionale/bidirezionale |
|
Tempo di operazione |
Breve |
Lungo |
|
Feedback dal segnale di output |
No |
Sì |
|
Complessità strutturale |
Semplice |
Complicata |
|
Tempo di memoria |
Breve termine o nessuno |
Lungo termine |
|
Ambiti di applicazione in medicina |
Ampio |
Limitato |
|
Applicazione |
Rete percettrone, rete di retropropagazione, rete a funzione di base radiale |
Rete neurale ricorrente, rete di Hopfield, macchina di Boltzmann |
Le reti neurali feedforward sono adatte per applicazioni in cui i dati di input sono fissi in dimensioni e non hanno dipendenze temporali. Tuttavia, se l'ordine dei punti dati è cruciale, le FNN non funzioneranno per tali casi d'uso. Elaborano ogni input in modo indipendente senza considerare il contesto dell'input precedente.
Ad esempio, le FNN possono classificare un'immagine in diverse categorie in base ai valori dei pixel, ma faticano con compiti come prevedere la parola successiva in una frase poiché non c'è ritenzione del contesto dalle parole precedenti.
Al contrario, le reti neurali ricorrenti possono fare un lavoro migliore qui. Possono modellare le dipendenze temporali ed elaborare sequenze di lunghezze variabili. Ad esempio, una rete neurale ricorrente può facilmente prevedere la parola successiva nella frase. La previsione diventa più accurata man mano che ogni parola nella sequenza viene elaborata, catturando le dipendenze temporali esistenti.
In sintesi, se non c'è feedback dall'output verso i neuroni della rete, è una rete neurale feedforward. Tuttavia, se c'è feedback dallo strato di output verso l'input dei neuroni (propri o diversi), è una rete neurale ricorrente.
Vantaggi della rete neurale feedforward
Le reti neurali feedforward offrono diversi vantaggi agli utenti, tra cui:
- Capacità di autoapprendimento: Queste reti neurali apprendono in modo indipendente attraverso la retropropagazione. Regolano i pesi e altri parametri per produrre l'output desiderato, aiutandole ad adattarsi rapidamente a nuovi set di dati.
- Velocità: Le FNN possono essere addestrate più velocemente rispetto ad altri modelli grazie alla loro natura parallelizzabile, rendendole efficienti nella gestione di grandi set di dati.
- Classificatori non lineari: Le FNN sono classificatori non lineari, il che significa che possono gestire dati complessi meglio di altri modelli lineari. Quando i set di dati contengono più variabili che interagiscono in modo non lineare, le FNN sarebbero in grado di comprendere le informazioni contenute nei set di dati in modo più accurato.
Sfide delle reti neurali feedforward
Le reti neurali feedforward presentano alcune sfide per i suoi utenti, tra cui:
- Incapacità di trattenere informazioni: Le FNN si basano esclusivamente sugli input attuali e non utilizzano alcun contesto dall'elaborazione precedente. Faticano con i dati sequenziali, rendendo le RNN una scelta adatta per gli utenti che richiedono dipendenze temporali.
- Propensione all'overfitting: Quando le FNN affrontano dati complessi, la rete diventa specializzata nei dati di addestramento. Non riesce a generalizzare bene, rendendo difficile lavorare con dati nuovi e non visti.
- Complessità computazionale: Quando si affrontano set di dati su larga scala, il processo di addestramento richiede più risorse computazionali, rendendo difficile per le applicazioni che necessitano di elaborazione in tempo reale in ambienti con risorse limitate.
- Sintonizzazione degli iperparametri: Le FNN hanno diversi iperparametri (tasso di apprendimento, dimensione del batch, funzioni di attivazione, ecc.) che necessitano di una sintonizzazione accurata per ottenere prestazioni ottimali.
- Interpretabilità: L'architettura complessa della rete, che è di natura black-box e ad alta dimensione, rende difficile comprendere il suo processo decisionale.
- Dipendenza dai dati etichettati: Le FNN offrono prestazioni soddisfacenti quando vengono addestrate su una quantità significativa di dati di addestramento. Ottenere grandi set di dati ed etichettarli può essere un processo dispendioso in termini di tempo e costoso. Limita le applicazioni delle FNN in luoghi in cui i dati etichettati non sono facilmente accessibili.
Esplora oltre le FNN
Le reti neurali feedforward trovano applicazioni in molti settori. Ad esempio, sono utilizzate nella manutenzione predittiva, aiutando le industrie a risparmiare sui costi e prevenire battute d'arresto. Con l'aumento dell'uso dell'IA e dei modelli di deep learning, probabilmente vedremo applicazioni più sofisticate delle FNN nel prossimo futuro.
Tuttavia, con le FNN, abbiamo semplicemente grattato la superficie della tecnologia del deep learning. C'è molto di più da apprendere e comprendere quando si tratta di modelli di deep learning.
Scopri di più sul deep learning e comprendi come le macchine apprendono e progrediscono.
Modificato da Monishka Agrawal

Sagar Joshi
Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.
