De ani de zile, învățarea profundă a făcut prima pagină a ziarelor în domeniul tehnologiei. Și, este simplu de înțeles de ce.
Această ramură a inteligenței artificiale transformă sectoare, de la asistență medicală la servicii bancare și la transport, permițând progrese până acum de neconceput.
Învățarea profundă este construită pe un set de algoritmi sofisticați care învață să extragă și să prezică modele complicate din volume masive de date.
Ne vom uita la cei mai buni 15 algoritmi de învățare profundă în această postare, de la rețele neuronale convoluționale la rețele adversare generative până la rețele de memorie pe termen scurt.
Această postare vă va oferi informații esențiale dacă sunteți un începător sau expert în deep learning.
1. Rețele de transformatoare
Rețelele de transformatoare s-au transformat viziunea computerului și aplicații de procesare a limbajului natural (NLP). Ei analizează datele primite și folosesc procese de atenție pentru a capta relații pe termen lung. Acest lucru le face mai rapide decât modelele convenționale secvență la secvență.
Rețelele de transformatoare au fost descrise pentru prima dată în publicația „Atenția este tot ce aveți nevoie” de Vaswani și colab.
Ele constau dintr-un encoder și un decodor (2017). Modelul de transformator a demonstrat performanță într-o varietate de aplicații NLP, inclusiv Analiza sentimentului, categorizarea textului și traducerea automată.
Modelele bazate pe transformatoare pot fi utilizate și în viziunea computerizată pentru aplicații. Pot efectua recunoașterea obiectelor și subtitrărea imaginilor.
2. Rețele de memorie pe termen lung (LSTM)
Rețelele de memorie pe termen scurt (LSTM) sunt o formă de rețele neuronale construit special pentru a gestiona intrarea secvențială. Acestea sunt denumite „pe termen lung și scurt”, deoarece își pot aminti cunoștințele de cu mult timp în urmă, uitând și informațiile inutile.
LSTM-urile operează prin niște „porți” care guvernează fluxul de informații în interiorul rețelei. În funcție de faptul că informația este considerată semnificativă sau nu, aceste porți fie o pot lăsa să intre, fie o pot preveni.
Această tehnică permite LSTM-urilor să-și amintească sau să uite informații din pașii de timp anteriori, ceea ce este esențial pentru sarcini precum recunoașterea vorbirii, procesarea limbajului natural și predicția serii cronologice.
LSTM-urile sunt extrem de benefice în orice caz în care aveți date secvențiale care trebuie evaluate sau prognozate. Ele sunt adesea folosite în software-ul de recunoaștere a vocii pentru a converti cuvintele rostite în text sau în bursa de valori analiză pentru a prognoza prețurile viitoare pe baza datelor anterioare.
3. Hărți autoorganizate (SOM)
SOM-urile sunt un fel de artificiale rețea neuronală care poate învăța și reprezintă date complicate într-un mediu cu dimensiuni reduse. Metoda funcționează prin transformarea datelor de intrare cu dimensiuni mari într-o grilă bidimensională, fiecare unitate sau neuron reprezentând o parte diferită a spațiului de intrare.
Neuronii sunt legați împreună și creează o structură topologică, permițându-le să învețe și să se adapteze la datele de intrare. Deci, SOM se bazează pe învățare nesupravegheată.
Algoritmul nu are nevoie date etichetate din care să înveți. În schimb, folosește caracteristicile statistice ale datelor de intrare pentru a descoperi modele și corelații între variabile.
În timpul etapei de antrenament, neuronii concurează pentru a fi cel mai bun indicator al datelor de intrare. Și, se auto-organizează într-o structură semnificativă. SOM-urile au o gamă largă de aplicații, inclusiv recunoașterea imaginilor și a vorbirii, extragerea datelor și recunoașterea modelelor.
Sunt utile pentru vizualizarea datelor complicate, gruparea punctelor de date asociate și detectarea anomaliilor sau a valorii aberante.
4. Învățare prin consolidare profundă
adâncime Consolidarea învățării este un fel de învățare automată în care un agent este antrenat să ia decizii bazate pe un sistem de recompense. Funcționează permițând agentului să interacționeze cu mediul înconjurător și să învețe prin încercare și eroare.
Agentul este recompensat pentru fiecare acțiune pe care o face, iar scopul său este să învețe cum să-și optimizeze beneficiile în timp. Acest lucru poate fi folosit pentru a-i învăța pe agenți să joace jocuri, să conducă mașini și chiar să gestioneze roboți.
Q-Learning este o metodă bine-cunoscută de învățare prin consolidare profundă. Funcționează prin evaluarea valorii efectuării unei anumite acțiuni într-o anumită stare și actualizarea acestei estimări pe măsură ce agentul interacționează cu mediul.
Agentul utilizează apoi aceste estimări pentru a determina care acțiune este cel mai probabil să aibă ca rezultat cea mai mare recompensă. Q-Learning a fost folosit pentru a educa agenții să joace jocuri Atari, precum și pentru a îmbunătăți utilizarea energiei în centrele de date.
Deep Q-Networks este o altă renumită metodă Deep Reinforcement Learning (DQN). DQN-urile sunt similare cu Q-Learning prin faptul că estimează valorile acțiunii folosind o rețea neuronală profundă, mai degrabă decât un tabel.
Acest lucru le permite să se ocupe de setări uriașe și complicate cu numeroase acțiuni alternative. DQN-urile au fost folosite pentru a antrena agenți să joace jocuri precum Go și Dota 2, precum și pentru a crea roboți care pot învăța să meargă.
5. Rețele neuronale recurente (RNN)
RNN-urile sunt un fel de rețea neuronală care poate procesa date secvențiale păstrând în același timp o stare internă. Considerați-l similar cu o persoană care citește o carte, în care fiecare cuvânt este digerat în raport cu cei care au apărut înaintea lui.
Prin urmare, RNN-urile sunt ideale pentru sarcini precum recunoașterea vorbirii, traducerea limbii și chiar prognozarea următorului cuvânt dintr-o frază.
RNN-urile funcționează folosind bucle de feedback pentru a conecta ieșirea fiecărui pas de timp înapoi la intrarea pasului de timp următor. Acest lucru permite rețelei să utilizeze informațiile anterioare despre pasul de timp pentru a-și informa previziunile pentru pașii de timp viitori. Din păcate, acest lucru înseamnă, de asemenea, că RNN-urile sunt vulnerabile la problema gradientului care dispare, în care gradienții utilizați pentru antrenament devin foarte mici și rețeaua se luptă să învețe relații pe termen lung.
În ciuda acestei constrângeri aparente, RNN-urile și-au găsit utilizare într-o gamă largă de aplicații. Aceste aplicații includ procesarea limbajului natural, recunoașterea vorbirii și chiar producția muzicală.
Traducerea Google, de exemplu, folosește un sistem bazat pe RNN pentru a traduce în diferite limbi, în timp ce Siri, asistentul virtual, utilizează un sistem bazat pe RNN pentru a detecta vocea. RNN-urile au fost, de asemenea, folosite pentru a prognoza prețurile acțiunilor și pentru a crea text și grafice realiste.
6. Rețele de capsule
Capsule Networks este un nou tip de design de rețea neuronală care poate identifica mai eficient modelele și corelațiile în date. Ei organizează neuronii în „capsule” care codifică anumite aspecte ale unei intrări.
Astfel ei pot face predicții mai precise. Rețelele de capsule extrag proprietăți progresiv complicate din datele de intrare utilizând numeroase straturi de capsule.
Tehnica Capsule Networks le permite să învețe reprezentări ierarhice ale intrării date. Ele pot codifica corect conexiunile spațiale între elementele din interiorul unei imagini prin comunicarea între capsule.
Identificarea obiectelor, segmentarea imaginilor și procesarea limbajului natural sunt toate aplicații ale Rețelelor Capsule.
Rețelele capsule au potențialul de a fi angajate în conducere autonomă tehnologii. Ele ajută sistemul să recunoască și să facă distincția între elemente precum automobile, oameni și semne de circulație. Aceste sisteme pot evita coliziunile făcând predicții mai precise despre comportamentul obiectelor în mediul lor.
7. Autoencodere variaționale (VAE)
VAE-urile sunt o formă de instrument de învățare profundă care este folosită pentru învățarea nesupravegheată. Codând datele într-un spațiu de dimensiuni inferioare și apoi decodându-le înapoi în formatul original, ei pot învăța să identifice modele în date.
Sunt ca un magician care poate transforma un iepure într-o pălărie și apoi înapoi într-un iepuraș! VAE-urile sunt benefice pentru generarea de imagini sau muzică realiste. Și pot fi folosite pentru a produce date noi care sunt comparabile cu datele originale.
VAE sunt similare cu secret codebreaker. Ei pot descoperi baza structura datelor defalcându-l în bucăți mai simple, la fel ca cum este defalcat un puzzle. Ei pot utiliza aceste informații pentru a construi date noi care arată ca originalele după ce au sortat piesele.
Acest lucru poate fi util pentru comprimarea fișierelor enorme sau pentru producerea de grafică proaspătă sau muzică într-un anumit stil. VAE-urile pot produce, de asemenea, conținut proaspăt, cum ar fi știri sau versuri muzicale.
8. Rețele generative adversare (GAN)
GAN-urile (Generative Adversarial Networks) sunt o formă de sistem de învățare profundă care generează date noi care seamănă cu originalul. Aceștia funcționează prin antrenarea a două rețele: un generator și o rețea discriminatoare.
Generatorul produce date noi care sunt comparabile cu cele originale.
Și, discriminatorul încearcă să facă distincția între datele originale și cele create. Cele două rețele sunt antrenate în tandem, generatorul încercând să înșele discriminatorul și discriminatorul încercând să identifice corect datele originale.
Considerați GAN-urile ca fiind o încrucișare între un falsificator și un detectiv. Generatorul funcționează similar cu un falsificator, producând noi lucrări de artă care seamănă cu originalul.
Discriminatorul acționează ca un detectiv, încercând să facă distincția între opera de artă autentică și fals. Cele două rețele sunt antrenate în tandem, generatorul îmbunătățindu-se în a face falsuri plauzibile și discriminatorul îmbunătățindu-se la recunoașterea lor.
GAN-urile au mai multe utilizări, de la producerea de imagini realiste ale oamenilor sau animalelor până la crearea de muzică sau scriere nouă. Ele pot fi utilizate și pentru creșterea datelor, care implică combinarea datelor produse cu date reale pentru a construi un set de date mai mare pentru antrenarea modelelor de învățare automată.
9. Deep Q-Networks (DQN)
Deep Q-Networks (DQN) sunt un fel de algoritm de învățare pentru consolidarea procesului decizional. Aceștia operează prin învățarea unei funcții Q care prezice recompensa așteptată pentru realizarea unei anumite acțiuni într-o anumită condiție.
Funcția Q este predată prin încercare și eroare, algoritmul încercând diverse acțiuni și învățând din rezultate.
Consideră-l ca un joc video personaj experimentând diverse acțiuni și descoperind care dintre ele duc la succes! DQN-urile antrenează funcția Q folosind o rețea neuronală profundă, făcându-le instrumente eficiente pentru sarcini dificile de luare a deciziilor.
Ei au învins chiar campioni umani în jocuri precum Go și șah, precum și în robotică și autoturisme. Deci, per total, DQN-urile lucrează învățând din experiență pentru a-și îmbunătăți abilitățile de luare a deciziilor în timp.
10. Rețele cu funcție de bază radială (RBFN)
Rețelele cu funcție de bază radială (RBFN) sunt un fel de rețea neuronală care este utilizată pentru a aproxima funcții și pentru a îndeplini sarcini de clasificare. Acestea funcționează prin transformarea datelor de intrare într-un spațiu de dimensiuni mai mari folosind o colecție de funcții de bază radială.
Ieșirea rețelei este o combinație liniară a funcțiilor de bază, iar fiecare funcție de bază radială reprezintă un punct central în spațiul de intrare.
RBFN-urile sunt deosebit de eficiente pentru situații cu interacțiuni complicate de intrare-ieșire și pot fi predate folosind o gamă largă de tehnici, inclusiv învățarea supravegheată și nesupravegheată. Au fost folosite pentru orice, de la previziuni financiare la recunoașterea imaginilor și a vorbirii până la diagnostice medicale.
Considerați RBFN-urile ca pe un sistem GPS care utilizează o serie de puncte de ancorare pentru a-și găsi drumul pe un teren dificil. Ieșirea rețelei este o combinație a punctelor de ancorare, care înlocuiesc funcțiile de bază radială.
Putem răsfoi informații complicate și genera predicții precise despre cum se va arăta un scenariu prin folosirea RBFN-urilor.
11. Perceptroni multistrat (MLP)
O formă tipică de rețea neuronală numită perceptron multistrat (MLP) este utilizată pentru sarcini de învățare supravegheată, cum ar fi clasificarea și regresia. Ele funcționează prin stivuirea mai multor straturi de noduri conectate sau neuroni, fiecare strat modificând neliniar datele primite.
Într-un MLP, fiecare neuron primește input de la neuronii din stratul de dedesubt și trimite un semnal neuronilor din stratul de deasupra. Ieșirea fiecărui neuron este determinată folosind o funcție de activare, care conferă rețelei neliniaritate.
Sunt capabili să învețe reprezentări sofisticate ale datelor de intrare, deoarece pot avea mai multe straturi ascunse.
MLP-urile au fost aplicate la o varietate de sarcini, cum ar fi analiza sentimentelor, detectarea fraudelor și recunoașterea vocii și a imaginilor. MLP-urile pot fi comparate cu un grup de anchetatori care lucrează împreună pentru a rezolva un caz dificil.
Împreună, ei pot reuni faptele și rezolva crima, în ciuda faptului că fiecare are un anumit domeniu de specialitate.
12. Rețele neuronale convoluționale (CNN)
Imaginile și videoclipurile sunt procesate folosind rețele neuronale convoluționale (CNN), o formă de rețea neuronală. Ele funcționează prin utilizarea unui set de filtre care pot fi învățate, sau nuclee, pentru a extrage caracteristici semnificative din datele de intrare.
Filtrele alunecă peste imaginea de intrare, executând convoluții pentru a construi o hartă a caracteristicilor care surprinde aspecte esențiale ale imaginii.
Deoarece CNN-urile sunt capabile să învețe reprezentări ierarhice ale caracteristicilor imaginii, acestea sunt deosebit de utile pentru situații care implică volume enorme de date vizuale. Mai multe aplicații le-au folosit, cum ar fi detectarea obiectelor, clasificarea imaginilor și detectarea feței.
Considerați CNN-urile ca pe un pictor care folosește mai multe pensule pentru a crea o capodoperă. Fiecare pensulă este un nucleu, iar artistul poate construi o imagine complexă, realistă, amestecând mai multe sâmburi. Putem extrage caracteristici semnificative din fotografii și le putem utiliza pentru a prognoza cu precizie conținutul imaginii, utilizând CNN-uri.
13. Rețele de credință profundă (DBN)
DBN-urile sunt o formă de rețea neuronală care este utilizată pentru sarcini de învățare nesupravegheate, cum ar fi reducerea dimensionalității și învățarea caracteristicilor. Ele funcționează prin stivuirea mai multor straturi de mașini Boltzmann restricționate (RBM), care sunt rețele neuronale cu două straturi capabile să învețe să reconstituie datele de intrare.
DBN-urile sunt foarte benefice pentru problemele de date cu dimensiuni mari, deoarece pot învăța o reprezentare compactă și eficientă a intrării. Ele au fost utilizate pentru orice, de la recunoașterea vocii la clasificarea imaginilor la descoperirea medicamentelor.
De exemplu, cercetătorii au folosit un DBN pentru a estima afinitatea de legare a candidaților medicamente de receptorul de estrogen. DBN a fost instruit pe o colecție de caracteristici chimice și afinități de legare și a fost capabil să prezică cu exactitate afinitatea de legare a noilor candidați la medicamente.
Acest lucru evidențiază utilizarea DBN-urilor în dezvoltarea de medicamente și alte aplicații de date cu dimensiuni înalte.
14. Autoencodere
Autoencoders sunt rețele neuronale care sunt utilizate pentru sarcini de învățare nesupravegheate. Acestea sunt destinate să reconstruiască datele de intrare, ceea ce implică faptul că vor învăța să codifice informațiile într-o reprezentare compactă și apoi să o decodeze înapoi în intrarea originală.
Codificatoarele automate sunt foarte eficiente pentru compresia datelor, eliminarea zgomotului și detectarea anomaliilor. Ele pot fi, de asemenea, utilizate pentru învățarea caracteristicilor, unde reprezentarea compactă a autoencoderului este introdusă într-o sarcină de învățare supravegheată.
Considerați că autoencoderele sunt studenți care iau notițe în clasă. Studentul ascultă prelegerea și notează cele mai relevante puncte într-o manieră concisă și eficientă.
Mai târziu, elevul poate studia și își poate aminti lecția folosind notițele sale. Un autoencoder, pe de altă parte, codifică datele de intrare într-o reprezentare compactă care poate fi utilizată ulterior în diferite scopuri, cum ar fi detectarea anomaliilor sau comprimarea datelor.
15. Mașini Boltzmann cu restricții (RBM)
RBM-urile (Restricted Boltzmann Machines) sunt un fel de rețea neuronală generativă care este folosită pentru sarcini de învățare nesupravegheate. Ele sunt formate dintr-un strat vizibil și un strat ascuns, cu neuroni în fiecare strat, legați, dar nu în cadrul aceluiași strat.
RBM-urile sunt antrenate folosind o tehnică cunoscută sub numele de divergență contrastiva, care presupune modificarea greutăților dintre straturile vizibile și ascunse pentru a optimiza probabilitatea datelor de antrenament. RBM-urile pot crea date noi după ce au fost instruite prin eșantionare din distribuția învățată.
Recunoașterea imaginilor și a vorbirii, filtrarea colaborativă și detectarea anomaliilor sunt toate aplicațiile care au folosit RBM-uri. Ele au fost, de asemenea, utilizate în sistemele de recomandare pentru a crea recomandări personalizate prin învățarea tiparelor din comportamentul utilizatorului.
RBM-urile au fost, de asemenea, folosite în învățarea caracteristicilor pentru a crea o reprezentare compactă și eficientă a datelor cu dimensiuni mari.
Concluzie și evoluții promițătoare la orizont
Metodele de învățare profundă, cum ar fi rețelele neuronale convoluționale (CNN) și rețelele neuronale recurente (RNN), sunt printre cele mai avansate abordări ale inteligenței artificiale. CNN-urile au transformat recunoașterea imaginilor și audio, în timp ce RNN-urile au avansat semnificativ în procesarea limbajului natural și analiza secvenţială a datelor.
Următorul pas în evoluția acestor abordări se va concentra probabil pe îmbunătățirea eficienței și scalabilității lor, permițându-le să analizeze seturi de date mai mari și mai complicate, precum și pe îmbunătățirea interpretării și a capacității lor de a învăța din date mai puțin etichetate.
Învățarea profundă are posibilitatea de a permite descoperiri în domenii precum sănătatea, finanțele și sistemele autonome pe măsură ce avansează.
Lasă un comentariu