Invatare profunda

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

„Învățarea profundă (în engleză deep learning) este domeniul de cercetare al„ învățării automate (în engleză machine learning) și „ inteligenței artificiale care se bazează pe diferite niveluri de reprezentare, corespunzătoare ierarhiilor caracteristicilor factorilor sau conceptelor, unde conceptele de nivel sunt definite pe baza celor de nivel scăzut. Cu alte cuvinte, conform definiției Observatorului de Inteligență Artificială al Politecnico di Milano , prin învățare profundă ne referim la un set de tehnici bazate pe rețele neuronale artificiale organizate în diferite straturi , unde fiecare strat calculează valorile pentru următorul astfel încât informațiile să fie elaborate într-un mod tot mai complet [1] .

Arhitecturile de învățare profundă includ rețele neuronale profunde, convoluția rețelelor neuronale profunde, rețelele de convingeri profunde și rețelele neuronale recursive, care au fost aplicate în viziunea computerizată, recunoașterea automată a vorbirii, procesarea limbajului natural, în recunoașterea audio și bioinformatică. „Învățare profundă” este un termen faimos astăzi care readuce la viață conceptul de rețea neuronală.

Introducere

Definiții

Învățarea profundă este definită ca o clasă de algoritmi de învățare automată care [2] :

  • folosesc diferite niveluri de cascadă de unități neliniare pentru a realiza caracteristica sarcini de extracție și de transformare. Fiecare nivel ulterior folosește ieșirea nivelului anterior ca intrare. Algoritmii pot fi atât supravegheați, cât și nesupravegheați, iar aplicațiile includ analiza tiparului (învățare nesupravegheată) și clasificare (învățare supravegheată).
  • se bazează pe învățarea nesupravegheată a mai multor niveluri ierarhice ale caracteristicilor (și reprezentărilor) datelor. Caracteristicile de nivel superior sunt derivate din caracteristicile de nivel inferior pentru a crea o reprezentare ierarhică.
  • fac parte din clasa mai mare de algoritmi de învățare a reprezentării datelor în cadrul învățării automate .
  • ei învață mai multe niveluri de reprezentare care corespund diferitelor niveluri de abstractizare; aceste niveluri formează o ierarhie a conceptelor.

Aceste definiții au în comun: (1) niveluri multiple de unități neliniare și (2) învățare (supravegheată sau nesupravegheată) la fiecare nivel de reprezentare caracteristică, unde nivelurile formează ele însele o ierarhie de caracteristici [2] . Compoziția fiecărui nivel de unități neliniare utilizate într-un algoritm de învățare profundă depinde de problema de rezolvat. În învățarea profundă, pot fi utilizate straturi ascunse ale unei rețele neuronale artificiale și seturi de formule propoziționale [3] .

Istoria învățării profunde

Primele studii asupra rețelelor neuronale multistrat au fost produse de omul de știință japonez Kunihiko Fukushima care, odată cu modelul cognitronului din 1975 și ulterior al neo-cognitronului [4] , a introdus ideea zonei de conexiune pentru neuronii dezvoltați în convoluțional. rețele neuronale.

Studiul rețelelor neuronale artificiale multistrat s-a dezvoltat încă din anii 1980, dar utilitatea lor într-o gamă largă de sectoare și aplicații este demonstrată doar în ultimul deceniu. Mai precis, succesul recent al învățării profunde se datorează depășirii unor obstacole care, în trecut, împiedicau obținerea rezultatelor așteptate, cum ar fi lipsa de date sau capacitatea de calcul adecvată. De fapt, astăzi datele disponibile au crescut , au fost dezvoltate sisteme de calcul paralel bazate pe GPU și, mai presus de toate, au fost optimizate metodele de instruire ale rețelelor neuronale, care astăzi pot găsi soluții la problemele care, în trecut, împiedicau cercetătorii să obțină satisfăcătoare rezultate.

Astăzi, sistemele de învățare profundă, printre alte utilități, vă permit să:

  • identifică obiecte din imagini și videoclipuri;
  • transcrie vorbirea în text;
  • identifică și interpretează interesele utilizatorilor online, arătând cele mai relevante rezultate pentru cercetarea lor.

Datorită acestor soluții și a altor soluții, învățarea profundă se confruntă cu ani de progrese rapide, mergând chiar până când, în multe cazuri, depășește performanța ființelor umane. Gândiți-vă doar la aplicarea algoritmilor de învățare profundă în contextul problemelor de luare a deciziilor secvențiale , în cadrul învățării consolidate : un caz exemplar a fost dezvoltarea AlphaGo , un software care în 2016 l-a învins pe campionul mondial Go, cu câțiva ani înaintea experților prognozele. [1]

Arhitecturi

Rețele neuronale profunde

Rețele neuronale convoluționale

Convolution Neural Network (CNN) este o metodă de alegere pentru prelucrarea datelor vizuale și a datelor 2D. Un CNN este format din unul sau mai multe straturi convoluționale cu straturi ascendente complet conectate. De asemenea, folosește greutăți și straturi comune (stratul de pooling). În special, „max-pooling” este adesea utilizat în arhitectura convoluțională din Fukushima. Această arhitectură permite CNN-urilor să profite de structurile de intrare 2D. Sunt deosebit de eficiente în domeniul imaginilor și al recunoașterii vorbirii. De asemenea, pot fi instruiți cu propagarea înapoi standard. Ele sunt, de asemenea, mai ușor de antrenat decât alte rețele neuronale profunde sau avansate și au mult mai puțini parametri de estimat. Un program CNN este DeepDream de la Google [5] .

Rețele neuronale recursive

Rețelele neuronale recurente (RNN) se nasc cu încercarea de a completa rețelele neuronale Turing prin adăugarea unei componente de memorie. Rețelele neuronale feed-forward răspund constant la aceleași intrări, dar fără a putea face conexiuni între intrări diferite, așa cum ar putea fi util în domeniul semanticii. Rețelele neuronale recursive, pe de altă parte, cântăresc fiecare intrare pe baza stării anterioare și aceeași intrare ar putea da ieșiri diferite în funcție de contextul în care este inserată. În ciuda acestui fapt, RNN-urile, cu excepția cazului în care sunt inserate elemente aleatorii, rămân rețele deterministe, deoarece aceeași secvență de intrare va duce întotdeauna la aceeași secvență de ieșire . Starea unui RNN este implementată prin adăugarea la un strat de neuroni recursivi care va avea ca valoare la fiecare moment de timp valoarea instantului anterior adăugată la o variație dată de intrările neuronilor feed-forward.

Rețelele neuronale de acest tip devin imposibil de antrenat din cauza propagării înapoi a erorii , prin urmare, este folosit ca stratagemă pentru a efectua recursiunile luând în considerare funcționarea lor pentru fiecare moment de timp [ neclar ] .

În timp ce în cazul căilor înapoi foarte scurte, acest lucru funcționează, pentru cazurile în care este necesar să se întoarcă mai mulți pași înapoi, se întâlnește problema Gradientului de dispariție sau Gradientului exploziv dacă funcția de cost a derivat întotdeauna mai puțin de una (pentru exemplu sigmoid și tanh) sau întotdeauna mai mare decât una. De fapt, aceasta duce la o convergență la zero exponențială în primul caz și la o explozie exponențială a gradientului în al doilea. În nici un caz gradientul nu este mai calculabil chiar și după doar câțiva pași. Pentru a rezolva această problemă, ne asigurăm că folosim o funcție de redresare .

Compresor de istorie neuronală

Rețele de convingeri profunde

Autocoder stivuit

Plasa de stivuire adâncă

Plasa de stivuire adâncă a tensorului

RBM cu vârf și placă

Mașini Deep Boltzmann

Mașini cu mai multe niveluri de kernel

Structuri de memorie diferențiate LSTM corelate

Rețele Deep-Q

Aceasta este o clasă de modele de învățare profundă care utilizează Q-learning , o formă de învățare consolidată , de la Google DeepMind . Rezultatele preliminare au fost prezentate în 2014 cu un articol publicat în Nature în februarie 2015. Aplicația la care se face referire este un joc Atari 2600.

Hashing semantic

Diagnostic

În 2018, compania britanică DeepMind , Moorfield Eye Hospital și University College London au lansat un software care promite să recunoască anatomia ochiului, patologia și să sugereze medicilor un tratament sănătos adecvat. [6]
Ochiul pacientului este examinat prin intermediul unei tomografii de coerență optică care capătă imagini color de înaltă definiție, prelucrate la rândul lor de un algoritm care le compară cu baza de cunoștințe clinice, pentru a identifica diagnosticul și soluția terapeutică optimă pentru cazul specific .

Aplicații

  • Recunoașterea automată a vorbirii;
  • Recunoașterea imaginii;
  • Prelucrarea limbajului natural;
  • Descoperirea medicamentelor și a toxicologiei;
  • Managementul relatiilor cu clientii;
  • Sistem de recomandare;
  • Bioinformatică ;
  • Conducere autonomă;
  • Identificarea fraudelor;
  • Diagnostice medicale.

Biblioteci software

Notă

  1. ^ a b Observatoare de inovare digitală, descoperirea învățării profunde: semnificație, exemple și aplicații , pe blog . Osservatori.net . Adus la 30 mai 2019 .
  2. ^ a b ( EN ) L. Deng și D. Yu, Deep Learning: Methods and Applications ( PDF ), în Foundations and Trends in Signal Processing , vol. 7, nr. 3-4, 2014, pp. 1-199, DOI : 10.1561 / 2000000039 .
  3. ^ (EN) Yoshua Bengio, Learning Deep Architectures for AI (PDF), în Foundations and Trends in Machine Learning, vol. 2, nr. 1, 2009, pp. 1-127, DOI : 10.1561 / 2200000006 (arhivat din original la 4 martie 2016) .
  4. ^ (EN) Kunihiko Fukushima, Neocognitron: Un model de rețea neuronală auto-organizată pentru un mecanism de recunoaștere a modelelor neafectat de schimbarea poziției , în Biological Cybernetics, vol. 36, n. 4, 1 aprilie 1980, pp. 193–202, DOI : 10.1007 / BF00344251 . Adus 7 iunie 2020.
  5. ^ Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke și Andrew Rabinovich, Going Deeper with Convolutions , în Computing Research Repository , 2014, arXiv : 1409.4842 .
  6. ^ Marco Tonelli, inteligența artificială a DeepMind recunoaște mai mult de 50 de boli oculare , pe lastampa.it , La Stampa , 3 septembrie 2018. Accesat 26 septembrie 2019 ( arhivat 26 septembrie 2019) . Găzduit pe archive.is .
  7. ^ deeplearning4j
  8. ^ BC Ooi, K.-L. Tan, S. Wang, W. Wang, G. Chen, J. Gao, Z. Luo, AKH Tung, Y. Wang, Z. Xie, M. Zhang, K. Zheng. „SINGA: A Distributed Deep Learning Platform ”, ACM Multimedia (Open Source Software Competition) . 2015.
  9. ^ W. Wang, G. Chen, TTA Dinh, J. Gao, BC Ooi, K.-L.Tan, S. Wang. „ SINGA: Punerea învățării profunde în mâinile utilizatorilor multimedia ”, ACM Multimedia . 2015.
  10. ^ Jeff Dean și Rajat Monga, TensorFlow: învățare automată pe scară largă pe sisteme eterogene ( PDF ), TensorFlow.org , Google Research, 9 noiembrie 2015. Accesat la 10 noiembrie 2015 .

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT