Modele și platforme AI
Generarea de parafraze utilizând învățarea profundă cu întărire – Lideri de gândire

Când scriem sau vorbim, ne-am întrebat cu toții dacă există o modalitate mai bună de a comunica o idee altora. Care cuvinte ar trebui să folosim? Cum ar trebui să structurăm gândul? Cum vor răspunde ei? La Phrasee, ne petrecem mult timp gândindu-ne la limbaj – ce funcționează și ce nu.
Îți imaginezi că scrii subiectul unei campanii de e-mail care va fi trimisă la 10 milioane de persoane din lista ta, promovând 20% reducere la un laptop nou și scump.
Care dintre următoarele variante ai alege?
- Poți obține acum o reducere suplimentară de 20% la următoarea comandă
- Pregătește-te – o reducere suplimentară de 20%
Deși transmit aceeași informație, una a obținut un răspuns cu aproape 15% mai mare decât cealaltă (și pariez că nu poți băti modelul nostru la predictarea variantei câștigătoare). Deși limba poate fi adesea testată prin testarea A/B sau prin metoda multi-armed bandit, generarea automată de parafraze rămâne o problemă de cercetare foarte dificilă.
Două propoziții sunt considerate parafraze unele altora dacă au același sens și pot fi utilizate în mod interschimbabil. O altă chestiune importantă, care este adesea luată ca de la sine înțeleasă, este dacă o propoziție generată de mașină este fluentă.
În contrast cu învățarea supravegheată, agenții de învățare cu întărire (RL) învață prin interacțiunea cu mediul lor și observarea recompenselor pe care le primesc în urma acestei interacțiuni. Această diferență nu prea evidentă are implicații masive asupra modului în care funcționează algoritmii și asupra modului în care sunt antrenate modelele. Învățarea profundă cu întărire utilizează rețele neuronale ca aproximatori de funcții pentru a permite agentului să învețe cum să depășească oamenii în medii complexe, cum ar fi jocul de Go, Atari și StarCraft II.
În ciuda acestui succes, învățarea cu întărire nu a fost aplicată pe scară largă la probleme din lumea reală, inclusiv la prelucrarea limbajului natural (NLP).
Ca parte a tezei mele de master în știința datelor, demonstrăm cum învățarea profundă cu întărire poate fi utilizată pentru a depăși metodele de învățare supravegheată în generarea automată de parafraze de text de intrare. Problema generării celei mai bune parafraze poate fi privită ca găsirea seriei de cuvinte care maximizează similaritatea semantică între propoziții, menținând în același timp fluența în ieșire. Agenții de învățare cu întărire sunt bine adaptați pentru a găsi cel mai bun set de acțiuni pentru a obține recompensa maximă în medii de control.
În contrast cu majoritatea problemelor de învățare automată, cea mai mare problemă în majoritatea aplicațiilor de generare de limbaj natural (NLG) nu constă în modelare, ci în evaluare. În timp ce evaluarea umană este considerată în prezent standardul de aur în evaluarea NLG, suferă de dezavantajele semnificative, inclusiv faptul că este scumpă, consumatoare de timp, dificil de reglat și lipsită de reproductibilitate în experimente și seturi de date. Ca urmare, cercetătorii au căutat de mult timp metrice automate care să fie simple, generalizabile și care să reflecte judecata umană.
Cele mai comune metode de evaluare automată în evaluarea subtitrelor de imagine generate de mașină sunt rezumate mai jos, împreună cu avantaje și dezavantaje:

Generarea de parafraze utilizând învățarea cu întărire – Pipeline
Am dezvoltat un sistem numit ParaPhrasee, care generează parafraze de înaltă calitate. Sistemul constă în mai multe etape pentru a aplica învățarea cu întărire într-un mod eficient din punct de vedere computațional. O scurtă prezentare a pipeline-ului de nivel înalt este prezentată mai jos, cu mai multe detalii conținute în teza mea.

Set de date
Există mai multe seturi de date de parafraze disponibile care sunt utilizate în cercetare, inclusiv corpusul de parafraze Microsoft (MSFT ), competiția de similaritate semantică ACL, Quora Duplicate Questions și Twitter Shared Links. Am selectat MS-COCO, dată fiind dimensiunea, curățenia și utilizarea sa ca punct de referință pentru două lucrări notabile de generare de parafraze. MS-COCO conține 120k de imagini cu scene comune, cu 5 subtitluri de imagine furnizate de 5 annotatori umani diferiți.
Deși este proiectat în primul rând pentru cercetarea în domeniul viziunii computaționale, subtitlurile tendință să aibă o similaritate semantică ridicată și sunt parafraze interesante. Având în vedere că subtitlurile sunt furnizate de persoane diferite, acestea tind să aibă variații ușoare în detaliile furnizate în scenă, astfel încât propozițiile generate tind să halucineze detalii.

Model supravegheat
Deși învățarea cu întărire a progresat considerabil în ceea ce privește eficiența eșantionului, timpul de antrenare și cele mai bune practici, antrenarea modelelor de învățare cu întărire de la zero este încă relativ lentă și instabilă. Prin urmare, în loc să antrenăm de la zero, mai întâi antrenăm un model supravegheat și apoi îl ajustăm utilizând învățarea cu întărire.
Utilizăm un cadru de model Encoder-Decoder și evaluăm performanța mai multor modele supravegheate de bază. Atunci când ajustăm modelul utilizând învățarea cu întărire, ajustăm doar rețeaua decodificator și tratăm rețeaua de codificare ca statică. Prin urmare, considerăm două cadre principale:
- Antrenarea modelului supravegheat de la zero, utilizând un encoder-decoder standard/vanilă cu GRU
- Utilizarea modelelor de încorporare a propozițiilor preantrenate pentru encoder, inclusiv încorporarea cuvintelor îngrămădite (GloVe), InferSent și BERT
Modelele supravegheate tind să aibă performanțe relativ similare între modele, BERT și encoder-decoder vanilă obținând cele mai bune performanțe.

Deși performanța tendință să fie rezonabilă, există trei surse comune de eroare: stuttering, generarea de fragmente de propoziție și halucinații. Acestea sunt principalele probleme pe care utilizarea învățării cu întărire își propune să le rezolve.

Model de învățare cu întărire
Implementarea algoritmilor de învățare cu întărire este foarte dificilă, mai ales atunci când nu știți dacă problema poate fi rezolvată. Pot exista probleme în implementarea mediului dumneavoastră, a agenților, a hiperparametrilor, a funcției de recompensă sau o combinație a tuturor acestora. Aceste probleme sunt exacerbate atunci când se face învățare profundă cu întărire, deoarece aveți plăcerea de a adăuga complexitatea depanării rețelelor neuronale.
Ca și în cazul oricărei depanări, este crucial să începeți simplu. Am implementat variații ale a două medii de învățare cu întărire foarte cunoscute (CartPole și FrozenLake) pentru a testa algoritmii de învățare cu întărire și a găsi o strategie repetabilă pentru transferul de cunoștințe de la modelul supravegheat.
Am descoperit că utilizarea unui algoritm Actor-Critic a depășit REINFORCE în aceste medii. În ceea ce privește transferul de cunoștințe către modelul Actor-Critic, am descoperit că inițializarea greutăților actorului cu modelul supravegheat antrenat și preantrenarea criticului a obținut cea mai bună performanță. Am găsit dificil să generalizăm abordări sofisticate de distilare a politicilor la noi medii, deoarece acestea introduc multe noi hiperparametri care necesită reglare pentru a funcționa.
Susținut de aceste insight-uri, ne-am întors apoi la dezvoltarea unei abordări pentru sarcina de generare de parafraze. Mai întâi, trebuie să creăm un mediu.

Mediul ne permite să testăm ușor impactul utilizării diferitelor metrice de evaluare ca funcții de recompensă.
Apoi, definim agentul, dată fiind multele sale avantaje, utilizăm o arhitectură Actor-Critic. Actorul este utilizat pentru a selecta următorul cuvânt din secvență și are greutățile sale inițializate utilizând modelul supravegheat. Criticul oferă o estimare a recompensei anticipate pe care o va primi o stare, pentru a ajuta actorul să învețe.
Proiectarea funcției de recompensă corectă
Componenta cea mai importantă a proiectării unui sistem de învățare cu întărire este funcția de recompensă, deoarece acesta este ceea ce încearcă să optimizeze agentul de învățare cu întărire. Dacă funcția de recompensă este incorectă, atunci rezultatele vor suferi, chiar dacă fiecare parte a sistemului funcționează.
Un exemplu clasic al acestui fenomen este CoastRunners, unde cercetătorii de la OpenAI au setat funcția de recompensă la maximizarea scorului total, în loc de câștigarea cursei. Rezultatul a fost că agentul a descoperit o buclă în care putea obține cel mai mare scor fără a termina niciodată cursa.
https://www.youtube.com/watch?time_continue=2&v=tlOIHko8ySg&feature=emb_title
Având în vedere că evaluarea calității parafrazelor este în sine o problemă nerezolvată, proiectarea unei funcții de recompensă care capturează automat acest obiectiv este și mai dificilă. Majoritatea aspectelor limbajului nu se descompun frumos în metrice liniare și sunt dependente de sarcină.
Agentul de învățare cu întărire descoperă adesea o strategie interesantă pentru a maximiza recompensele, care exploatează slăbiciunile din metrica de evaluare, în loc de a genera text de înaltă calitate.
Considerăm trei abordări principale:
- Metrice de suprapunere a cuvintelor
Metodele comune de evaluare NLP iau în considerare proporția de suprapunere a cuvintelor între parafraza generată și propoziția de evaluare. Cu cât suprapunerea este mai mare, cu atât recompensa este mai mare. Problema abordărilor la nivel de cuvinte este că agentul include prea multe cuvinte de legătură, cum ar fi “a este pe” și nu există nicio măsură a fluenței. Acest lucru duce la parafraze de foarte slabă calitate.

- Metrice de similaritate și fluență la nivel de propoziție
Principalele proprietăți ale unei parafraze generate sunt că trebuie să fie fluentă și semantic similară cu propoziția de intrare. Prin urmare, încercăm să evaluăm în mod explicit acestea individual și apoi să combinăm metricele. Pentru similaritatea semantică, utilizăm similaritatea cosinus între încorporările de propoziții din modele preantrenate, inclusiv BERT. Pentru fluență, utilizăm un scor bazat pe perplexitatea unei propoziții din GPT-2. Cu cât scorurile de similaritate cosinus și fluență sunt mai mari, cu atât recompensa este mai mare.
Am încercat multe combinații diferite de modele de încorporare a propozițiilor și de modele de fluență și, deși performanța a fost rezonabilă, principala problemă cu care s-a confruntat agentul a fost că nu a reușit să echilibreze suficient similaritatea semantică cu fluența. Pentru majoritatea configurațiilor, agentul a prioritizat fluența, ceea ce a dus la eliminarea detaliilor și la plasarea majorității entităților “în mijlocul” sau “pe o masă” sau “lângă drum”.
Învățarea cu întărire multi-obiectivă este o întrebare deschisă de cercetare și este foarte dificilă în acest caz.

- Utilizarea unui model adversar ca funcție de recompensă
Având în vedere că oamenii sunt considerați standardul de aur în evaluare, antrenăm un model separat numit discriminator pentru a prezice dacă două propoziții sunt parafraze unele altora (similar cu modul în care ar evalua un om). Scopul modelului de învățare cu întărire este apoi să convingă acest model că propoziția generată este o parafrază a propoziției de intrare. Discriminatorul generează un scor al probabilității ca cele două propoziții să fie parafraze unele altora, care este utilizat ca recompensă pentru antrenarea agentului.
La fiecare 5.000 de încercări, discriminatorul este informat care parafrază a provenit din setul de date și care a fost generată, astfel încât să poată îmbunătăți predicțiile sale viitoare. Procesul continuă timp de mai multe runde, agentul încercând să păcălească discriminatorul, iar discriminatorul încercând să diferențieze între parafrazele generate și parafrazele de evaluare din setul de date.
După mai multe runde de antrenament, agentul generează parafraze care depășesc modelele supravegheate și alte funcții de recompensă.

Concluzii și limitări
Abordările adverse (inclusiv autojocul pentru jocuri) oferă o abordare extrem de promițătoare pentru antrenarea algoritmilor de învățare cu întărire pentru a depăși performanța umană la anumite sarcini fără a defini o funcție de recompensă explicită.
Deși învățarea cu întărire a reușit să depășească învățarea supravegheată în acest caz, cantitatea suplimentară de suprastructură în ceea ce privește codul, computația și complexitatea nu merită beneficiul de performanță pentru majoritatea aplicațiilor. Învățarea cu întărire este cel mai bine lăsată în situații în care învățarea supravegheată nu poate fi aplicată ușor și o funcție de recompensă este ușor de definit (cum ar fi jocurile Atari). Abordările și algoritmii sunt mult mai maturi în învățarea supravegheată și semnalul de eroare este mult mai puternic, ceea ce duce la antrenament mult mai rapid și mai stabil.
O altă considerație este că, ca și în cazul altor abordări neuronale, agentul poate eșua foarte dramatic în cazurile în care intrarea este diferită de intrările pe care le-a văzut anterior, necesitând un strat suplimentar de verificări pentru aplicațiile de producție.
Explozia de interes pentru abordările de învățare cu întărire și progresele în infrastructura computațională din ultimii ani vor debloca oportunități uriașe pentru aplicarea învățării cu întărire în industrie, mai ales în cadrul NLP.












