Quali sono alcune buone risorse per conoscere le reti neurali artificiali?[Chiuso]

StackOverflow https://stackoverflow.com/questions/478947

  •  20-08-2019
  •  | 
  •  

Domanda

Sono molto interessato alle reti neurali artificiali, ma sto cercando un punto di partenza.

Quali risorse sono disponibili e qual è un buon progetto iniziale?

È stato utile?

Soluzione

Ecco alcuni esempi di programmazione della rete neurale. http://www.codeproject.com/KB/recipes/neural_dot_net.aspx

puoi iniziare a leggere qui: http: // web .archive.org / web / 20071025010456 / http: //www.geocities.com/CapeCanaveral/Lab/3765/neural.html

Io da parte mia ho visitato un corso su di esso e ho lavorato su alcune pubblicazioni.

Altri suggerimenti

Prima di tutto, abbandonate l’idea che le reti neurali artificiali abbiano qualcosa a che fare con il cervello se non per una somiglianza passeggera con le reti di neuroni biologici.Imparare la biologia non ti aiuterà ad applicare efficacemente le reti neurali;imparerà l'algebra lineare, il calcolo infinitesimale e la teoria della probabilità.Dovresti almeno acquisire familiarità con l'idea della differenziazione di base delle funzioni, della regola della catena, delle derivate parziali (il gradiente, lo Jacobiano e l'Hessiano) e comprendere la moltiplicazione e la diagonalizzazione delle matrici.

In realtà, ciò che stai facendo quando addestri una rete è ottimizzare una funzione ampia e multidimensionale (minimizzando la misura dell'errore rispetto a ciascuno dei pesi nella rete), quindi un'indagine sulle tecniche di ottimizzazione numerica non lineare può rivelarsi istruttiva.Questo è un problema ampiamente studiato con un'ampia base di letteratura al di fuori delle reti neurali e ci sono molti appunti di lezioni sull'ottimizzazione numerica disponibili sul web.Per iniziare, la maggior parte delle persone usa simple discesa del gradiente, ma questo può essere molto più lento e meno efficace rispetto a metodi più sfumati come

Una volta che hai le idee di base puoi iniziare a sperimentare diverse funzioni di "schiacciamento" nel tuo livello nascosto, aggiungendo vari tipi di regolarizzazione e varie modifiche per rendere l'apprendimento più veloce.Vedere questo articolo per un elenco completo delle "migliori pratiche".

Uno dei migliori libri sull'argomento è quello di Chris Bishop Reti neurali per il riconoscimento di pattern.È piuttosto vecchio a questo punto, ma è ancora una risorsa eccellente e spesso puoi trovare copie usate online per circa $ 30.Il capitolo sulla rete neurale nel suo libro più recente, Riconoscimento di modelli e apprendimento automatico, è anche abbastanza completo.Per un tutorial particolarmente valido incentrato sull'implementazione, guarda questo su CodeProject.com che implementa una sorta di rete intelligente chiamata rete convoluzionale, che vincola la connettività in modo tale da renderla molto brava nell'imparare a classificare i modelli visivi.

Le macchine vettoriali di supporto e altri metodi del kernel sono diventati piuttosto popolari perché puoi applicarli senza sapere cosa diavolo stai facendo e spesso ottieni risultati accettabili.Le reti neurali, d'altra parte, sono enormi problemi di ottimizzazione che richiedono un'attenta messa a punto, sebbene siano ancora preferibili per molti problemi, in particolare problemi su larga scala in settori come la visione artificiale.

Consiglio vivamente questa eccellente serie di Anoop Madhusudanan su Code Project .

Ti guida attraverso le nozioni di base per capire come funzionano in modo facile da capire e ti mostra come usare la sua brainnet libreria per crearne una tua.

Le reti neurali sono una sorta di declasse in questi giorni. Support vector machine e metodi del kernel sono migliori per più classi di problemi rispetto alla backpropagation. Le reti neurali e gli algoritmi genetici catturano l'immaginazione di persone che non sanno molto dell'apprendimento automatico moderno ma non sono all'avanguardia.

Se vuoi saperne di più sull'IA e l'apprendimento automatico, ti consiglio di leggere di Peter Norvig Intelligenza artificiale: un approccio moderno . È un ampio sondaggio di intelligenza artificiale e molta tecnologia moderna. Ripassa la storia e anche le tecniche più vecchie e ti darà una base più completa sulle basi dell'IA e dell'apprendimento automatico.

Le reti neurali sono piuttosto facili, comunque. Soprattutto se si utilizza un algoritmo genetico per determinare i pesi, piuttosto che una corretta backpropagation.

Secondo la raccomandazione di dwf di reti neurali per il riconoscimento di schemi di Chris Bishop. Anche se, forse non è un testo di partenza. Norvig o un tutorial online (con codice in Matlab!) Sarebbe probabilmente un'introduzione più delicata.

Un buon progetto di partenza sarebbe OCR (Optical Character Recognition). È possibile eseguire la scansione di pagine di testo e alimentare ciascun personaggio attraverso la rete per eseguire la classificazione. (Dovresti allenare la rete prima ovviamente!).

Raul Il libro di Rojas è un ottimo inizio (è anche gratuito). Inoltre, 3a edizione del libro di Haykin , sebbene di grande volume, è molto ben spiegato .

Posso consigliare da dove non iniziare. Ho acquistato An Introduction to Neural Networks di Kevin Gurney che ha buone recensioni su Amazon e afferma di essere un " introduzione altamente accessibile a uno degli argomenti più importanti in cognitive e informatica " ;. Personalmente, non consiglierei questo libro come inizio. Posso comprenderne solo circa il 10%, ma forse sono solo io (l'inglese non è la mia lingua madre). Esaminerò altre opzioni da questa discussione.

http://www.ai-junkie.com/ann/evolved /nnt1.html è una chiara introduzione al perceptron multi-layer, sebbene non descriva l'algoritmo di backpropagation

puoi anche dare un'occhiata a generation5.org che fornisce molti articoli sull'intelligenza artificiale in generale e ha alcuni grandi testi sulla rete neurale

Se non ti dispiace spendere soldi, The Handbook of Brain Theory and Neural Networks è molto buono. Contiene 287 articoli che coprono la ricerca in molte discipline. Inizia con un'introduzione e una teoria e quindi evidenzia i percorsi attraverso gli articoli per coprire al meglio i tuoi interessi.

Per quanto riguarda un primo progetto, mappe di Kohonen sono interessanti per categorizzazione : trova relazioni nascoste nella tua raccolta musicale, costruisci un robot intelligente o risolvi il premio Netflix .

Penso che un buon punto di partenza sarebbe sempre Wikipedia . Lì troverai alcuni link utili a documentazioni e progetti che usano anche reti neurali.

Due libri che sono stati usati durante il mio studio:

Corso introduttivo: Un'introduzione al Neural Computing di Igor Aleksander e Helen Morton.

Corso avanzato: Neurocomputing di Robert Hecht-Nielsen

Ho trovato Fundamentals of Neural Networks di Fausett un semplice e facile da raggiungere -get-in libro introduttivo.

Ho trovato il libro di testo " Intelligenza computazionale " essere incredibilmente utile.

Programming Collective Intelligence ne discute nel contesto degli algoritmi di ricerca e classificazione. Inoltre, nel codice disponibile qui (nel cap. 4), sono illustrati i concetti discussi nel libro in un esempio di Python.

Sono d'accordo con le altre persone che hanno affermato che studiare biologia non è un buon punto di partenza ... perché ci sono molte informazioni irrilevanti in biologia. Non hai bisogno di capire come funziona un neurone per ricreare la sua funzionalità: devi solo simulare le sue azioni. Consiglio & Quot; Come creare una mente & Quot; di Ray Kurzweil - entra nell'aspetto della biologia che è rilevante per i modelli computazionali, (creando un neurone simulato combinando più input e sparando una volta raggiunta una soglia) ma ignora le cose irrelvant come il modo in cui il neurone aggiunge effettivamente input della famiglia alla piuma. (Utilizzerai solo + e una disuguaglianza per confrontare una soglia, per esempio)

Dovrei anche sottolineare che il libro non tratta in realtà di "creare una mente", ma si concentra solo sul riconoscimento del modello gerarchico / la neocorteccia. Il tema generale è stato discusso dagli anni '80 in cui credo, quindi ci sono molti libri più vecchi che probabilmente contengono forme leggermente datate delle stesse informazioni. Ho letto documenti più vecchi affermando che il sistema di visione, ad esempio, è un riconoscitore di schemi a più livelli. Sostiene che ciò vale per l'intera neocorteccia. Inoltre, prendi le sue "previsioni" con un pizzico di sale - le sue stime hardware sono probabilmente abbastanza accurate, ma penso che sottovaluti quanto possano essere semplici compiti complicati (ad esempio guidare una macchina). Certo, ha visto molti progressi (e ne ha fatto parte) ma penso ancora che sia troppo ottimista. C'è una grande differenza tra un'auto AI in grado di guidare con successo un miglio il 90% delle volte, rispetto al 99,9+% che un essere umano può fare. Non mi aspetto che un'intelligenza artificiale sia davvero alla guida di me per almeno 20 anni ... (Non conto le BMW che seguono le auto che devono essere "addestrate" sul percorso effettivo, dato che non stanno giocando allo stesso modo gioco)

Se hai già un'idea di base di cosa sia l'IA e come possa essere modellata, potresti fare meglio a saltare a qualcosa di più tecnico.

Se vuoi conoscere rapidamente le applicazioni di alcuni concetti di rete neurale su un vero simulatore, c'è un grande libro online (ora wiki) chiamato "Neuroscienze cognitive computazionali" in http://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main

Il libro è usato nelle scuole come un libro di testo e ti guida attraverso molte aree cerebrali diverse, dai singoli neuroni fino al funzionamento esecutivo di ordine superiore.

Inoltre, ogni sezione è arricchita con 'progetti' di compiti che sono già in sospeso per te. Basta scaricare, seguire i passaggi e simulare tutto ciò di cui il capitolo ha parlato. Il software che usano, Emergent, è un po 'fine ma incredibilmente robusto: è il prodotto di oltre 10 anni di lavoro credo.

L'ho passato in una classe universitaria lo scorso semestre, ed è stato grandioso. Ti guida attraverso tutto passo dopo passo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top