Come imparano le reti neurali artificiali?
Il campo delle reti neurali artificiali è estremamente complicato e in rapida evoluzione. Per capire le reti neurali e come elaborano le informazioni, è fondamentale esaminare come funzionano queste reti e i modelli di base che vengono utilizzati in tale processo.
Cosa sono le reti neurali artificiali?
Le reti neurali artificiali sono modelli computazionali paralleli (a differenza dei nostri computer, che hanno un unico processore per raccogliere e visualizzare le informazioni). Queste reti sono comunemente costituite da più processori semplici che sono in grado di agire in parallelo l'uno accanto all'altro per modellare sistemi in evoluzione. Questo processo di calcolo parallelo permette anche un'elaborazione e un calcolo più veloce delle soluzioni. Le reti neurali seguono una struttura computazionale dinamica, e non si attengono a un processo semplice per derivare un output desiderato.
La base di queste reti ha avuto origine dal neurone biologico [1] e dalle strutture neurali - ogni neurone riceve più input unici e produce un output. Allo stesso modo, nelle reti neurali, diversi input vengono elaborati e modificati da un peso, o una sorta di equazione che cambia il valore originale. La rete combina poi questi diversi input ponderati con riferimento a una certa soglia e funzione di attivazione e produce il valore finale.
Come funzionano le reti neurali?
Le reti neurali artificiali sono organizzate in strati di processi di calcolo paralleli. Per ogni processore in uno strato, ogni numero di ingressi viene moltiplicato per un peso originariamente stabilito, ottenendo quello che viene chiamato il valore interno dell'operazione. Questo valore viene ulteriormente modificato da un valore di soglia originariamente creato e inviato a una funzione di attivazione per mappare il suo output. L'output di quella funzione viene poi inviato come input per un altro strato, o come risposta finale di una rete se lo strato è l'ultimo. I pesi e i valori di soglia sono più comunemente modificati per produrre il valore corretto e più accurato.
I meccanismi di apprendimento di una rete neurale
Guardare un'analogia può essere utile per capire i meccanismi di una rete neurale. L'apprendimento in una rete neurale è strettamente legato al modo in cui impariamo nella nostra vita e nelle nostre attività regolari - eseguiamo un'azione e siamo accettati o corretti da un allenatore o da un coach per capire come migliorare in un certo compito. Allo stesso modo, le reti neurali richiedono un allenatore per descrivere ciò che avrebbe dovuto essere prodotto come risposta all'input. Sulla base della differenza tra il valore reale e il valore che è stato emesso dalla rete, un valore di errore viene calcolato e rimandato indietro attraverso il sistema. Per ogni strato della rete, il valore di errore viene analizzato e utilizzato per regolare la soglia e i pesi per l'input successivo. In questo modo, l'errore continua a diventare marginalmente minore ad ogni esecuzione man mano che la rete impara ad analizzare i valori.
La procedura sopra descritta è nota come backpropogation, e viene applicata continuamente attraverso una rete fino a quando il valore dell'errore è mantenuto al minimo. A questo punto, la rete neurale non richiede più un tale processo di addestramento e viene lasciata funzionare senza aggiustamenti. La rete può quindi essere finalmente applicata, utilizzando i pesi e le soglie regolate come linee guida.
L'uso di una rete neurale in esecuzione
Quando una rete neurale è attivamente in esecuzione, non ha luogo alcuna retropropagazione poiché non c'è modo di verificare direttamente la risposta attesa. Invece, la validità delle dichiarazioni di output sono corrette durante una nuova sessione di allenamento o sono lasciate così come sono per l'esecuzione della rete. Potrebbero essere necessari molti aggiustamenti poiché la rete consiste di una grande quantità di variabili che devono essere precise affinché la rete neurale artificiale funzioni.
Un esempio di base di tale processo può essere esaminato insegnando a una rete neurale a convertire il testo in discorso. Si potrebbero scegliere diversi articoli e paragrafi e usarli come input per la rete e predeterminare un input desiderato prima di eseguire il test. La fase di addestramento consisterebbe poi nel passare attraverso i livelli multipli della rete e usare la backpropogation per regolare i parametri e il valore di soglia della rete al fine di minimizzare il valore di errore per tutti gli esempi di input. La rete potrebbe poi essere testata su nuovi articoli per determinare se può veramente convertire il testo in un discorso corretto.
Reti come queste possono essere modelli validi per una grande varietà di problemi matematici e statistici, inclusi, ma non limitati a, sintesi e riconoscimento vocale, riconoscimento e previsione dei volti, modellazione di sistemi non lineari e classificazione di modelli.
Conclusione
Le reti neurali sono un nuovo concetto di cui abbiamo appena scalfito il potenziale. Possono essere usate per una varietà di concetti e idee diverse, e imparano attraverso un meccanismo specifico di backpropogation e di correzione degli errori durante la fase di test. Minimizzando adeguatamente l'errore, questi sistemi multistrato potrebbero un giorno essere in grado di imparare e concettualizzare idee da soli, senza correzione umana.
Spero che questo aiuti! Sentitevi liberi di commentare questa risposta, A2A o PM me se avete ulteriori domande, commenti o preoccupazioni. Grazie!
[1] Se vuoi saperne di più su come funziona biologicamente un neurone, dai un'occhiata alla mia risposta a Che cos'è un neurone?
Fonti
La maggior parte di questa risposta proviene dalle mie conoscenze attraverso corsi online e la lettura di diversi articoli e documenti sulle reti neurali, ma ho usato le seguenti risorse per migliorare la qualità di questa risposta:
[1] http://www.cheshireeng.com/Neuralyst/nnbg.htm
[2] http://www.scientificamerican.com/article.cfm?id=experts-neural-networks-like-brain
Articoli simili
- Cosa sono le reti neurali siamesi, per quali applicazioni sono buone e perché?
- L'ordine dei dati di allenamento è importante quando si addestrano le reti neurali?
- Cos'è il max pooling nelle reti neurali convoluzionali?
- Quali strumenti sono buoni per disegnare i diagrammi dell'architettura delle reti neurali?