Sunteți pe pagina 1din 8

Tema: Învățarea automată.

Soluția
modernă pentru IA.

Obiectivele lecției:
1. Vei obține o înțelegere mai profundă a învățării automate
2. Te vei familiariza cu idea de învățare aprofundată
3. Vei afla prin ce învățarea aprofundată este diferită de învățare automată, și
prin ce este mai bună

Mai ții minte lecția precedentă am atins subiectul abordării statistice a


inteligenței artificiale, mai numit și învățare automată?
În caz că ai uitat, abordarea statistică presupune crearea unor modele
în baza învățării. Parțial inspirați de modul de învățare la oamenii, acești
algoritmi se perfectează cu cât mai multe exemple calitative le sunt prezentate.

Exemplul de mai jos arată cum are loc învățarea unui astfel de algoritm.
Imaginează-ți că ești rugat să spui dacă o poză conține un lup sau o panteră, tu ne
având cunoștințe despre ce sunt acestea.

Ți se prezintă o poză, iar tu ghicești și spui că e o panteră. Greșit. Era un lup. Totuși
ai înțeles că dacă în imagine vezi o pădure, și un animal sur, atunci mult probabil în
poză este un lup.
Acum următoarea poză, vezi un fundal verde, mai verde ca precedentul, și nu ești
sigur dacă în poză e un lup sau o panteră, așa că mai ghicesti odată - panteră.
Corect! Acum poți spune că dacă fundalul este în întregime verde, iar animalul din
poza se observă mai greu sau în general e negru, atunci e panteră. Iar acum,
următoarea poză, o pădure, sau ceva asemanator, la sigur nu verde de jungla, și
lumina bate într-un mod mai special iar animalul pare sur.
Cu siguranță este un lup! Ba nu, e panteră. Deci de acum înainte vei mai atrage
atenția și la coada animalului, și la bot, și la urechi, iar fundalul v-a juca un rol mai
puțin important în luarea deciziilor.

Problema fundamentală a acestei abordări este necesitatea unui număr cu mult


mai mare de exemple pentru învățare decât pentru un om. Necesitatea dată
provine din diferențele stringente dintre un algoritm și un om. Una din ele fiind
faptul că oamenii sunt capabili să transfere cunoștințele și experiențe foarte
eficient, iar algoritmii nu. Pe lângă aceasta, mai avem și milioane de ani de
evoluție în spate care ne-au predeterminat anumite capacități, spre exemplu
reflexele și acțiunile inconștiente.
Apropo, transferul de cunoștințe înseamnă capacitatea de a reutiliza o
parte din ceea ce cunoaștem ca să învățăm ceva nou mai repede. Cel mai
simplu exemplu, școala, sau mai exact modul de predare la școală.
Imaginează-ți, este nevoie să înveți ce este o ecuație de gradul 1.
Expresie de tipul ax+b=0, unde a și b le cunoști. Dacă cunoști regulile adunării,
înmulțirii, proprietățile semnului =, și desigur cum funcționează numerele, și că
există fracții, o să poți învăța relativ simplu cum să rezolvi astfel de ecuații.
Destul de mult trebuie să cunoști înainte de a fi capabil să rezolvi o expresie
atât de simplă, nu? Dar pentru noi oamenii acest proces este cumva aproape
natural, dacă știm să adunăm, putem ușor învăța să înmulțim.

Cam așa ar arăta conceptele necesare pentru a înțelege și rezolva ecuațiile de


gradul 1. Pentru un om este relativ simplu să compună și să reutilizeze cunoștințe
existente, mai puțin pentru algoritmi.

Algoritmii de învățare automată, pe de altă parte, le vine extrem de greu,


deseori imposibil să facă un lucru atât de elementar. Din acest motiv, dacă ar fi să
faci un algoritm care ar învăța să adune 2 numere, nu o să obții nici un fel de
beneficiu din asta când îl vei învăța să efectueze și înmulțiri. Mai mult de atât, el va
uita cum să facă adunări. Această proprietate nedorită de a uita tot ce a fost învățat
anterior se numește uitare catastrofică.

Deci avem multe probleme cu abordarea statistică. Ce facem? Amintește-ți că data


trecută am menționat câteva abordări, printre care și ce-a conexionistă.
Abordarea conexionistă poate fi considerată de fapt o extensie a celei
statistice. Inițial fiind inspirată de structura creierului mammal, aceasta abordare
insistă că inteligența artificială poate fi obținută prin interacțiunea unui număr mare
de elemente simple, cum ar fi neuroni, ce în ansamblu sunt capabili de a învăța.
Ei bine, mai departe o să vezi că în cazul algoritmilor cu abordare
conexionistă, transferul de cunoștințe este posibil într-o oarecare măsură, dar
problema de uitare rămâne nerezolvată până acum.

Abordarea conexionistă la moment se focusează pe așa numitele rețele


neuronale, sau neurale, care de fapt sunt o aproximare a unui neuron real. Ca
sa ne fie mai simplu în continuare, hai mai întâi să vedem ce este un neuron, și
cum acesta funcționează?

Imaginea din stânga: Structura unui neuron. Sursa: morphonix.com/braineducation


Imaginea din dreapta: O simulare a creierului uman formată din milioane de neuroni
și miliarde de conexiuni, sau sinapse. Sursa: youtube.com/watch?
v=FhosaQSWCFw

Neuronul este considerat celula de bază în creierul nostru, care, ca să nu ne


adâncim în detalii, este format din corp, dendrite și axon. Funcția corpului
neuronului este de a retrasmite sau genera semnal electric, iar a axonului si a
dendritelor este de a transmite acest semnal. Conexiunile neuronale se mai
numesc sinapse. Anume modul de transmitere a semnalului electric, bazat pe
un model complicat ce ia în calcul intensitatea semnalelor, dar și perioada
acestora este aproximat cel mai drastic de către așa numitele rețele neuronale
artificiale. Chiar și așa, acestea sunt suficient de performante pentru a sta la
baza celor mai moderni algoritmi de IA.

O alta inspirație a abordării conexioniste este neocortexul. Neocortexul este


componenta cea mai recentă a creierului, prezentă doar la mamifere, și este
partea responsabilă de vederea acută, gânduri complexe și emoții, posibil și
alte aspecte. Neocortexul a fost studiat timp îndelungat, iar prin anii 80 ai
secolului XX au început sa fie propuse arhitecturi de rețele neuronale inspirate
de acesta. Mai exact, structura lui ierarhică, adică în multe nivele, fiecare
utilizand ca bază precedentul.

Neocortexul este situat pe partea exterioară a creierului mammal, iar în imagine


poate fi observată structura în multinivelară a acestuia.
Sursa: cs.brown.edu/people/tdean/projects/cortex/

Rețelele neuronale moderne utilizează aceasta structură ierarhică pentru a


învăța și chiar reutiliza cunoștințele obținute. Spre exemplu, să presupunem că
algoritmul nostru ce încearcă să distingă panterele de lupi este unul
conexionist, adică o rețea neuronală.
Asta înseamnă că modelul, sau arhitectura rețelei neuronale, este
alcătuită în primul rând din multe elemente mici și simple, în cazul dat neuroni
artificiali, aceștia la rândul lor fiind aranjați în multe nivele, așa numite straturi,
suprapuse. Primul strat primește ca valoare de intrare imaginea și o convertește
într-o reprezentare intermediară. Primul strat învață să detecteze margini și linii
sub diferite unghiuri.
Ulterior, această reprezentare este utilizată ca valoare de intrare pentru
următorul strat, care deja începe să învețe să recunoască uzoruri mai
complicate, cum ar fi curbe și figuri simple geometrice. Cu cât mai multe
straturi sunt utilizate în acest proces, cu atât mai complicate devin șabloanele
învățate în ultimele nivele. Valorile din ultimele nivele sunt utilizate în calitate de
parametri/atribute pentru distingerea panterelor de lupi.

La fel ca neocortexul, o rețea neuronală artificială este formată din neuroni (stânga
jos) ce utilizează o așa numită funcție de activare ce transformă suma ponderată a
atributelor de intrare într-un rezultat. Combinarea ierarhică a acestor neuroni în
straturi permite învățarea unor concepte complicate și oarecum permite transferul
de cunoștințe.

Aceasta proprietate se mai numește reprezentare ierarhică a cunoștințelor.


Proprietatea dată se presupune a fi una din cele mai importante capacități a
rețelelor neuronale. Unii chiar consideră că reprezentarea ierarhică a
cunoștințelor este un componentă importantă în realizarea viitorilor algoritmi de
inteligență artificială ce ar mai aproape de capacitățile umane. Anume din motiv
că metodele conexioniste moderne utilizează o structură cu multe straturi în
calitate de algoritm de învățare, pe lângă faptul că moștenesc multe calități din
abordarea statistică, abordarea dată se mai numește și învățare aprofundată.

Îți amintești de noțiunea de transfer de cunoștințe de mai devreme în cadrul


acestei lecții? Și că aceasta nu este posibilă în cazul învățării
automate/abordării statistice clasice? Ei bine, în cazul învățării aprofundate
transferul este posibil într-o masura “utilă”. Utilă pentru că deși nu mereu
lucrează și nu la perfecție, totuși foarte des permite obținerea unor rezultate
extrem de bune. Curând în cadrul acestui curs te vei asigura și singur.

Deci transferul de cunoștințe. Pentru ca o rețea neuronala să poată transfera


cunoștințele dintr-un domeniu în altul aceasta i se poate “reînvăța” ultimul, sau
ultimele cateva nivele pe setul de date ce ne interesează, și efectiv problema
care ne interesează.

Cum are loc această procedură, și ce rezultate pot fi posibile mai exact? Ne
vedem lecția viitoare!

Exerciții

1. Descrie cum lucrează un algoritm ce utilizează abordarea conexionistă?


Argumentează prin ce acest tip de algoritmi este superior învățării automate
clasice?
2. Descrie, pas cu pas, cum un algoritm ar învăța să decidă dacă o secvență de
text este o poezie sau o nuvelă?
3. Rulează exemplul propus. Note: EXAMPLE1 - Teacheble Machines + poate inca un
exemplu din resursa

Test

1. Care este diferența dintre un sistem cu IA simbolic și unul ce utilizează


abordarea statistică?
2. Cum lucrează un algoritm de învățare supervizată?

Quiz autoevaluare

1. Uitarea catastrofică este tipică?


a. Oamenilor b. Învățării Aprofundate c. Sistemelor Expert
2. Transferul de cunoștințe poate aduce la?
a. Uitarea catastrofică b. Adaptarea la un nou tip de date c. Evoluție
3. Rețelele neuronale artificiale beneficiază de?
a. Aranjarea ierarhică b. Mulțimea de operații simple c. Structura neuronului
4. Algoritmii supervizați au nevoie de?
a. Date etichetate b. Atribute c. Reguli predefinite d. Asistență umană
5. Rețelele neuronale sunt inspirate de structura?
a. Coloniilor de furnici b. Creierului c. Copacilor d. Sistemul nervos al viermilor

S-ar putea să vă placă și