Ebben a bejegyzésben az összes elméleti tudásra összpontosítanék, amelyre szüksége van az NLP legújabb trendjeihez. Ezt az olvasási listát új fogalmak megtanulása közben készítettem. A következő bejegyzésben megosztanám azokat a dolgokat, amelyeket e fogalmak gyakorlásához használok, beleértve az illeszkedés és az 1. helyezett modelleket a verseny ranglistáján. Ezt a linket használva juthat el a 2. részhez (még várat magára).
Az erőforrásokhoz cikkeket, blogokat, videókat tartalmazok.
Nem kell elolvasnia a legtöbb dolgot. A fő cél az, hogy megértse, hogy ezt a kérdést bevezették ebbe a dokumentumba, és megértette, hogyan működik, hogyan viszonyul a technika állásához.
Trend: használjon nagyobb transzformátor alapú modelleket és oldja meg a többfeladatos tanulást.
Figyelem: az NLP-ben egyre növekvő tendencia, hogy ha új ötlete van az NLP-ben, miközben elolvassa bármelyik dokumentumot, akkor hatalmas számítási teljesítményt kell használnia az ésszerű eredmények eléréséhez. Tehát a nyílt forráskódú modellek korlátozzák.
- fastai: - Már láttam a videókat, úgy gondoltam, fel kellene tennem a lista tetejére.
- 4. lecke Gyakorlati mély tanulás a kódolók számára. Ez segít egy nyelvi modell implementálásában a fastai-ban.
- Van egy 12. lecke a tanfolyam 2. részében, de még nem jelent meg hivatalosan, ezért frissíteném a linket, amikor betöltődik.
2. LSTM: - Bár a transzformátorokat elsősorban ma használják, bizonyos esetekben továbbra is használhatja az LSTM-et, és ez volt az első sikeres modell, amely jó eredményeket hozott. Ha akarja, most használja az AWD_LSTM-et.
- HOSSZÚ TÁVÚ MEMÓRIA. Elég egy gyors pillantás a papírra.
- Ismerje meg az LSTM Networks blogot. Grafikusan magyarázza el az LSTM hálózat minden részletét.
3. AWD_LSTM: - Javasolták az LSTM hiányosságának kiküszöbölését a rejtett rétegek közötti kiesés bevezetésével, a beágyazás kiesésével, a súlyok megkötésével. Az LSTM helyett AWS_LSTM-et kell használnia.
- Az LSTM nyelvi modellek szabályozási és optimalizációs szerepe. AWD_LSTM papír
- Hivatalos Salesforce kód
- fastai megvalósítás
4. Pointer modellek: - Bár nem szükséges, de jó olvasmány. Úgy gondolhat rá, mint elméletre a figyelem elõtt.
- Az Sentinel Pointer Blend modellek szerepe
- Hivatalos videó az előző cikkről.
- A neurális nyelvi modellek továbbfejlesztése folyamatos gyorsítótár-szerepkörrel
Bónusz: Mi a különbség a fogyás és a rendszeresítés között? Fogyás esetén közvetlenül hozzáad valamit a frissítési szabályhoz, míg a szabályozásnál a fogyás funkcióhoz. Miért említi ezt? Valószínűleg a DL-könyvtárak a weight_decay-t használják a motorháztető alatti szabályozás helyett.
Néhány cikkben láthatnád, hogy a szerzők az SGD-t részesítették előnyben Ádámmal szemben, arra hivatkozva, hogy Ádám nem teljesít jól. Ennek oka (talán) a PyTorch/Tensorflow a fenti hibát követi el. Ezt részletesen ismertetjük ebben a bejegyzésben.
5. Figyelem: ne feledje, hogy nem csak a figyelemre van szüksége.
Nagyon sok kutatás folyik jobb transzformátorok készítéséhez, talán a jövőben további cikkeket olvasok erről. Néhány más transzformátor tartalmazza az univerzális transzformátort és az evolúciós transzformátort, amelyek az AutoML segítségével készítették el a transzformátor architektúráját.
Az ok, amiért az új transzformátor architektúrák nem oldják meg a problémát. Mivel olyan nyelvi modellekre van szüksége az NLP-feladatokhoz, amelyek ezeket a transzformatív blokkokat használják. A legtöbb esetben nem lesz számítási erőforrása ezeknek a modelleknek a betanításához, mivel kiderült, hogy minél több transzformátor blokkot használ, annál jobb. Ezen nyelvmodellek képzéséhez nagyobb kötegméretekre is szükség van, ami azt jelenti, hogy Nvidia DGX TPU-kat vagy Google Cloud-ot kell használnia (a PyTorch támogatása egy nap érkezik).
6. Véletlen források: - Ezt a szakaszt kihagyhatja. De a teljesség érdekében megadom az összes erőforrást, amelyet felhasználtam.
- A neurális gépi fordítás modelljét megjelenítő blog (Seq2seq modellmechanika figyelemmel)
- Karakter szintű nyelvmodellezés mélyebb öngondoskodási papírral.
- A kimeneti kulcsok használata a Langauge modellek szerepének fokozásához.
- Kvázi visszatérő neurális hálózatok dokumentum. Az LSTM nagyon gyors változata. Konvolúciós rétegek segítségével párhuzamosan végezheti az LSTM számításokat. A kód megtalálható a fastai_library vagy a hivatalos_code kódokban.
- Sebastian Ruder mély tanulása az NLP legjobb gyakorlatokért blog. Az LSTM modellek képzésénél használandó bevált gyakorlatok gyűjteménye.
- Megjegyzések a nyelvmodellező blog legkorszerűbb technikáiról. Gyors összefoglaló, ahol Jeremy Howard összefoglalja néhány trükkjét, amelyeket a fastai könyvtárban használ.
- A nyelvi módok és a kontextus szerinti szóbeágyazások blogja. Gyors áttekintést nyújt az ELMo, a BERT és más modellekről.
- Az illusztrált BERT, ELMo és társaság. (How NLP Cracked Transfer Learning) blog.
7. Többfeladatos tanulás - nagyon izgatott vagyok emiatt. Ebben az esetben képezzen egyetlen modellt több feladatra (ha több, mint 10). Tehát az adatai úgy néznek ki, mint "lefordítani angolul valamilyen_szöveg_in_germánra". A modell valóban megtanulja, hogyan kell felhasználni a kezdeti információkat a végrehajtandó feladat kiválasztásához.
- Áttekintés a többfeladatos tanulásról a mély neurális hálózatokban.
- A természetes nyelvű Decathlon: Többfeladatos tanulás mint kérdőív.
- A többfeladatos mély neurális hálózatok szerepe a természetes nyelv megértésében.
- Az OpenAI GPT erre példa.
8. PyTorch: - A Pytorch jó oktatóanyagokat kínál, amelyek jó útmutatásokat nyújtanak az NLP legtöbb dolgának kódolásához. Bár a transzformátorok nem szerepelnek az oktatóanyagokban, egyszer meg kell őket látni.
Most eljutottunk az NLP legújabb vizsgálatához, amely az NLP Imagenet-pillanatát eredményezte. Mindössze annyit kell megértenie, hogy hogyan működik. Figyelem és kész.
9. ELMo: - Az első kiemelkedő kutatás, amelynek során az előre betanított szóbeágyazásoktól az előre kiképzett modellek használatáig haladtunk a beágyazások megszerzéséhez. Tehát használja a bemeneti mondatot a beolvasáshoz a mondatban található tokenek beágyazásához.
- A mélyen kontextualizált szóábrázolások szerepe (ELMo szerep)
- Ha érdekli a videó, ellenőrizze ezt a linket.
10. ULMFit: - Lehet, hogy ez jobb, mint a BERT, de mégis a Kaggle versenyeken és a külső versenyeken az ULMFiT megszerzi az első helyet.
- Az univerzális nyelvi modell beállítása a szöveges osztályozási papírhoz.
- Jeremy Howard blogbejegyzése az ULMFiT bejelentéséről.
- Elmagyarázva az élvonalbeli mély tanulási tanfolyam 10. leckéjében.
11. OpenAI GPT: - Még nem hasonlítottam össze a BERT-et a GPT2-vel, de dolgozhat valamilyen készleten, ha akarja. Ne használja a GPT1-et, mivel a BERT a GPT1 korlátozásainak leküzdésére készült.
- GPT1 papír, blog, kód
- GPT2 papír, blog, kód
- Nézze meg az openai videót a GPT2-n
12. BERT: - A jelenlegi legsikeresebb nyelvi modell (2019 májusától).
- BERT: Mély kétirányú transzformátorok előképzése a nyelvet megértő dokumentum számára.
- Google blog a BERT-nél
- BERT boncolás 1. rész: A kódoló blogja
- A BERT megértése 2. rész: BERT-specifikus blog
- BERT-melléklet boncolása: A dekóder blog
Ha ezeket a modelleket a PyTorch-ban szeretné használni, a hugginface/pytorch_pretrained_BERT repót kell használnia, amely teljes megvalósítást biztosít a BERT, GPT1, GPT2, TransformerXL előkészített modelljeivel együtt.
13. Következő blog: - Lehet, hogy későn írtam a következő blogot, ezért ezt szerettem volna megosztani utoljára.
- Az előző BERT képzés lecsökkentése 3 napról 76 percre. Új optimalizáló bevezetése a nyelvi modellekhez, amelyek jelentősen csökkenthetik a képzési időt.
Gratulálok a véghez éréshez. Most megvan a legtöbb elméleti tudás, amely az NLP gyakorlatához a legújabb modellek és technikák alkalmazásával szükséges.
Mi a teendő most?
Csak az elméletet tanultad meg, most gyakorolj minél többet. Készítsen őrült ruhákat, ha akarja, próbálja feljutni a ranglisták tetejére. Jelenleg azért küzdök, hogy gyakorolhassam az NLP feladataimat, mivel néhány számítógépes látásprojektet lefoglalok, amelyeket alább vagy a github-on ellenőriz.
Valószínűleg június közepétől későig teszek egy utólagos bejegyzést egy ilyen listával, néhány új technikával, amelyet el kell olvasnom, és olyan dolgokkal, amelyeket a gyakorlatban meg fogok tenni.
Ha hasznosnak találja ezt a bejegyzést, kérjük, ossza meg másokkal, akiknek haszna származhat belőle, és simogassa meg ezt a bejegyzést (sokat segít, max. 50 tapsot adhat).
Kövessen a Mediumon, hogy a legújabb blogbejegyzéseimet a Medium hírcsatornájához jussam. Közösségi hálóeim, linkedin, github, twitter.
Korábbi blogbejegyzéseim
- AlexNet képzés tippekkel és ellenőrzésekkel a CNN képzéséről: Gyakorlati CNN a PyTorch-on (1)
- Minden, ami a fotorealisztikus stílusátvitelhez szükséges a PyTorch-ban
- SPADE: Az Nvidia kép-kép fordításának korszerű állása
- Súlyszabványosítás: új normalizálás a városban