Embeddings: jak AI mění vše na čísla
Problém s čísly
Počítače pracují s čísly. Jen s čísly. Neuronové sítě? Stejně. Jen matematika nad čísly.
Ale svět není čísla. Slova. Obrázky. Zvuky. Pojmy. Jak to AI zpracovává?
Embeddingy. Převádějí vše na čísla způsobem, který zachovává význam. Klíčový koncept. Stojí za veškerou moderní AI.
Co embeddingy skutečně jsou
Embedding je hustý vektor čísel reprezentující něco.
Embedding slov: „kočka" se stane [0.2, -0.5, 0.8, ...] (stovky čísel).
Embedding obrázků: fotografie se stane [0.1, 0.9, -0.3, ...] (tisíce čísel).
Čísla nejsou náhodná. Jsou naučená tak, aby zachycovala význam. Podobné věci dostávají podobné embeddingy. Různé věci dostávají různé embeddingy.
To je klíč: podobnost ve významu se stává podobností v číslech. Matematické operace s embeddingy odrážejí sémantické vztahy.
Proč embeddingy potřebujeme
Slova byste mohli reprezentovat jako one-hot vektory. „Kočka" = [1,0,0,...,0]. „Pes" = [0,1,0,...,0]. Jedinečné číslo pro každé slovo.
Problém: žádný vztah není zachycen. „Kočka" a „pes" jsou stejně rozdílné jako „kočka" a „letadlo". Všechny vektory jsou ortogonální. Žádný sémantický význam.
Embeddingy to řeší. „Kočka" a „pes" dostávají podobné embeddingy (obě jsou zvířata). „Kočka" a „letadlo" dostávají různé embeddingy. Podobnost ve vektorovém prostoru odráží podobnost ve významu.
Teď dávají matematické operace smysl. Aritmetika s embeddingy odpovídá uvažování o významu.
Jak se embeddingy učí
Embeddingy nejsou ručně vytvořené. Učí se z dat.
Embeddingy slov (přístup Word2Vec):
Natrénujte neuronovou síť na jednoduchém úkolu: předpovídejte kontextová slova z cílového slova. Nebo naopak.
Příklad: věta „Kočka seděla na podložce." Pro cílové slovo „kočka" předpovídejte „seděla", „na", „podložce".
Síť se naučí: aby dobře předpovídala kontext, musí reprezentovat podobná slova podobně. „Kočka" a „pes" se vyskytují v podobných kontextech. Dostávají podobné embeddingy.
Embeddingy jsou vedlejší produkt. Ne cíl úkolu. Ale zachycují sémantický význam.
Moderní přístup (transformery):
Embeddingy se učí jako součást většího modelu. Jazykový model předpovídá další slovo. Obrazový model klasifikuje objekty. Embeddingy vznikají jako vnitřní reprezentace.
Jsou kontextové. Stejné slovo dostává různé embeddingy v různých kontextech. „Banka" (finanční) vs. „břeh" (řeky) dostávají různé reprezentace.
Sémantický prostor
Embeddingy vytvářejí geometrický prostor, kde význam je geometrie.
- Podobnost = Blízkost: Podobné koncepty se shlukují. Zvířata se shlukují. Vozidla se shlukují. Abstraktní koncepty se shlukují. Vzdálenost měří podobnost.
- Vztahy = Směry: Slavný příklad: král - muž + žena ≈ královna
Vektorová aritmetika zachycuje vztahy. Směr od „muž" k „král" (od pohlaví k panovnické hodnosti) je podobný směru od „žena" ke „královna".
Analogie se stávají vektorovými operacemi. Ohromující, ale funguje to.
Dimenze = Vlastnosti:
Každá dimenze zachycuje nějakou vlastnost. Jedna dimenze může být „živost" (živé versus neživé). Další může být „velikost". Další „abstraktnost".
Stovky dimenzí zachycují stovky vlastností. Dohromady představují význam.
Různé typy embeddingů
- Word embeddingy: Slova na vektory. Word2Vec, GloVe, FastText. Základ NLP.
- Větné embeddingy: Celé věty na vektory. Zachycují význam celých vět, ne jen slov. Používají se pro sémantické vyhledávání.
- Obrázkové embeddingy: Obrázky na vektory. CNN prvky. Výstupy vision transformerů. Umožňují vyhledávání obrázků a porovnávání podobnosti.
- Multimodální embeddingy: Různé modality do stejného prostoru. Text a obrázky získávají srovnatelné embeddingy. Tohle dělá CLIP. Umožňuje vyhledávání napříč modalitami.
- Grafové embeddingy: Uzly v grafech na vektory. Zachycují strukturu sítě. Používají se v sociálních sítích a znalostních grafech.
Jak se embeddingy používají
- Vyhledávání podobnosti: Najděte podobné položky. Nejbližší sousedé v prostoru embeddingů. Vyhledávače, doporučovací systémy.
- Klasifikace: Použijte embeddingy jako příznaky pro klasifikaci. Sémantické příznaky, ne surová data. Lepší generalizace.
- Shlukování: Seskupte podobné položky. K-means na embeddingech. Modelování témat, segmentace zákazníků.
- Transfer Learning: Použijte embeddingy z velkého modelu pro malý úkol. Předtrénované znalosti se přenášejí. Běžné ve vision a NLP.
- Generativní rozšíření pomocí vyhledávání: Embedujte dotazy a dokumenty. Vyhledejte relevantní dokumenty. Poskytněte je jazykovému modelu. Faktické odpovědi AI.
Binární embeddingy (efektivní alternativa)
Tradiční embeddingy: vektory s plovoucí desetinnou čárkou. 32 bitů na dimenzi. Velká paměťová náročnost.
Binární embeddingy: 1 bit na dimenzi. Každá dimenze je +1 nebo -1. 32× méně paměti.
Jak fungují:
Nejprve se embeddingy naučíte normálně. Poté je binarizujete: kladné dimenze se stanou +1, záporné -1.
Podobnost: místo skalárního součinu použijte Hammingovu vzdálenost nebo XNOR-popcount. Mnohem rychlejší.
Kompromisy:
Ztratíte část přesnosti. Ale u mnoha úloh na tom nezáleží. Vyhledávání a hledání nejbližších sousedů fungují s binárními embeddingy dobře.
Zisk: obrovská rychlost a paměťová efektivita. Nasazení na okrajových zařízeních. Zpracování miliard vektorů rychle.
Přístup společnosti Dweve:
Omezení jsou binární vzory. Inherentně binární embeddingy. Hypervektory o 65 536 bitech. Efektivní ukládání, rychlé operace.
Porovnávání vzorů pomocí XNOR a popcount. Podobnost pomocí počítání shod. Binární až do základu.
Na rozměrech záleží
Kolik dimenzí? Více není vždy lepší.
Příliš málo dimenzí: Nelze zachytit složitost. Různé koncepty se srážejí. Ztrácíte důležitá rozlišení.
Příliš mnoho dimenzí: Výpočetní náklady. Využití paměti. Přeučení. Prokletí dimenzionality (ve vysokých dimenzích se vše stává stejně vzdálené).
Typické velikosti:
Word embeddingy: 100-300 dimenzí
Sentence embeddingy: 384-1024 dimenzí
Image embeddingy: 512-2048 dimenzí
Binární hypervektory: 1024-65536 bitů (pro robustní vlastnosti)
Volba závisí na složitosti úlohy a výpočetním rozpočtu.
Co si zapamatovat
- 1. Embeddingy převádějí vše na čísla. Slova, obrázky, koncepty se stávají vektory. Umožňuje zpracování AI.
- 2. Význam se stává geometrií. Podobné koncepty dostávají podobné vektory. Vzdálenost měří podobnost. Směry zachycují vztahy.
- 3. Naučené z dat, ne ručně vytvořené. Neuronové sítě se učí embeddingy jako součást trénování. Vzory v datech určují reprezentaci.
- 4. Umožňují sémantické operace. Matematika s vektory odráží uvažování o významu. Vektorová aritmetika provádí analogie.
- 5. Více typů pro různá data. Slova, věty, obrázky, grafy. Každý má specializované metody embeddingu.
- 6. Binární embeddingy nabízejí efektivitu. 1 bit na dimenzi místo 32. Obrovské paměťové a rychlostní zisky. Funguje pro mnoho úloh.
- 7. Dimensionalita je kompromis. Více dimenzí zachycuje více složitosti. Ale stojí výpočetní zdroje. Je potřeba rovnováha.
Závěr
Embeddingy jsou způsob, jakým AI překlenuje propast mezi lidskými pojmy a strojovým výpočtem. Vše podstatné se převádí na vektory v prostoru, kde podobnost významu odpovídá podobnosti geometrie.
Nejde jen o reprezentaci. Je to základ moderní AI. Vyhledávání, doporučování, generování, porozumění. To vše stojí na embeddingách.
Vektory nejsou libovolné. Jsou naučené tak, aby zachycovaly sémantickou strukturu. Geometrie odráží význam. Matematické operace odpovídají uvažování.
Binární embeddingy ukazují, že pro sémantický význam nepotřebujete přesnost v plovoucí řádové čárce. Jednobitové reprezentace fungují. Efektivně. Ve velkém měřítku. Nasazené kdekoli.
Porozumět embeddingům znamená porozumět tomu, jak AI vidí svět. Ne jako slovům nebo obrázkům. Jako vektorům ve vysokorozměrném prostoru, kde význam je matematika.
Chcete efektivní embeddingy? Prozkoumejte hypervektorový přístup Dweve. Binární vzory o 65 536 bitech. Podobnost založená na XNOR. Sémantický význam v binárním prostoru. Reprezentace, která pracuje rychlostí hardwaru.