Che cos'è una rete neurale in parole semplici [chiuso]


11

Puoi spiegare le reti neurali in parole semplici con un esempio?



1
Ho cercato per primo, ma non è stato semplice .
LifeH2O,

Risposte:


13

Una rete neurale è una classe di sistema informatico. Sono creati da nodi di elaborazione molto semplici formati in una rete. Sono ispirati dal modo in cui funzionano sistemi biologici come il cervello, sebbene molti ordini di grandezza meno complessi al momento.

Sono fondamentalmente sistemi di riconoscimento di schemi e tendono ad essere più utili per compiti che possono essere descritti in termini di riconoscimento di schemi. Vengono "addestrati" alimentandoli con set di dati con output noti.

Ad esempio, immagina che stai provando ad addestrare una rete per produrre un 1 quando gli viene data un'immagine di un gatto e uno 0 quando vede un'immagine che non è un gatto. Formeresti la rete eseguendo molte immagini di gatti attraverso di essa e usando un algoritmo per modificare i parametri della rete fino a quando non ha dato la risposta corretta. I parametri sono di solito un guadagno su ciascun input e un peso su ciascun nodo, nonché la struttura effettiva della rete (quanti nodi, in quanti strati, con quali interconnessioni).

Riconoscere le immagini dei gatti è in realtà un problema piuttosto complesso e richiederebbe una rete neurale complessa (eventualmente iniziando con un nodo per pixel). Un solito punto di partenza per sperimentare con le reti neurali è cercare di implementare semplici porte logiche, 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 sull'IA perché sono un modello per il cervello animale.

Uno dei principali svantaggi delle reti neurali è che è molto difficile decodificarle. 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 davvero fare è provare a formare / modificare ulteriormente la rete.

Le reti neurali tendono ad essere utilizzate per compiti ben limitati come il riconoscimento di monete / banconote nei distributori automatici o l'individuazione di difetti sulle linee di produzione.

Il punto migliore da cui iniziare se sei interessato è probabilmente Google "perceptron", che è il nome di uno dei primi elementi della rete neurale.


22

Studio l'intelligenza artificiale in un programma di master e usiamo parecchie reti neurali. Sono in realtà abbastanza utili.

Penso che il problema per le reti neurali sia il loro nome. Ciò confonde ciò che è realmente una rete neurale e fa sì che alcune persone mettano in discussione i loro meriti perché si aspettano che si comportino come cervelli, quando sono davvero un tipo fantasioso di funzione.

Il modo migliore per comprendere una rete neurale è passare oltre il nome. Non pensarlo come un modello di un cervello ... non è ... questa era l'intenzione negli anni '60, ma è il 2011 e sono usati tutto il tempo per l'apprendimento automatico e la classificazione.

Una rete neurale è in realtà solo una funzione matematica. Immettere un vettore di valori, tali valori vengono moltiplicati per altri valori e viene emesso un valore o un vettore di valori. Questo è tutto .

Sono molto utili nei domini problematici in cui non esiste una funzione nota per l'approssimazione delle caratteristiche (o input) dati ai loro output (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 2 giorni. Una rete neurale è una funzione strutturata in modo da semplificare la modifica dei suoi parametri per una previsione meteorologica approssimativa basata sulle funzionalità.

Questa è la cosa ... è una funzione e ha una bella struttura adatta all '"apprendimento". Uno richiederebbe 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 (moltiplicando i fattori che risiedono nei bordi) vengono generati casualmente e i dati vengono eseguiti. Per ogni previsione, NN genererà valori errati. Utilizzando un algoritmo di apprendimento basato sul calcolo, come la back-propogation, è possibile utilizzare i valori di errore di output per aggiornare tutti i pesi nella rete. Dopo aver analizzato abbastanza i dati, i livelli di errore raggiungeranno il punto più basso (c'è di più, ma non ci entrerò qui - il più importante è il superamento). L'obiettivo è arrestare l'algoritmo di apprendimento quando i livelli di errore sono nel punto migliore. La rete viene quindi riparata ea questo punto lo èsolo una funzione matematica che mappa i valori di input in valori di output proprio come qualsiasi vecchia equazione. Inserisci nuovi dati e ritieni che i valori di output siano una buona approssimazione.

Per coloro 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? Le NN, così come altri algoritmi di apprendimento, sono utilizzate in bioinformatica e altre aree. Hanno dimostrato di produrre risultati estremamente buoni. La NASA ora li utilizza per le routine delle stazioni spaziali, come prevedere la durata della batteria. Alcune persone diranno che le macchine vettoriali di supporto, ecc. Sono migliori ... ma non ci sono prove, altri algoritmi sono solo più recenti.

È davvero un peccato che le persone affermino ancora 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 - 50 anni fa.


2

È uno schema matematico per la costruzione di un'equazione (prendendo più input numerici e fornendo un singolo output numerico) con pesi di coefficienti regolabili. Esistono algoritmi che possono regolare i coefficienti in modo da rendere l'equazione approssimativa degli output previsti, dato un set di training costituito da input e output attesi.

L'esempio più semplice, insieme alla grafica, è disponibile su Wikipedia . Questo esempio è noto come XOR.


-8

In parole semplici, come hai chiesto, Neural Network è un'idea fallita di imitazione di 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 compito utilizzato nelle applicazioni del mondo reale è un'esagerazione.

Dai, votami.


4
"Dai, votami." Ok. Non perché me l'hai chiesto. No, sto effettuando il downvoting perché apparentemente non sai nulla delle reti neurali o di cosa sono usate nelle "applicazioni del mondo reale"
Steven Evers,

Perché pensi che l'idea "fallita"?

Non sono d'accordo. In bioinformatica le ANN sono fortemente utilizzate per valutare le proprietà dai descrittori. Allo stesso modo, questi ragazzi li usano per prevedere le condizioni cardiache .
Stefano Borini,

@SnOrfus: "apparentemente non sai nulla delle reti neurali, o per cosa sono usate" - Sarei felice se qualcuno finalmente mi avesse spiegato dove esattamente nel mondo commerciale sono state usate finora le NN. L'accademia non conta perché è conservatrice in generale (cosa che dovrebbe) e ha obiettivi leggermente diversi. In una risposta separata qui in questo thread andrebbe bene anche.
Mojuba,

@Stefano Borini: a prima vista sembra un buon esempio, ma non sono sicuro che lo stesso problema non possa essere risolto con un codice ancora più semplice senza ANNs. In realtà, sono sicuro che potrebbe.
Mojuba,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.