Connect with us

Inteligență artificială

Generarea de parafraze utilizând învățarea profundă prin întărire – Lideri de gândire

mm

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ă folosesc? 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 oameni de pe lista ta, promovând 20% reducere la un laptop nou și scump.

Care dintre următoarele variante ai alege:

  • Poți obține acum 20% reducere la următoarea ta comandă
  • Pregătește-te – 20% reducere

Deși transmit aceeași informație, una a obținut un randament de deschidere cu aproape 15% mai mare decât cealaltă (și pariez că nu poți bate modelul nostru la predictarea căreia ?). Deși limbajul poate fi adesea testat prin testare A/B sau bandiți multiarmați, 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 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 prin întărire (RL) învață prin interacțiunea cu mediul lor și observarea recompenselor pe care le primesc în urma acesteia. Această diferență nu prea subtilă are implicații masive asupra modului în care funcționează algoritmii și asupra modului în care sunt antrenate modelele. Învățarea profundă prin î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 Go, Atari și StarCraft II.

În ciuda acestui succes, învățarea prin î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 poate fi utilizată învățarea profundă prin întărire 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 prin întărire sunt bine adaptați pentru a găsi cel mai bun set de acțiuni pentru a obține recompensa maximă anticipată î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. Deși evaluarea umană este considerată în prezent standardul de aur în evaluarea NLG, suferă de dezavantaje semnificative, inclusiv faptul că este scumpă, consumatoare de timp, dificil de reglat și lipsită de reproductibilitate în experimente și seturi de date (Han, 2016). Ca urmare, cercetătorii au căutat mult timp metrice automate care sunt simple, generalizabile și care reflectă judecata umană (Papineni et al., 2002).

Cele mai comune metode de evaluare automate utilizate în evaluarea subtitrelor de imagini generate de mașină sunt rezumate mai jos, împreună cu avantaje și dezavantaje:

Generarea de parafraze utilizând pipeline-ul de învățare prin întărire

Am dezvoltat un sistem numit ParaPhrasee, care generează parafraze de înaltă calitate. Sistemul constă în mai multe etape pentru a aplica învățarea prin î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 teză.

Set de date

Există mai multe seturi de date de parafraze disponibile care sunt utilizate în cercetare, inclusiv: corpusul de parafraze Microsoft, 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 per 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 de imagini sunt furnizate de persoane diferite, acestea tendință să aibă variații ușoare în detaliile furnizate în scenă, astfel încât propozițiile generate tendință să halucineze detalii.

Model supravegheat

Deși învățarea prin întărire a fost îmbunătățită considerabil în ceea ce privește eficiența eșantionului, timpul de antrenare și cele mai bune practici, antrenarea modelelor RL de la zero este încă relativ lentă și instabilă (Arulkumaran et al., 2017). 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 RL.

Utilizăm un cadru de model Encoder-Decoder și evaluăm performanța mai multor modele supravegheate de bază. Când ajustăm modelul utilizând RL, ajustăm doar rețeaua decodor și tratăm rețeaua encoder 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, incluzând: încorporarea cuvântului în piscină (GloVe), InferSent și BERT

Modelele supravegheate tendință să performeze destul de asemănător între modele, BERT și encoder-decoderul 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 RL încearcă să le rezolve.

Model de învățare prin întărire

Implementarea algoritmilor RL este foarte dificilă, mai ales când nu știți dacă problema poate fi rezolvată. Pot exista probleme în implementarea mediului dvs., a agenților dvs., a hiperparametrilor dvs., a funcției dvs. de recompensă sau o combinație a tuturor acestora! Aceste probleme sunt exacerbate atunci când se efectuează învățare profundă prin întărire, deoarece aveți plăcerea de a adăuga complexitatea depanării rețelelor neuronale.

Așa cum este și la depanare, este crucial să începeți simplu. Am implementat variații ale a două medii de joc RL bine înțelese (CartPole și FrozenLake) pentru a testa algoritmii RL și a găsi o strategie repetabilă pentru transferul de cunoștințe din 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 că este dificil să generalizeze abordări sofisticate de distilare a politicilor pentru a transfera cunoștințe în noi medii, deoarece introduc multe noi hiperparametri care necesită reglare pentru a funcționa.

Susținut de aceste insight-uri, apoi ne întoarcem 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 multe avantaje, utilizăm o arhitectură actor-critic. Actorul este utilizat pentru a selecta următorul cuvânt în 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 RL este funcția de recompensă, deoarece acesta este ceea ce încearcă să optimizeze agentul RL. Dacă funcția de recompensă este incorectă, atunci rezultatele vor suferi, chiar dacă fiecare altă parte a sistemului funcționează!

Un exemplu clasic al acestui fapt este CoastRunners, unde cercetătorii OpenAI au setat funcția de recompensă pentru a maximiza scorul total, în loc de a câștiga cursa. Rezultatul a fost că agentul a descoperit o buclă în care putea obține cel mai mare scor lovind turbotoate fără a termina niciodată cursa.

https://www.youtube.com/watch?time_continue=2&v=tlOIHko8ySg&feature=emb_title

Dată fiind faptul 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 grea. Majoritatea aspectelor limbajului nu se descompun niciodată în metrice liniare și sunt dependente de sarcină (Novikova et al., 2017).

Agentul RL descoperă adesea o strategie interesantă pentru a maximiza recompensele, care exploatează slăbiciunile din metrica de evaluare, în loc de a genera texte de înaltă calitate. Acest lucru duce la o performanță slabă pe metricele pe care agentul nu le optimizează direct.

Considerăm trei abordări principale:

  1. Metrice de suprapunere de cuvinte

Metodele comune de evaluare NLP iau în considerare proporția de suprapunere de cuvinte î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 de” și nu există nicio măsură a fluenței. Acest lucru duce la parafraze de calitate foarte slabă.

  1. Metrice de similaritate și fluență la nivel de propoziție

Principalele proprietăți ale unei parafraze generate sunt acelea 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, apoi să combinăm metricele. Pentru similaritatea semantică, utilizăm similaritatea cosinus între încorporările de propoziții de la modele preantrenate, incluzând BERT. Pentru fluență, utilizăm un scor bazat pe peripleria unei propoziții de la GPT-2. Cu cât scorurile de similaritate și fluență sunt mai mari, cu atât recompensa este mai mare.

Am încercat multe combinații diferite de modele de încorporare de propoziții și modele de fluență, iar deși performanța a fost rezonabilă, principala problemă cu care s-a confruntat agentul a fost aceea de a nu echilibra 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 prin întărire multi-obiectivă este o problemă de cercetare deschisă și este foarte dificilă în acest caz.

  1. Utilizarea unui model adversarial ca funcție de recompensă

Dată fiind faptul 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 RL este apoi să convingă acest model că propoziția generată este o parafrază a propoziției de intrare. Discriminatorul generează un scor de cât de probabil sunt cele două propoziții să fie parafraze unele altora, care este utilizat ca recompensă pentru a antrena agentul.

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 ghicirile 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ă.

Concluzie și limitări

Abordările adverse (inclusiv jocul cu sine pentru jocuri) oferă o abordare extrem de promițătoare pentru antrenarea algoritmilor RL pentru a depăși performanța umană în anumite sarcini fără a defini o funcție de recompensă explicită.

Deși RL a fost capabil 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. RL este mai bine lăsat în situații în care învățarea supravegheată nu poate fi aplicată cu ușurință ș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 o antrenare mult mai rapidă și mai stabilă.

O altă considerație este că, ca și în cazul altor abordări neuronale, agentul poate eșua 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 RL și progresele în infrastructura computațională din ultimii ani vor debloca oportunități uriașe pentru aplicarea RL în industrie, în special în NLP.

Andrew Gibbs-Bravo este Data Scientist la Phrasee axat pe îmbunătățirea tehnologiei din spatele redactării asistate de inteligență artificială a companiei Phrasee, lider mondial. El este, de asemenea, co-organizator al întâlnirii comunității de învățare prin întărire din Londra și este interesat de toate lucrurile legate de RL, NLP și învățare automată.