Învățarea de a reține: un cadru bazat pe plasticitate sinaptică pentru învățarea continuă

Oleksiy Ostapenko, Tassilo Klein, Moin Nabi (ML Research)

Oamenii au o capacitate extraordinară de a învăța continuu de-a lungul vieții. Capacitatea de a aplica cunoștințele învățate anterior în situații, medii și sarcini noi constituie caracteristica cheie a inteligenței umane. La nivel biologic, acest lucru este în mod obișnuit atribuit capacității de a stoca și guverna selectiv amintirile pe o perioadă suficient de lungă de timp în conexiunile neuronale numite sinapsele. Spre deosebire de creierul biologic, rețelele neuronale artificiale convenționale (ANN) nu au capacitatea de a controla puterea conexiunilor sinaptice între neuroni. Aceasta duce la vieți de memorie extrem de scurte în ANN - efectul cunoscut sub numele de uitare catastrofală.

În ultimul deceniu, cea mai mare parte a cercetărilor din domeniul Inteligenței artificiale (AI) a fost îndreptată spre depășirea performanțelor la nivel uman pe sarcini izolate, clar definite, cum ar fi jocuri pe calculator, sortarea e-mailurilor spam, clasificarea pisicilor din câini și recunoașterea vorbirii, doar a numi câteva. Drept urmare, cea mai mare parte a AI care ne înconjoară în viața noastră de zi cu zi poate fi denumită inteligență artificială îngustă sau AI slabă. O AI puternică, în schimb, se referă la AI-ul uman, care poate îndeplini orice sarcină inteligentă, în timp ce este capabil să învețe continuu, să uite selectiv, în timp ce se adaptează rapid la noi sarcini și face uz de experiențele anterioare. Aceste proprietăți au început recent să primească atenție de către cercetătorii AI.

De ce învățarea continuă? Cheia pentru scenarii în continuă schimbare

Uitarea și transferul de cunoștințe lipsă constituie una dintre principalele provocări pe drumul de la AI slabă la AI puternică. Spre deosebire de oameni, care uită selectiv, mașinile uită catastrofal. În consecință, în timp ce un „copil învață să se târască, să meargă și apoi să alerge” (~ Dave Waters), AI ar uita complet să se târască odată ce a învățat să meargă și ar uita să meargă odată ce a învățat să alerge. Înainte de a analiza posibile soluții pentru provocarea învățării continue pe tot parcursul vieții, să luăm în considerare un exemplu simplu de căutare a catalogului de haine bazat pe AI.

Un model de învățare automată antrenat pe un set de date care conține articole vestimentare din sezonul (A) ar funcționa extrem de bine atunci când căutați printre produsele din acest sezon (A). Cu toate acestea, odată ce sezonul se schimbă, tendințele modei s-ar putea schimba și ele. Odată ce tendințele modei se schimbă, categoriile de produse, modele și stiluri pot fi adăugate în catalog (de exemplu, tocuri înalte în loc de adidași, jachete lungi în loc de jachete scurte etc.). Modelul instruit pe datele primului sezon (A) nu ar avea rezultate bune când se caută articole care au fost adăugate în noul sezon. De fapt, simpla instruire a modelului nostru asupra datelor din noul sezon ar duce la uitarea catastrofală a capacității de a căuta printre articolele din sezonul precedent.

Mod comun de rezolvare a uitării?

Una dintre cele mai vechi tehnici de atenuare a uitării catastrofale în ANN este cunoscută sub denumirea de repetare de experiență sau „repetiție”. Continuând cu exemplul nostru de căutare în catalog, pentru a menține informațiile învățate în primul sezon, modelul de învățare automată este pur și simplu retratat de la zero pe amestecul de date din ambele sezoane, adică cunoștințele învățate anterior sunt redate la modelul instruit pe datele noului sezon. În general, reconsiderarea modelului de fiecare dată când „schimburile” distribuțiilor de date ar duce la explozia costurilor de stocare a datelor și la efortul necesar pentru menținerea sistemelor inteligente, fără a menționa reducerea dramatică a scalabilității sistemului. În cele din urmă, stocarea datelor brute ale sarcinilor anterioare poate încălca în mare măsură cerințele privind confidențialitatea datelor din aplicația din lumea reală.

În acest context, mulți cercetători s-au concentrat pe simularea plasticității neuronale în ANN-uri și atenuând astfel necesitatea stocării datelor brute (1,2,3,4,5,6). Acest lucru se face de obicei în așa-numita configurație „sarcină incrementală”, unde fiecare bucată de date adăugate recent este considerată o sarcină separată și se presupune că informațiile despre eticheta sarcinii sunt disponibile la momentul testării. Revenind la exemplul de căutare în catalog, acest lucru ar necesita ca informațiile despre eticheta sezonului (eticheta sarcinii) să fie incluse în fiecare interogare; prin urmare, clasificarea unui articol vestimentar ar necesita o informație a priori despre anotimpul din care face parte (eticheta sarcinii). Dacă există o astfel de „etichetă de sarcină”, se reduce automat ieșirea modelului la clasele care aparțin sarcinii asumate. Astfel, în exemplul nostru de mai sus, acesta ar limita doar modelul la anotimpul particular. Aceste presupuneri pot fi rareori îndeplinite în aplicațiile din lumea reală.

O linie de lucru separată abordează un scenariu din lumea reală. În acest scenariu „clasă-incrementală”, rezultatul clasificării modelului este extins continuu pe măsură ce sunt învățate noi clase. În acest context, o strategie comună este introducerea unei așa-numite componente de memorie generativă (de exemplu, 7,8,9). Aici, în loc să stocheze date brute, un model generativ precum GAN sau VAE (vezi blogpost-ul anterior) este instruit pentru a genera experiență pentru a fi redat. Prin urmare, în exemplul de catalog, articolele (cu clasa corespunzătoare) din primul sezon ar fi generate și redate la model.

Abordările existente de memorie generativă se bazează în cea mai mare parte pe ideea de redare profundă generativă în care modelul generativ este repetat repetitiv pe amestecul de date reale disponibile în prezent (noul sezon) și pe episoadele de redare sintetizate de generatorul precedent (sezonul trecut). Cu toate acestea, în afară de a fi extrem de ineficiente în formare, aceste abordări sunt puternic predispuse la un efect cunoscut sub numele de „derivă semantică”. „Semantic drifting” se referă la calitatea imaginilor generate la fiecare redare a memoriei, în funcție de imaginile generate anterior, determinând sensibilitatea la propagarea erorilor și astfel rezultând o pierdere a calității și uitării.

Soluție propusă - Învățarea plasticității într-o rețea de memorie generativă

Până acum, am aflat că reluarea experienței este o strategie simplă și utilă pentru a depăși uitarea în ANN-uri în general, și în special în situația provocatoare „creștere de clasă”. Cu toate acestea, această strategie este aplicabilă numai atunci când episoadele de redare nu sunt păstrate ca date brute, ci sub formă de modele de memorie relevante și eficient stocate.

Pentru a rezolva acest lucru, în lucrarea noastră recentă am propus o metodă numită Dynamic Generative Memory (DGM) - un cadru de învățare continuă trainable end-to-end, care simulează plasticitatea sinaptică cu măști de atenție greu de învățat aplicate parametrilor unei rețele generative (GAN) . Mascarea cu atenție dificilă identifică segmentele de rețea care sunt esențiale pentru memorarea informațiilor învățate în prezent și împiedică actualizările acestora în timpul învățării viitoare. Rețeaua este în continuare stimulată să refolosească cunoștințele învățate anterior, care au fost stocate în astfel de segmente de rețea „rezervate”, ceea ce produce un transfer pozitiv de cunoștințe. Prin urmare, în exemplul nostru de catalog de produse, cunoștințele despre articolele din catalog din sezonul precedent ar putea fi reutilizate în mod eficient atunci când aflați despre articolele din noul sezon. În total, DGM poate învăța despre noi sarcini, fără a fi necesară înlocuirea cunoștințelor vechi, îmbunătățind astfel eficiența instruirii și devenind mai robust în fața uitării catastrofale.

În consecință, DGM poate genera eșantioane informative și diverse de categorii învățate anterior la orice pas al învățării continue, așa cum se arată în imaginea de mai jos. Reproducerea acestor eșantioane la modelul de rezolvare a sarcinilor (D) produce un model care poate păstra performanțe ridicate de clasificare la toate clasele care au fost văzute în timpul procesului de învățare continuă.

Pe scalabilitate

Având în vedere dimensiunea limitată a rețelei, este inevitabil ca, cu un număr tot mai mare de sarcini de învățat, capacitatea modelului să se epuizeze la un moment dat. Această problemă este agravată atunci când se simulează plasticitatea neurală cu mascare de atenție la nivel de parametru. Pentru a garanta o capacitate suficientă și o putere expresivă constantă a rețelei de bază, DGM menține constant numărul de parametri „liberi (adică o dată care pot fi actualizați efectiv) constant prin extinderea rețelei cu exact numărul de parametri rezervați pentru precedentul sarcină. Ideea cheie aici este că, cu un transfer avansat pozitiv de cunoștințe (de exemplu, reutilizarea parametrilor), numărul de rezervări de parametri pentru sarcini noi ar trebui să scadă în timp, iar creșterea rețelei să se sature la un moment dat.

Pentru detalii tehnice privind metoda DGM, vă rugăm să consultați lucrarea completă de pe arXiv.

Chiar dacă este încă departe de a rezolva problema uitării catastrofale în întregime și, în ciuda mai multor limitări, DGM demonstrează o creștere eficientă a rețelei și o rezistență împotriva uitării catastrofale într-o configurație „clasă-incrementală” provocatoare. Considerăm că cercetarea prezentată ne poate ajuta să înțelegem înțelegerea învățării continue - o abilitate esențială pe calea realizării unei AI puternice, care este capabilă să învețe (și să uite) adaptativ și progresiv în timp.

Lucrările noastre privind învățarea pe tot parcursul vieții sunt prezentate la CVPR 2019.

Despre autor: Oleksiy Ostapenko, inginer de cercetare asociat la echipa de cercetare SAP machine learning, lucrează la provocările învățării continue pe tot parcursul vieții discutate în acest post în lucrarea sa, care va fi prezentată la CVPR-ul din acest an.