Noi studiem rețele neuronale în patru etape

Noi studiem rețele neuronale în patru etape

Etapa 1. Neuronii și metoda de distribuție directă

Deci, ce este o „rețea neuronală“? Să așteptăm cu asta și vom înțelege la început cu un singur neuron.

Un neuron arata ca o funcție: acceptă introducerea de valori multiple și returnează unul.

Cercul de mai jos denota neuron artificial. El devine un 5 și returnează 1. Introducere - este suma de trei conectat la sinapselor neuron (trei săgeți la stânga).

Noi studiem rețele neuronale în patru etape

Pe partea stângă a imaginii vom vedea două valori de intrare (de culoare verde) și offset (evidențiate în maro).

Datele de intrare pot fi reprezentări numerice a două proprietăți diferite. De exemplu, atunci când creați un filtru de spam ar putea însemna prezența a mai mult de un cuvânt, cu majuscule, și prezența cuvântului „Viagra“.

Valorile de intrare sunt multiplicate cu așa-numita „greutate“ lor, 7 și 3 (evidențiate în albastru).

vom adăuga valorile obținute sunt acum compensate și de a obține numărul, în acest caz, 5 (evidențiate cu roșu). Aceasta este - intrarea neuronului nostru artificial.

Noi studiem rețele neuronale în patru etape

Apoi neuron produce unele calcule și ieșiri valoarea de ieșire. Avem unul, pentru că Valoarea rotunjită sigmoid la punctul 5 este 1 (mai multe despre această caracteristică mai târziu).

Dacă a fost un filtru de spam, faptul că ieșirea 1 ar însemna că textul a fost semnalat ca neuron de spam.

Noi studiem rețele neuronale în patru etape

Ilustrație a unei rețele neuronale cu Wikipedia.

Daca combina aceste neuroni, apoi ajunge direct propagă rețele neuronale - un proces vine de la intrare la concluzia, prin neuroni, conectate prin sinapselor, la fel ca în imaginea din stânga.

Etapa 2. sigmoid

Noi studiem rețele neuronale în patru etape

Sigmoid afișează doar valoarea introdusă (axa orizontală) a intervalului la 0 la 1.

A fost nevoie de o zi întreagă, și este puțin probabil rezultatul a fost satisfăcător. Dar nu contează, pentru că am dat seama cum funcționează. puteți vedea codul aici.

Nu trebuie să o facă ei înșiși, pentru că nu sunt necesare cunoștințe speciale - principalul lucru pe care trebuie să înțeleagă modul în care sigmoid.

Etapa 3. backpropagare

Înțelegerea funcționării rețelei neuronale de la intrare la ieșire nu este atât de dificil. Mult mai dificil de înțeles modul în care o rețea neuronală instruit pe seturi de date. Am folosit principiul metodei este numit din nou propagare.

Pe scurt: apreciați modul în care rețeaua a fost greșit, și de a schimba greutatea valorilor de intrare (numărul de albastru pe prima imagine).

Procesul merge de la capăt la început, așa cum vom începe cu capătul de rețea (uita-te la modul în care rețeaua se abate de la adevăr ghici) și se deplasează înapoi, schimbând modul în care greutatea până când vom ajunge la intrarea. Pentru a calcula toate acestea manual ar necesita cunostinte de analiza matematica. Khan Academy oferă cursuri de bune pe analiza matematica, dar am studiat la universitate. De asemenea, este posibil să nu deranjeze și să utilizeze bibliotecile care vor conta tot Matan pentru tine.

Noi studiem rețele neuronale în patru etape

Captură de ecran conducerea lui Matt Mazur backpropagare.

Iată trei surse care au ajutat-mi face sens al acestei metode:

Pasul 4: Crearea rețelei neuronale

Când citiți diferitele articole și vă ghidează într-un fel sau altul va scrie rețele neuronale mici. Recomanda exact ce să facă, pentru că - o metodă foarte eficientă de învățare.

Un alt articol de util a fost o rețea neuronală în 11 linii de Python de la IAmTrask. Acesta conține o cantitate uimitoare de cunoștințe, comprimat până la 11 linii de cod.

Noi studiem rețele neuronale în patru etape

Captură de ecran de orientare de la IAmTrask

După citirea acestui articol ar trebui să scrie punerea în aplicare a tuturor le exemple. Acest lucru vă va ajuta să închidă gaura în cunoaștere, și atunci când reușești, vei simți ca și în cazul în care superputeri dobândite.

Ca și în exemplele de punere în aplicare de multe ori se desfasoare cu calcul vectorial, recomand sa ia un curs în algebra liniară de Coursera.

Puteți citi apoi manualul Wild ML de la Denny Britz. care sa ocupat cu rețele neuronale este mai dificil.

Noi studiem rețele neuronale în patru etape

Captură de ecran ghid WildML

Acum puteți încerca să scrie propria rețea neuronale, sau să experimenteze deja scrise. Foarte amuzant pentru a căuta setul dvs. de date și a testa diferite ipoteze folosind rețele.

Pentru a căuta un set bun de date pot vizita site-ul meu Datasets.co și alege unde este cazul.

Oricum, acum mai bine începe să experimenteze decât să asculte de sfatul meu. Personal, eu sunt acum de învățare Python-bibliotecă pentru programare rețele neuronale, cum ar fi Theano. Lasagna și nolearn.