Cum să deveniți un expert în NLP în 2019 (1) 2019

În această postare, m-aș concentra pe toate cunoștințele teoretice de care aveți nevoie pentru cele mai noi tendințe în PNL. Am făcut această listă de lectură în timp ce învățam concepte noi. În următoarea postare, aș împărtăși lucrurile pe care le folosesc pentru a exersa aceste concepte, inclusiv modelele de potrivire și clasamentul 1 pe clasamentele competiției. Utilizați acest link pentru a ajunge la partea 2 (Încă de făcut).

Pentru resurse, includ articole, bloguri, videoclipuri.

Nu este nevoie să citiți cele mai multe lucruri. Scopul tău principal ar trebui să fie să înțelegi că această problemă a fost introdusă în acest document și înțeleg cum funcționează, cum se compară cu stadiul tehnicii.

deveniți

Tendință: utilizați modele mai mari bazate pe transformatoare și rezolvați învățarea multi-tasking.

Atenție: este o tendință în creștere în NLP că, dacă aveți o idee nouă în NLP în timp ce citiți oricare dintre documente, va trebui să utilizați o putere de calcul masivă pentru a obține rezultate rezonabile. Deci, este limitat de modelele open source.

  1. fastai: - Văzusem deja videoclipurile, așa că m-am gândit că ar trebui să le adaug în partea de sus a listei.
  • Lecția 4 Învățare profundă practică pentru programatori. Vă va ajuta să implementați un model de limbă în fastai.
  • Există o lecție 12 în partea 2 a cursului, dar încă nu a fost lansată oficial, așa că aș actualiza linkul când se încarcă.

2. LSTM: - Deși transformatoarele sunt utilizate în principal astăzi, în unele cazuri puteți utiliza în continuare LSTM și a fost primul model de succes care a obținut rezultate bune. Dacă doriți, trebuie să utilizați AWD_LSTM acum.

  • MEMORIE PE TERMEN LUNG. O privire rapidă la hârtie este suficientă.
  • Înțelegeți blogul LSTM Networks. Explicați grafic toate detaliile rețelei LSTM.

3. AWD_LSTM: - S-a propus depășirea deficienței LSTM prin introducerea abandonului între straturile ascunse, renunțarea la încorporare, legarea greutății. Trebuie să utilizați AWS_LSTM în loc de LSTM.

  • Rolul de regularizare și optimizare a modelelor de limbaj LSTM. Hârtie AWD_LSTM
  • Cod oficial Salesforce
  • implementarea fastai

4. Modele de pointer: - Deși nu este necesar, este o lectură bună. Vă puteți gândi la aceasta ca la o teorie anterioară atenției.

  • Rolul modelelor de amestecare a indicatorului Sentinel
  • Videoclip oficial al articolului anterior.
  • Îmbunătățirea modelelor de limbaj neuronal cu rol continuu în cache

Extra: Care este diferența dintre pierderea în greutate și regularizare? În pierderea în greutate, adaugă în mod direct ceva la regula actualizării, în timp ce în regularizare se adaugă funcției de pierdere. De ce să menționăm acest lucru? Cel mai probabil bibliotecile DL folosesc weight_decay în loc de regularizare sub capotă.

În unele articole, ați vedea că autorii au preferat SGD în locul lui Adam, citând că Adam nu are performanțe bune. Motivul pentru aceasta este (poate) PyTorch/Tensorflow fac eroarea de mai sus. Acest lucru este explicat în detaliu în această postare.

5. Atenție: nu uitați că atenția nu este tot ce aveți nevoie.

Există o mulțime de cercetări pentru a face transformatoare mai bune, poate voi citi mai multe articole despre acest lucru în viitor. Unele alte transformatoare includ Transformatorul universal și Transformatorul evoluat care au folosit AutoML pentru a crea arhitectura transformatorului.

Motivul pentru care noile arhitecturi de transformatoare nu rezolvă problema. Pentru că aveți nevoie de modele de limbă pentru sarcinile dvs. NLP care utilizează aceste blocuri transformative. În majoritatea cazurilor, nu veți avea resursele de calcul pentru a antrena aceste modele, deoarece s-a constatat că cu cât utilizați mai multe blocuri de transformatoare, cu atât mai bine. De asemenea, aveți nevoie de dimensiuni mai mari pentru a pregăti aceste modele lingvistice, ceea ce înseamnă că trebuie să utilizați TPU-uri Nvidia DGX sau Google Cloud (asistența PyTorch va veni într-o zi).