Puoi spiegare le reti neurali in parole semplici con un esempio?
Una rete neurale è una classe di sistemi informatici. Sono creati da nodi di elaborazione molto semplici formati in una rete. Sono ispirati dal modo in cui i sistemi biologici come il cervello funzionano, anche se molti ordini di grandezza sono meno complessi al momento.
Sono fondamentalmente sistemi di riconoscimento di pattern e tendono ad essere più utili per compiti che possono essere descritti in termini di riconoscimento di pattern. Vengono "addestrati" alimentandoli con set di dati con output noti.
Ad esempio, immagina di provare ad addestrare una rete per produrre un 1 quando viene mostrata un'immagine di un gatto e uno 0 quando vede un'immagine che non è un gatto. Si addestrerebbe la rete eseguendo molte immagini di gatti attraverso di essa e utilizzando un algoritmo per modificare i parametri di rete fino a quando non ha dato la risposta corretta. I parametri sono generalmente un guadagno su ogni input e un peso su ogni nodo, nonché la struttura effettiva della rete (quanti nodi, quanti strati, con quali interconnessioni).
Riconoscere le immagini di gatti è in realtà un problema abbastanza complesso e richiederebbe una rete neurale complessa (probabilmente a partire da un nodo per pixel). Un normale punto di partenza per la sperimentazione di reti neurali consiste nel provare e implementare porte logiche semplici, come AND, OR, NOT ecc. Come reti neurali.
Le reti neurali possono essere un modo molto veloce per ottenere un risultato complesso. Sono molto interessanti per la ricerca di intelligenza artificiale perché sono un modello per il cervello degli animali.
Uno dei principali svantaggi delle reti neurali è che è molto difficile decodificarli. Se la tua rete decide che una particolare immagine di un elefante è in realtà un gatto, non puoi davvero determinare "perché" in alcun senso utile. Tutto quello che puoi veramente fare è provare ad allenare / modificare ulteriormente la rete.
Le reti neurali tendono ad essere utilizzate per compiti ben delimitati come il riconoscimento di monete / banconote nei distributori automatici o l'individuazione di difetti sulle linee di produzione.
Il posto migliore in cui iniziare se sei interessato è probabilmente google "perceptron" che è il nome di uno dei primi elementi di rete neurale.
Studio l'intelligenza artificiale in un programma di master e utilizziamo molte reti neurali. Sono in realtà abbastanza utili.
Penso che il problema delle reti neurali sia il loro nome. Questo confonde sia l'effettiva rete neurale, e fa sì che alcune persone ne mettano in dubbio i pregi perché si aspettano che agiscano come cervelli, quando sono davvero un tipo di funzione di fantasia.
Il modo migliore per capire una rete neurale è superare il nome. Non pensarlo come un modello di un cervello ... non è ... questa era l'intenzione negli anni '60, ma nel 2011 e sono usati sempre per l'apprendimento automatico e la classificazione.
Una rete neurale è in realtà solo una funzione matematica. Si immette un vettore di valori, tali valori vengono moltiplicati per altri valori e viene emesso un valore o un vettore di valori. Questo è tutto ciò che è .
Sono molto utili nei domini dei problemi in cui non esiste una funzione nota per l'approssimazione delle caratteristiche (o degli input) dati alle loro uscite (classificazione o regressione). Un esempio potrebbe essere il tempo - ci sono molte caratteristiche del tempo - tipo, temperatura, movimento, copertura nuvolosa, eventi passati, ecc. - ma nessuno può dire esattamente come calcolare quale sarà il tempo tra due giorni. Una rete neurale è una funzione strutturata in modo tale che sia facile alterarne i parametri per approssimare la previsione del tempo basata su caratteristiche.
Questa è la cosa ... è una funzione e ha una buona struttura adatta all'apprendimento. Uno dovrebbe prendere gli ultimi cinque anni di dati meteorologici - completi con le caratteristiche del tempo e le condizioni del tempo 2 giorni in futuro, per ogni giorno negli ultimi cinque anni. I pesi di rete (fattori di moltiplicazione che si trovano nei bordi) vengono generati casualmente e i dati vengono eseguiti. Per ogni previsione, NN produrrà valori errati. Utilizzando un algoritmo di apprendimento basato sul calcolo, come back-propogation, è possibile utilizzare i valori di errore di output per aggiornare tutti i pesi nella rete. Dopo aver attraversato abbastanza i dati, i livelli di errore raggiungeranno il punto più basso (c'è di più, ma qui non ci entrerò - il più importante è il montaggio eccessivo). L'obiettivo è fermare l'algoritmo di apprendimento quando i livelli di errore si trovano nel punto migliore. La rete viene quindi riparata e, a questo punto, è solo una funzione matematica che mappa i valori di input in valori di output proprio come qualsiasi equazione precedente. Nutrite nuovi dati e credete che i valori di output siano una buona approssimazione.
A quelli che affermano di essere falliti: non lo sono. Sono estremamente utili in molti domini. Come pensi che i ricercatori capiscano le correlazioni tra geni e malattie? Gli NN, così come altri algoritmi di apprendimento, sono usati in bioinformatica e in altre aree. Hanno dimostrato di produrre risultati estremamente buoni. La NASA ora li usa per le routine della stazione spaziale, come la previsione della durata della batteria. Alcune persone diranno che supportare le macchine vettoriali, ecc. Sono migliori ... ma non ce ne sono prove, altri algoritmi sono solo più recenti.
È davvero un peccato che le persone continuino a sostenere che le reti neurali sono fallite perché sono molto più semplici del cervello umano --- le reti neurali non sono più utilizzate per modellare il cervello --- che era 50 anni fa.
È uno schema matematico per costruire un'equazione (prendendo più input numerici e fornendo un singolo output numerico) con pesi dei coefficienti regolabili. Esistono degli algoritmi che possono regolare i coefficienti per fare in modo che l'equazione si avvicini agli output attesi, dato un set di allenamento composto da input e output attesi.
L'esempio più semplice, insieme alla grafica, è disponibile su Wikipedia . Questo esempio è noto come XOR.
In parole semplici, come hai chiesto tu, Neural Network è un'idea fallita di imitare le reti neurali biologiche. Non ha mai dato risultati interessanti e probabilmente non lo farà mai, perché:
(1) è troppo semplicistico rispetto a quello che puoi fare con qualsiasi linguaggio di programmazione completo di Turing
(2) è troppo semplicistico rispetto alle reti neurali biologiche: si sono rivelate più complesse di quanto si pensasse al momento della creazione della teoria NN.
Qualsiasi affermazione che le reti neurali abbiano successo in qualsiasi attività utilizzata nelle applicazioni del mondo reale è esagerata.
Vieni su di me.
Leggi altre domande sui tag neural-networks