Tutorial de învățare profundă pentru începători: Bazele rețelei neuronale

⚡ Rezumat inteligent

Deep Learning este o ramură a învățării automate construită pe rețele neuronale artificiale care suprapun multe straturi ascunse, astfel încât fiecare strat învață o caracteristică mai bogată a datelor decât stratul anterior.

  • 🔘 Arhitectură stratificată: Un strat de intrare, două sau mai multe straturi ascunse și un strat de ieșire formează o rețea profundă.
  • ☑️ Signal putere: Ponderea, bias-ul și funcția de activare decid ce transmite fiecare neuron către stratul următor.
  • Bucla bifazată: O transformare neliniară produce un model, apoi o metodă bazată pe derivate îl îmbunătățește, repetată până când precizia este acceptabilă.
  • 🧪 Patru arhitecturi: Rețele feed-forward, rețele recurente, rețele convoluționale și agenți de învățare prin consolidare.
  • 🛠️ Unde se merită: Scorarea creditului în finanțe, selecția candidaților în resurse umane, analiza sentimentelor în centrele de apel în marketing.
  • ⚙️ Adevăratele limite: Costul etichetării, apetitul pentru seturi de date enorme și modele care rezistă explicațiilor în limbaj simplu.

Tutorial de învățare profundă pentru începători: Bazele rețelei neuronale

Ce este Deep Learning?

Deep Learning este un software care imită rețeaua de neuroni dintr-un creier. Este un subset al masina de învățare bazată pe rețele neuronale artificiale cu învățare prin reprezentare. Se numește învățare profundă deoarece utilizează rețele neuronale profunde. Această învățare poate fi supravegheat, semi-supravegheat sau nesupravegheați.

Algoritmii de deep learning sunt construiți cu straturi conectate, așa cum arată diagrama de mai jos.

  • Primul strat se numește Stratul de intrare
  • Ultimul strat se numește Stratul de ieșire
  • Toate straturile dintre ele se numesc straturi ascunse. Cuvântul „adânc” înseamnă că rețeaua unește neuronii de-a lungul a mai mult de două straturi.
Diagrama rețelei neuronale profunde care prezintă un strat de intrare, două straturi ascunse de neuroni și un strat de ieșire
Strat de intrare, straturi ascunse și strat de ieșire, cu conexiuni care rulează între neuroni individuali

Fiecare strat ascuns este compus din neuroni. Neuronii sunt conectați între ei. Un neuron procesează semnalul de intrare pe care îl primește și apoi propagă rezultatul către stratul superior. Intensitatea semnalului transmis unui neuron din stratul următor depinde de pondere, polarizare și funcția de activare.

Rețeaua consumă cantități mari de date de intrare și operează pe acestea prin mai multe straturi, astfel încât rețeaua poate învăța caracteristici din ce în ce mai complexe ale datelor de la fiecare strat.

Proces de învățare profundă

O rețea neuronală profundă oferă o precizie de ultimă generație în multe sarcini, de la detectarea obiectelor la recunoașterea vorbirii. Astfel de rețele pot învăța automat, fără cunoștințe predefinite codificate explicit de către programatori. În practică, un proiect de învățare profundă parcurge cinci etape:

  • Înțelegeți problema
  • Identificați datele
  • Selectați un algoritm de învățare profundă
  • Antrenează modelul
  • Testați modelul
Proces de învățare profundă în cinci etape, de la înțelegerea problemei până la testarea modelului

Cele cinci etape ale unui proiect de deep learning, de la definirea problemei până la testare

Pentru a înțelege ideea de învățare profundă, imaginați-vă o familie cu un bebeluș și părinți. Copilul mic arată spre obiecte cu degetul mic și spune întotdeauna cuvântul „pisică”. Deoarece părinții lui sunt preocupați de educația lui, aceștia îi spun încontinuu „Da, aceea este o pisică” sau „Nu, aceea nu este o pisică”. Bebelușul persistă să arate spre obiecte, dar devine mai precis cu „pisici”. Copilul mic, în adâncul sufletului, nu știe de ce poate spune că este o pisică sau nu. El a învățat pur și simplu să organizeze trăsăturile care alcătuiesc o pisică într-o ierarhie, privind animalul de companie în ansamblu și apoi concentrându-se pe detalii precum coada sau nasul înainte de a se decide.

O rețea neuronală funcționează în mare parte la fel. Fiecare strat reprezintă un nivel mai profund de cunoștințe, adică o ierarhie a cunoștințelor. O rețea neuronală cu patru straturi va învăța caracteristici mai complexe decât una cu două straturi.

Învățarea are loc în două etape:

  • Primă fază: aplicarea unei transformări neliniare a datelor de intrare și crearea unui model statistic ca rezultat.
  • A doua fază: îmbunătățirea modelului cu o metodă matematică bazată pe derivate, care este modul în care propagarea înapoi ajustează greutățile.

Rețeaua neuronală repetă aceste două faze de sute până la mii de ori, până când atinge un nivel tolerabil de precizie. Fiecare repetare a celor două faze se numește iterație.

Pentru a da un exemplu de învățare profundă, uitați-vă la animația de mai jos, în care modelul încearcă să învețe să danseze. După 10 minute de antrenament, modelul nu știe să danseze, iar rezultatul său arată ca o mâzgălitură.

Figură animată care se mișcă erratic după zece minute de antrenament de deep learning

După 48 de ore de învățare, computerul stăpânește arta dansului, așa cum arată a doua animație.

Figură animată dansând lin după patruzeci și opt de ore de antrenament de deep learning

Clasificarea rețelelor neuronale

Rețelele sunt grupate mai întâi după numărul de straturi ascunse.

Rețea neuronală superficială: Rețeaua neuronală superficială are un singur strat ascuns între intrare și ieșire.

Rețea neuronală profundă: Rețelele neuronale profunde au mai mult de un strat ascuns. De exemplu, modelul GoogLeNet pentru recunoașterea imaginilor numără 22 de straturi.

Astăzi, învățarea profundă apare în mașinile fără șofer, telefoanele mobile, Google motor de căutare, detectarea fraudelor și televiziune.

Tipuri de rețele de învățare profundă

Mai multe arhitecturi au devenit standard, fiecare modelată de tipul de date pe care le gestionează. Graficul de mai jos, publicat de Institutul Asimov, prezintă familia extinsă.

Diagramă a arhitecturilor rețelelor neuronale, inclusiv perceptron, feed forward, RBF, RNN, LSTM, GRU și autoencodere

O diagramă a arhitecturilor rețelelor neuronale, de la perceptronul unic la variantele LSTM, GRU și autoencoder

Rețele neuronale de tip feed-forward

Acesta este cel mai simplu tip de rețea neuronală artificială. Cu acest tip de arhitectură, informațiile circulă într-o singură direcție, înainte. Aceasta înseamnă că fluxul de informații începe la stratul de intrare, merge către straturile „ascunse” și se termină la stratul de ieșire. Rețeaua nu are o buclă, iar informațiile se opresc la stratul de ieșire.

Rețele neuronale recurente (RNN)

An RNN este o rețea neuronală multistratificată care poate stoca informații în noduri contextuale, permițându-i să învețe secvențe de date și să genereze un număr sau o altă secvență. Cu alte cuvinte, este o rețea neuronală artificială ale cărei conexiuni dintre neuroni includ bucle. Rețelele neuronale multistratificate (RNN) sunt potrivite pentru procesarea secvențelor de intrări, deoarece ieșirea este retransmisă în rețea sub formă de memorie.

Diagrama bloc a unei rețele neuronale recurente cu ieșirea retransmisă înapoi în rețea ca memorie

O rețea rețelei (RNN) își trimite ieșirea înapoi către ea însăși, ceea ce oferă memorie rețelei.

De exemplu, dacă sarcina este de a prezice următorul cuvânt din propoziția „Vrei un …?”, rețeaua procedează astfel:

  • Neuronii RNN primesc un semnal care indică începutul propoziției.
  • Rețeaua primește cuvântul „Do” ca intrare și produce un vector de numere. Acest vector este transmis neuronului pentru a oferi o memorie rețelei. Această etapă ajută rețeaua să-și amintească faptul că a primit cuvântul „Do” și că l-a primit pe prima poziție.
  • Rețeaua procedează similar cu următoarele cuvinte. Preia cuvântul „tu” și apoi „vrei”. Starea neuronilor este actualizată la primirea fiecărui cuvânt.
  • Etapa finală are loc după primirea cuvântului „a”. Rețeaua neuronală oferă o probabilitate pentru fiecare cuvânt englezesc care ar putea completa propoziția. O rețea neuronală relevantă (RNN) bine antrenată atribuie probabil o probabilitate ridicată cuvintelor „cafenea”, „băutură”, „burger” și altor cuvinte similare.

Utilizări comune ale RNN

  • Ajutați comercianții de valori mobiliare să genereze rapoarte analitice
  • Detectarea anomaliilor în situațiile financiare
  • Detectează tranzacțiile frauduloase cu cardul de credit
  • Furnizați o legendă pentru imagini
  • Alimentare chatbots
  • Utilizările standard ale RNN apar atunci când practicienii lucrează cu date sau secvențe de serii temporale, de exemplu înregistrări audio sau text.

Rețele neuronale convoluționale (CNN)

A CNN este o rețea neuronală multistratificată cu o arhitectură unică, concepută pentru a extraccaracteristici din ce în ce mai complexe ale datelor de la fiecare strat pentru a determina rezultatul. CNN-urile sunt foarte potrivite pentru sarcinile perceptive.

Arhitectură CNN cu convoluție, ReLU și etape de învățare a caracteristicilor în pooling, urmate de aplatizare, clasificare complet conectată și softmax

Învățarea caracteristicilor prin convoluție, ReLU și pooling; clasificare prin aplatizare, conectare completă și softmax

CNN este utilizat mai ales atunci când există un set de date nestructurate, cum ar fi imagini, iar practicienii trebuie să exprimetracinformații din acesta.

De exemplu, dacă sarcina este de a prezice o legendă a unei imagini:

  • CNN primește o imagine, să zicem, a unei pisici. În termeni informatici, această imagine este o colecție de pixeli, în general un strat pentru o imagine în nuanțe de gri și trei straturi pentru o imagine color.
  • În timpul etapei de învățare a caracteristicilor, adică a straturilor ascunse, rețeaua identifică caracteristici unice, de exemplu coada pisicii sau urechea.
  • Odată ce rețeaua a învățat temeinic cum să recunoască o imagine, aceasta poate oferi o probabilitate pentru fiecare clasă de imagine pe care o cunoaște. Eticheta cu cea mai mare probabilitate devine predicția rețelei.

Consolidarea învățării

Consolidarea învățării este un subdomeniu al învățării automate în care sistemele sunt antrenate prin primirea de „recompense” sau „pesepsiri” virtuale, practic prin învățare prin încercare și eroare. Este o paradigmă de învățare mai degrabă decât o formă de rețea, dar algoritmii săi moderni sunt construiți pe rețele profunde. GoogleDeepMind a folosit învățarea prin consolidare pentru a învinge un campion uman la Go. Învățarea prin consolidare este folosită și în jocurile video pentru a îmbunătăți experiența de joc prin furnizarea de roboți mai inteligenți.

Unii dintre cei mai cunoscuți algoritmi sunt:

  • Q-learning
  • Rețea Deep Q
  • Stat-Acțiune-Recompensă-Stat-Acțiune (SARSA)
  • Gradient de politică deterministă profundă (DDPG)

Tabelul de mai jos prezintă pe scurt situațiile în care fiecare arhitectură este potrivită.

Architectură Datele care se potrivesc Trăsătură distinctivă Sarcină tipică
Feed-forward Intrare tabelară cu lungime fixă Fără bucle; informațiile avansează doar înainte Scorarea și clasificarea simplă
Recurent (RNN) Secvențe și serii temporale Nodurile de context îi oferă memorie Predicție text, audio, prognoză
Convoluțional (CNN) Date nestructurate de tip grilă Convoluție și pooling extraccaracteristici t Clasificarea și subtitrarea imaginilor
Consolidarea învățării Un mediu, nu un set de date Învață din recompense și pedepse Agenți de joc, robotică, control

Exemple de aplicații de învățare profundă

Aceste arhitecturi sunt deja în producție în industrii foarte diferite:

AI în finanțe

Sectorul tehnologiei financiare a început deja să utilizeze inteligența artificială pentru a economisi timp, a reduce costurile și a adăuga valoare. Învățarea profundă schimbă industria creditării printr-un scor de credit mai robust. Factorii de decizie în domeniul creditelor pot utiliza inteligența artificială pentru cererile de creditare, pentru a realiza o evaluare mai rapidă și mai precisă a riscurilor, utilizând inteligența artificială pentru a lua în considerare caracterul și capacitatea solicitanților.

Underwrite este o companie fintech care oferă o soluție de inteligență artificială pentru factorii de decizie în materie de credit. underwrite.ai folosește inteligența artificială pentru a detecta care solicitant este mai predispus să ramburseze un împrumut, o abordare despre care compania spune că depășește performanța tablourilor de bord tradiționale.

AI în HR

Under Armour, o companie de îmbrăcăminte sport, revoluta ionizat angajarea și a modernizat experiența candidaților cu ajutorul inteligenței artificiale. Under Armour s-a confruntat cu un val de interes în 2012 și primea, în medie, peste 30,000 de candidaturi pe lună. Citirea tuturor acestor candidaturi și apoi începerea procesului de selecție și intervievare dura prea mult. Procesul lung de angajare și integrare a oamenilor a afectat capacitatea Under Armour de a-și avea magazinele de retail complet dotate cu personal, activate și gata de funcționare.

La acea vreme, Under Armour avea implementată toată tehnologia HR „indispensabilă”, cum ar fi soluții tranzacționale pentru sourcing, aplicare, tracRegele și integrarea, dar aceste instrumente nu au fost suficiente. Under Armour a ales HireVue, un furnizor de soluții HR bazate pe inteligență artificială, atât pentru interviuri la cerere, cât și pentru interviuri live. Rezultatele au fost uimitoare: compania a raportat o reducere cu 35% a timpului necesar pentru ocuparea posturilor, crescând în același timp calitatea personalului angajat.

AI în marketing

IA este un instrument valoros pentru gestionarea serviciilor pentru clienți și pentru provocările de personalizare. Recunoașterea vocală îmbunătățită în gestionarea centrelor de apel și în rutarea apelurilor, ca urmare a aplicării tehnicilor de IA, permite o experiență mai fluidă pentru clienți.

De exemplu, analiza audio prin învățare profundă permite sistemelor să evalueze tonul emoțional al unui client. Dacă clientul răspunde prost la chatbot-ul cu inteligență artificială, sistemul poate redirecționa conversația către un operator uman real, care preia problema.

Pe lângă cele trei exemple de deep learning de mai sus, inteligența artificială este utilizată pe scară largă și în alte sectoare și industrii.

De ce este importantă învățarea profundă?

Deep learning este un instrument puternic pentru transformarea predicțiilor în rezultate concrete. Deep learning excelează în descoperirea de tipare și predicția bazată pe cunoștințe. De date de mare este combustibilul pentru învățarea profundă. Atunci când ambele sunt combinate, o organizație poate obține rezultate în productivitate, vânzări, management și inovație care anterior erau inaccesibile.

Învățarea profundă poate depăși și metodele tradiționale. În special în ceea ce privește problemele de percepție, rețelele profunde au avut cele mai bune performanțe timp de ani de zile: clasificarea imaginilor, recunoașterea vorbirii și recunoașterea feței sunt dominate de arhitecturi profunde, modelele de recunoaștere facială atingând o precizie de aproape 99% pe testele publice standard. Câștigul provine din faptul că rețeaua își învață propriile caracteristici, în loc să se bazeze pe cele proiectate manual.

Limitările învățării profunde

Aceste rezultate vin cu costuri reale.

Etichetarea datelor

Majoritatea modelelor actuale de inteligență artificială sunt antrenate prin învățare supravegheată. Aceasta înseamnă că oamenii trebuie să eticheteze și să categorizeze datele subiacente, ceea ce poate fi o sarcină considerabilă și predispusă la erori. De exemplu, companiile dezvoltă...ping Tehnologiile pentru mașini autonome angajează sute de oameni pentru a adnota manual ore întregi de fluxuri video de la vehicule prototip, cu scopul de a antrena aceste sisteme.

Obțineți seturi uriașe de date de antrenament

S-a demonstrat că tehnicile de deep learning, precum CNN, pot, în unele cazuri, imita cunoștințele experților în medicină și în alte domenii. Totuși, acest val de învățare automată necesită seturi de date de antrenament care nu sunt doar etichetate, ci și suficient de ample și universale.

Metodele de deep learning necesită mii de observații pentru ca modelele să devină relativ eficiente în sarcini de clasificare și, în unele cazuri, milioane pentru ca acestea să funcționeze la nivelul oamenilor. Nu este surprinzător faptul că deep learning-ul este cel mai des întâlnit la companiile gigantice de tehnologie, care utilizează big data pentru a acumula petabytes de exemple. Această scară le permite să creeze modele de deep learning impresionante și extrem de precise.

Explicați o problemă

Modelele mari și complexe pot fi greu de explicat în termeni umani, de exemplu de ce s-a luat o anumită decizie. Este unul dintre motivele pentru care acceptarea unor inteligență artificială Instrumentele sunt lente în domeniile de aplicare în care interpretabilitatea este utilă sau chiar necesară.

În plus, pe măsură ce aplicarea AI se extinde, cerințele de reglementare ar putea, de asemenea, să determine necesitatea unor modele AI mai explicabile.

Întrebări frecvente

Clasic masina de învățare Necesită caracteristici proiectate manual și funcționează bine cu date tabelare mici. Învățarea profundă învață singură caracteristicile din date brute nestructurate, dar necesită mult mai multe exemple și resurse de calcul.

Introduce neliniaritate, astfel încât straturile suprapuse pot modela limite de decizie curbate în loc să se restrânge într-un singur pas liniar. ReLU este implicitul obișnuit în straturile ascunse; sigmoid și softmax modelează rezultatul.

Propagarea inversă măsoară cât de mult a contribuit fiecare pondere la eroare, apoi parcurge acel gradient înapoi prin straturi, astfel încât fiecare pondere să fie împinsă în direcția care reduce pierderea. Este a doua fază în acțiune.

O epocă este o trecere completă peste datele de antrenament. Dimensiunea lotului reprezintă numărul de eșantioane pe care le vede rețeaua înainte de actualizarea ponderilor. Rata de învățare controlează amploarea fiecăreia dintre aceste actualizări de ponderi.

Transformatoarele, introduse în 2017, înlocuiesc recurența cu atenția, permițând fiecărui token să se uite la fiecare alt token simultan. Deoarece acest lucru rulează în paralel, acestea se scalează mult mai bine decât RNN-urile și domină acum munca în limbaj și vizualizare.

Antrenamentul constă în mare parte în multiplicarea cu matrice mari, GPU-urile rulând în paralel cu o lățime de bandă de memorie foarte mare. Mutarea unei CNN sau a unui transformator de la CPU la un singur GPU de antrenament produce de obicei creșteri de viteză de câteva ori.

Căutarea în arhitectură neuronală și instrumentele AutoML testează numărul de straturi, lățimi și hiperparametri, apoi păstrează candidatul care se validează cel mai bine. Acestea reduc dramatic procesul de scanare manuală, deși o persoană stabilește în continuare obiectivul și bugetul de calcul.

Copilotul GitHub proiecte TensorFlow și PyTorBucle de antrenament ch dintr-o scurtă solicitare. Verificați formele de intrare, funcția de pierdere și introduceți singuri valorile inițiale, deoarece diagrama standard generată le greșește frecvent.

Rezumați această postare cu: