ciot Ce este Deep Learning? (2024) - Unite.AI
Conectează-te cu noi
Masterclass AI:

AI 101

Ce este Deep Learning?

mm
Actualizat on

Învățarea profundă este unul dintre cele mai influente și cu cea mai rapidă creștere în domeniul inteligenței artificiale. Cu toate acestea, obținerea unei înțelegeri intuitive a învățării profunde poate fi dificilă, deoarece termenul de învățare profundă acoperă o varietate de algoritmi și tehnici diferiți. Învățarea profundă este, de asemenea, o subdisciplină a învățării automate în general, așa că este important să înțelegem ce este învățarea automată pentru a înțelege învățarea profundă.

Ce este învățarea automată?

Invatare profunda este o extensie a unora dintre conceptele care provin din învățarea automată, așa că, din acest motiv, să ne luăm un minut pentru a explica ce este învățarea automată.

Mai simplu, învățarea automată este o metodă de a permite computerelor să îndeplinească sarcini specifice fără a codifica în mod explicit fiecare linie a algoritmilor utilizați pentru a îndeplini acele sarcini. Există mulți algoritmi diferiți de învățare automată, dar unul dintre cei mai des utilizați algoritmi este a perceptron multistrat. Un perceptron multistrat este, de asemenea, denumit o rețea neuronală și este compus dintr-o serie de noduri/neuroni legați împreună. Există trei straturi diferite într-un perceptron multistrat: stratul de intrare, stratul ascuns și stratul de ieșire.

Stratul de intrare preia datele în rețea, unde sunt manipulate de nodurile din stratul mijlociu/ascuns. Nodurile din stratul ascuns sunt funcții matematice care pot manipula datele provenite din stratul de intrare, extragând modele relevante din datele de intrare. Așa „învață” rețeaua neuronală. Rețelele neuronale își iau numele de la faptul că sunt inspirate de structura și funcția creierului uman.

Conexiunile dintre nodurile din rețea au valori numite ponderi. Aceste valori sunt în esență ipoteze despre modul în care datele dintr-un strat sunt legate de datele din stratul următor. Pe măsură ce rețeaua se antrenează, ponderile sunt ajustate, iar scopul este ca ponderile/ipotezele despre date să convergă în cele din urmă către valori care reprezintă cu exactitate modelele semnificative din date.

Funcțiile de activare sunt prezente în nodurile rețelei, iar aceste funcții de activare transformă datele într-un mod neliniar, permițând rețelei să învețe reprezentări complexe ale datelor. Funcțiile de activare înmulțesc valorile de intrare cu valorile ponderii și adaugă un termen de părtinire.

Ce este Deep Learning?

Învățarea profundă este termenul dat arhitecturilor de învățare automată care unesc multe perceptroni multistrat, astfel încât să existe nu doar un strat ascuns, ci multe straturi ascunse. Cu cât este mai „profundă” rețeaua neuronală profundă, cu atât rețeaua poate învăța modele mai sofisticate.

Rețelele de nivel profund compuse din neuroni sunt uneori denumite rețele complet conectate sau straturi complet conectate, făcând referire la faptul că un anumit neuron menține o conexiune cu toți neuronii din jurul lui. Rețelele complet conectate pot fi combinate cu alte funcții de învățare automată pentru a crea diferite arhitecturi de învățare profundă.

Diferite tipuri de învățare profundă

Există o varietate de arhitecturi de învățare profundă utilizate de cercetători și ingineri, iar fiecare dintre diferitele arhitecturi are propriul său caz de utilizare de specialitate.

Rețele neuronale convoluționale

Rețele neuronale convoluționale, sau CNN-urile, sunt arhitectura rețelei neuronale utilizate în mod obișnuit în crearea sistemelor de viziune computerizată. Structura rețelelor neuronale convoluționale le permite să interpreteze datele de imagine, transformându-le în numere pe care o rețea complet conectată le poate interpreta. Un CNN are patru componente majore:

  • Straturi convoluționale
  • Straturi de subeșantionare/pooling
  • Funcții de activare
  • Straturi complet conectate

Straturile convoluționale sunt cele care preiau imaginile ca intrări în rețea, analizând imaginile și obținând valorile pixelilor. Subeșantionarea sau gruparea este locul în care valorile imaginii sunt convertite/reduse pentru a simplifica reprezentarea imaginilor și a reduce sensibilitatea filtrelor de imagine la zgomot. Funcțiile de activare controlează modul în care datele circulă de la un strat la următorul strat, iar straturile complet conectate sunt cele care analizează valorile care reprezintă imaginea și învață modelele deținute în acele valori.

RNN-uri/LSTM-uri

Rețele neuronale recurente, sau RNN-urile, sunt populare pentru sarcinile în care ordinea datelor contează, unde rețeaua trebuie să învețe despre o secvență de date. RNN-urile sunt aplicate în mod obișnuit la probleme precum procesarea limbajului natural, deoarece ordinea cuvintelor contează atunci când se decodifică sensul unei propoziții. Partea „recurentă” a termenului de rețea neuronală recurentă provine din faptul că ieșirea pentru un anumit element într-o secvență depinde de calculul anterior, precum și de calculul curent. Spre deosebire de alte forme de rețele neuronale profunde, RNN-urile au „amintiri”, iar informațiile calculate la diferiții pași de timp din secvență sunt folosite pentru a calcula valorile finale.

Există mai multe tipuri de RNN, inclusiv RNN-uri bidirecționale, care iau în considerare articolele viitoare din succesiune, pe lângă elementele anterioare, atunci când calculează valoarea unui articol. Un alt tip de RNN este a Memoria pe termen lung, sau LSTM, rețea. LSTM-urile sunt tipuri de RNN care pot gestiona lanțuri lungi de date. RNN-urile obișnuite pot cădea victimele a ceva numit „problema gradientului exploziv”. Această problemă apare atunci când lanțul de date de intrare devine extrem de lung, dar LSTM-urile au tehnici pentru a combate această problemă.

Autoencoderi

Cele mai multe dintre arhitecturile de învățare profundă menționate până acum sunt aplicate problemelor de învățare supravegheată, mai degrabă decât sarcinilor de învățare nesupravegheate. Codificatoarele automate sunt capabile să transforme datele nesupravegheate într-un format supravegheat, permițând utilizarea rețelelor neuronale pentru problema.

Autoencoderi sunt frecvent utilizate pentru a detecta anomalii în seturile de date, un exemplu de învățare nesupravegheată, deoarece natura anomaliei nu este cunoscută. Astfel de exemple de detectare a anomaliilor includ detectarea fraudelor pentru instituțiile financiare. În acest context, scopul unui autoencoder este de a determina o linie de bază a modelelor regulate în date și de a identifica anomalii sau valori aberante.

Structura unui autoencoder este adesea simetrică, cu straturi ascunse dispuse astfel încât ieșirea rețelei să semene cu intrarea. Cele patru tipuri de codificatoare automate care sunt utilizate frecvent sunt:

  • Autoencodere obișnuite/ simple
  • Encodere multistrat
  • Codificatoare convoluționale
  • Encodere regulate

Autoencoderele obișnuite / simple sunt doar rețele neuronale cu un singur strat ascuns, în timp ce autoencoderele multistrat sunt rețele profunde cu mai mult de un strat ascuns. Autoencoderele convoluționale folosesc straturi convoluționale în loc de, sau în plus față de, straturi complet conectate. Autoencoderele regulate folosesc un tip specific de funcție de pierdere care permite rețelei neuronale să efectueze funcții mai complexe, alte funcții decât copiarea intrărilor la ieșiri.

Retele adversare generative

Rețele contradictorii generative (GAN) sunt de fapt mai multe rețele neuronale profunde în loc de o singură rețea. Două modele de învățare profundă sunt antrenate în același timp, iar rezultatele lor sunt transmise celeilalte rețele. Rețelele sunt în competiție între ele și, deoarece au acces una la datele de ieșire ale celeilalte, ambele învață din aceste date și se îmbunătățesc. Cele două rețele joacă în esență un joc de contrafacere și detecție, în care modelul generativ încearcă să creeze noi instanțe care să păcălească modelul detectiv/discriminator. GAN-urile au devenit populare în domeniul viziunii computerizate.

Rezumatul învățării profunde

Învățarea profundă extinde principiile rețelelor neuronale pentru a crea modele sofisticate care pot învăța modele complexe și pot generaliza aceste modele la seturile de date viitoare. Rețelele neuronale convoluționale sunt folosite pentru a interpreta imagini, în timp ce RNN-urile/LSTM-urile sunt folosite pentru a interpreta date secvențiale. Codificatoarele automate pot transforma sarcinile de învățare nesupravegheate în sarcini de învățare supravegheate. În cele din urmă, GAN-urile sunt mai multe rețele care se confruntă unele cu altele, care sunt utile în special pentru sarcinile de viziune computerizată.

Blogger și programator cu specialități în Invatare mecanica și Invatare profunda subiecte. Daniel speră să-i ajute pe alții să folosească puterea AI pentru binele social.