Modely a platformy AI

Vzestup NLP s modelem Transformer | Komplexní analýza T5, BERT a GPT

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Přirozený jazykový procesing (NLP) zažil některé z nejvýznamnějších průlomů v posledních letech, zejména díky architektuře transformer. Tyto průlomy nejenom zvýšily schopnosti strojů understand a generovat lidský jazyk, ale také změnily krajinu mnoha aplikací, od vyhledávačů až po konverzační AI.

Abychom mohli plně ocenit význam transformerů, musíme se nejprve podívat na předchůdce a stavební kameny, které položily základ pro tuto revoluční architekturu.

Rané techniky NLP: Základy před transformery

Word Embeddings: Od One-Hot po Word2Vec

V tradičních přístupech NLP byla reprezentace slov často literální a postrádala jakýkoli formu sémantického nebo syntaktického porozumění. One-hot kódování je příkladem této omezení.

One-hot kódování je proces, při kterém kategoriální proměnné jsou převedeny do binární vektorové reprezentace, kde je pouze jeden bit “hot” (nastaven na 1), zatímco všechny ostatní jsou “cold” (nastaveny na 0). V kontextu NLP je každé slovo ve slovníku reprezentováno one-hot vektory, kde každý vektor má velikost slovníku a každé slovo je reprezentováno vektorem se všemi 0 a jedním 1 na indexu odpovídajícímu slovu ve slovníku.

Příklad One-Hot Kódování

Předpokládejme, že máme malý slovník se pouze pěti slovy: [“king”, “queen”, “man”, “woman”, “child”]. One-hot kódovací vektory pro každé slovo by vypadaly takto:

  • “king” -> [1, 0, 0, 0, 0]
  • “queen” -> [0, 1, 0, 0, 0]
  • “man” -> [0, 0, 1, 0, 0]
  • “woman” -> [0, 0, 0, 1, 0]
  • “child” -> [0, 0, 0, 0, 1]

Matematická reprezentace

Pokud označíme jako velikost našeho slovníku a jako one-hot vektorovou reprezentaci i-tého slova ve slovníku, matematická reprezentace by byla:

Hlavní nevýhodou one-hot kódování je, že každé slovo je považováno za izolovanou entitu, bez vztahu k ostatním slovům. To vede k řídkým a vysoce dimenzionálním vektorům, které nezachycují žádné sémantické nebo syntaktické informace o slovech.

Zavedení word embeddings, zejména Word2Vec, bylo zásadním okamžikem v NLP. Vyvinutý týmem v Google (GOOGL ) vedeným Tomasem Mikolovem v roce 2013, Word2Vec reprezentoval slova v hustém vektorovém prostoru, zachycujícím syntaktické a sémantické vztahy mezi slovy na základě jejich kontextu ve velkých korpusích textu.

Na rozdíl od one-hot kódování produkuje Word2Vec husté vektory, obvykle s několika stovkami dimenzí. Slova, která se vyskytují ve stejném kontextu, jako “king” a “queen”, budou mít vektorové reprezentace, které jsou blíže k sobě ve vektorovém prostoru.

Pro ilustraci předpokládejme, že jsme trénovali model Word2Vec a nyní reprezentujeme slova v hypotetickém 3D prostoru. Embeddingy (které jsou obvykle více než 3D, ale zjednodušeny zde pro jednoduchost) by mohly vypadat takto:

  • “king” -> [0.2, 0.1, 0.9]
  • “queen” -> [0.21, 0.13, 0.85]
  • “man” -> [0.4, 0.3, 0.2]
  • “woman” -> [0.41, 0.33, 0.27]
  • “child” -> [0.5, 0.5, 0.1]

Tyto čísla jsou fiktivní, ale ilustrují, jak podobná slova mají podobné vektory.

Matematická reprezentace

Pokud reprezentujeme Word2Vec embedding slova jako , a náš embedding prostor má dimenzí, pak může být reprezentován jako:

Sémantické vztahy

Word2Vec může dokonce zachytit komplexní vztahy, jako jsou analogie. Například, slavný vztah zachycený Word2Vec embeddings je:

vector(“king”) – vector(“man”) + vector(“woman”)≈vector(“queen”)

To je možné, protože Word2Vec upravuje word vektory během trénování, aby slova, která sdílejí společné kontexty v korpusu, byly umístěny blízko sebe ve vektorovém prostoru.

Word2Vec používá dvě hlavní architektury pro produkci distribuované reprezentace slov: Continuous Bag-of-Words (CBOW) a Skip-Gram. CBOW předpovídá cílové slovo z jeho okolního kontextu, zatímco Skip-Gram dělá opak, předpovídající kontextová slova z cílového slova. To umožnilo strojům začít rozumět použití slov a jejich významu způsobem, který je více nuancovaný.

Sequenční modelování: RNN a LSTMs

Jak se pole posunulo, zaměřilo se na pochopení sekvencí textu, což bylo zásadní pro úkoly, jako je strojový překlad, shrnutí textu a sentimentální analýza. Rekurentní neuronové sítě (RNN) se staly základním kamenem pro tyto aplikace díky své schopnosti zpracovávat sekvencí data udržováním jisté formy paměti.

Avšak RNN nebyly bez omezení. Bojovaly s dlouhodobými závislostmi kvůli problému mizejícího gradientu, kdy se informace ztrácejí přes dlouhé sekvence, což činí obtížným naučit se korelace mezi vzdálenými událostmi.

Long Short-Term Memory sítě (LSTMs), představené Seppem Hochreiterem a Jürgenem Schmidhuberem v roce 1997, řešily tento problém s více sofistikovanou architekturou. LSTMs mají brány, které kontrolují tok informací: vstupní bránu, bránu zapomnění a výstupní bránu. Tyto brány určují, jaké informace jsou uloženy, aktualizovány nebo odstraněny, umožňující síti zachovat dlouhodobé závislosti a významně zlepšit výkon na širokém spektru úkolů NLP.

Architektura Transformer

Krajina NLP prošla dramatickou transformací se zavedením modelu transformer v průlomovém článku “Attention is All You Need” od Vaswaniho a kol. v roce 2017. Architektura transformer se odchyluje od sekvenční zpracování RNN a LSTM a místo toho využívá mechanismus nazvaný “self-attention” pro vážení vlivu různých částí vstupních dat.

Jádrem transformeru je, že může zpracovat celé vstupní data najednou, místo sekvenčně. To umožňuje mnohem více paralelizace a v důsledku toho významné zvýšení rychlosti trénování. Mechanismus self-attention umožňuje modelu zaměřit se na různé části textu, zatímco ho zpracovává, což je zásadní pro pochopení kontextu a vztahů mezi slovy, bez ohledu na jejich pozici v textu.

Já pět let se ponořím do fascinujícího světa strojového učení a hlubokého učení. Mé vášně a odborné znalosti mě vedly k tomu, abych se podílel na více než 50 různých projektech softwarového inženýrství, se zvláštním zaměřením na AI/ML. Mé pokračující zvědavosti mě také přivedly k přirozenému jazykovému zpracování, oblasti, kterou jsem ochoten prozkoumat dále.