Introducere în algoritmii de învățare profundă
Învățarea profundă este un pas pentru a vă apropia de Inteligența artificială, care ar putea lua decizii precum creierul uman, adică, are capacitatea de a învăța prin încercare și eroare la fel ca oamenii. Creierul uman are miliarde de neuroni (aproximativ 86 de miliarde; sursa: Wikipedia). Cu neuronii artificiali, învățarea profundă ajută, de asemenea, la imitarea minții umane. Pentru a prelucra informațiile și a lua decizia prin rețelele neuronale artificiale există unii algoritmi, numiți algoritmi de învățare profundă. Algoritmii învață în fiecare strat progresiv adică; se adaugă mai multă valoare din funcțiile din următorul strat. Un model de învățare profundă se poate potrivi dacă datele sunt mici sau incomplete sau prea simple. Algoritmii de învățare profundă sunt eficiente atunci când datele sunt vaste.
Algoritmi de învățare profundă
Pentru a crea un model de învățare profundă, trebuie să scrieți mai mulți algoritmi, să-i combinați și să creați o plasă de neuroni. Învățarea profundă are un cost de calcul mare. Pentru a ajuta modelele de învățare profundă, există platforme de învățare profundă precum fluxul Tensor, Py-Torch, Chainer, Keras etc. model de învățare profundă. Conectăm aceste unități de perceptron împreună pentru a crea o rețea neuronală, are 3 secțiuni:
- Stratul de intrare
- Straturi ascunse
- Stratul de ieșire
Un perceptron are noduri de intrare (dendrite în creierul uman), o funcție de acționare pentru a lua o decizie mică și a nodurilor de ieșire (axon în creierul uman). Vom vedea cum funcționează un perceptron, conectându-le împreună va crea un model de învățare profundă. Informațiilor de intrare (numărul de variabile / caracteristici de intrare) li se atribuie o anumită greutate și sunt alimentate funcției de acționare. Funcția de acționare ia o decizie și trimite rezultate. Ieșirea acestui perceptron va fi introdusă altor neuroni. Odată ce lotul este procesat, se calculează eroare de backpropagation la fiecare neuron, cu ajutorul unei funcții de cost / entropie încrucișată. În acest fel, ponderile de intrare sunt reasignate și întregul proces continuă până când entropia încrucișată satisface condiția.
Avem diferite funcții de acționare, cum ar fi funcțiile Sigmoid, funcția tangentă hiperbolică, Rectified Linear Unit (ReLU), pentru a lua o mică decizie. Un model de învățare profundă are nevoie de o cantitate mare de date pentru a construi un model bun. În general, un model cu mai mult de 3 straturi ascunse este tratat ca o rețea neuronală profundă. Practic, învățarea profundă este un set de neuroni cu un număr de parametri definiți pentru fiecare strat. Pentru a crea modelul Deep Learning, arhitecturile populare sunt RNN, CNN etc.
Metode de arhitectură pentru algoritmi de învățare profundă
Pentru a construi această arhitectură se folosesc următorii algoritmi:
1. Propagarea spatelui
În acest algoritm, calculăm derivate parțiale. În general, la fiecare iterație se calculează metoda de coborâre a gradientului pentru optimizare, derivații (gradienți). În învățarea profundă funcțiile nu sunt simple, ci sunt compoziția diferitelor funcții. În acest caz, este greu să calculăm gradienți, așa că folosim diferențierea aproximativă pentru a calcula derivatele. Cu cât numărul de parametri este mai mare, cu atât va fi mai scumpă diferențierea aproximativă.
2. Coborârea gradientului Stocastic
În descendența de gradient, obiectivul este de a găsi minime globale sau o soluție optimă. Dar pentru a obține asta, trebuie să luăm în considerare și soluțiile minime locale (nu este de dorit). Dacă funcția obiectivă este o funcție convexă, este ușor de găsit minimele globale. Valoarea inițială pentru funcție și rata de învățare sunt parametrii care decid pentru a găsi minime globale. Acest lucru poate fi înțeles cu ușurință, luând în considerare un râu care vine din vârful muntelui și este în căutarea poalelor (minime globale). Dar, pe parcurs, vor exista unele coborâșuri (minime locale) care trebuie evitate. Punctul și viteza de origine a râului (valoarea inițială și rata de învățare în cazul nostru) sunt factori decisivi pentru a găsi minime globale.
3. Rata de învățare
Rata de învățare este ca viteza râului, poate reduce timpul de pregătire și crește performanța. În general, pentru a învăța orice tehnică / sport, la început rata de învățare este relativ ridicată decât la sfârșitul când cineva trebuie să o stăpânească. După etapa intermediară, învățarea va fi lentă, accentul va fi pus pe reglarea fină. Același lucru se aplică și în cazul învățării profunde, schimbările prea mari sunt abordate printr-o rată de învățare mai mare și prin scăderea lentă a ritmului de învățare ulterior pentru reglaj fin.
4. Normalizarea lotului
În învățarea profundă, valoarea inițială a greutății (aleasă la întâmplare) și în învățare, rata este definită pentru un mini-lot. La început, ar exista mai mulți valori, iar în perioada de postpropagare, aceste valori superioare trebuie compensate pentru a calcula greutățile pentru a obține rezultate. Această compensare are drept consecință epoci suplimentare. Deci, pentru a o evita, folosim normalizarea lotului.
5. Renunță
În învățarea profundă, întâlnim, în general, problema potrivirii. Suprapunerea în rețele mari cu mai mulți parametri face dificilă prezicerea datelor de testare. Așadar, pentru a evita că folosim metoda abandonului, care scade unități aleatorii în timpul antrenamentului prin crearea diferitelor „rețele subțiri”. La testarea acestor rețele subțiate sunt mediate predicțiile, ceea ce ajută la evitarea supraajustării.
6. Geanta de cuvinte
Folosim un sac continuu de cuvinte pentru a prezice următorul cuvânt. De exemplu, vedem în e-mail scrierea autosugestiunii pentru completarea propoziției face parte din NLP. Acest lucru se face luând în considerare o mulțime de propoziții și pentru un anumit cuvânt care înconjoară cuvinte capturate. Aceste cuvinte specifice și cuvintele din jur sunt alimentate rețelei neuronale. După modelul de formare, acesta poate prezice cuvântul specific pe baza cuvintelor din jur.
7. Memorie pe termen scurt
LSTM este foarte util în problemele de predicție de secvență, cum ar fi traducerea limbajului, prezicerea vânzărilor și găsirea prețului stocului. LSTM are avantaje față de alte tehnici, deoarece este capabil să ia în considerare datele anterioare. LSTM face modificări prin mecanismul stărilor celulare. Își amintește să uiți lucrurile. Cele trei aspecte principale ale LSTM o fac să iasă în evidență de alte tehnici de învățare profundă. Primul este când neuronul ar trebui să aibă o intrare, al doilea când să ne amintim datele anterioare și ce să uităm și al treilea este când să trecem la ieșire.
Concluzie
Un model de învățare profundă este un pas către replicarea minții umane. În locul neuronilor biologici, învățarea profundă folosește o rețea neuronală artificială. Învățarea profundă are costuri de calcul ridicate, care pot fi reduse prin utilizarea unor cadre de învățare profundă, cum ar fi fluxul de tensiune și Py-Torch, etc. RNN, CNN sunt metode arhitecturale pentru modelele de învățare profundă. În acest articol sunt discutați diferiți algoritmi de învățare profundă care sunt folosiți în aceste arhitecturi.
Articole recomandate
Acesta este un ghid pentru algoritmii de învățare profundă. Aici discutăm metodele arhitecturale pentru algoritmii de învățare profundă împreună cu straturile. Puteți parcurge și alte articole sugerate pentru a afla mai multe -
- Introducere în algoritmii de învățare automată
- Top 14 aplicații de învățare automată
- Inteligență artificială vs învățare automată vs învățare profundă
- Top 13 Întrebări utile și răspuns la interviu de învățare profundă