Skip to content

Latest commit

 

History

History
79 lines (46 loc) · 7.98 KB

File metadata and controls

79 lines (46 loc) · 7.98 KB

Multi-Modální Sítě

Po úspěchu modelů transformerů při řešení úloh NLP byly stejné nebo podobné architektury aplikovány na úlohy počítačového vidění. Roste zájem o vytváření modelů, které by kombinovaly schopnosti vidění a přirozeného jazyka. Jedním z takových pokusů je práce OpenAI, která vytvořila modely CLIP a DALL.E.

Kontrastní Předtrénování Obrázků (CLIP)

Hlavní myšlenkou CLIP je schopnost porovnávat textové výzvy s obrázkem a určit, jak dobře obrázek odpovídá dané výzvě.

CLIP Architektura

Obrázek z tohoto blogového příspěvku

Model je trénován na obrázcích získaných z internetu a jejich popiscích. Pro každou dávku vezmeme N párů (obrázek, text) a převedeme je na vektorové reprezentace I, ..., I / T, ..., T. Tyto reprezentace jsou následně spárovány. Ztrátová funkce je definována tak, aby maximalizovala kosinovou podobnost mezi vektory odpovídajícími jednomu páru (např. I a T) a minimalizovala kosinovou podobnost mezi všemi ostatními páry. Proto se tento přístup nazývá kontrastní.

Model/knihovna CLIP je dostupná na GitHubu OpenAI. Přístup je popsán v tomto blogovém příspěvku a podrobněji v tomto článku.

Jakmile je model předtrénován, můžeme mu předložit dávku obrázků a textových výzev, a vrátí tensor s pravděpodobnostmi. CLIP lze použít pro několik úloh:

Klasifikace Obrázků

Předpokládejme, že potřebujeme klasifikovat obrázky například na kočky, psy a lidi. V tomto případě můžeme modelu předložit obrázek a sérii textových výzev: "obrázek kočky", "obrázek psa", "obrázek člověka". Ve výsledném vektoru s 3 pravděpodobnostmi stačí vybrat index s nejvyšší hodnotou.

CLIP pro Klasifikaci Obrázků

Obrázek z tohoto blogového příspěvku

Vyhledávání Obrázků na Základě Textu

Můžeme také udělat opak. Pokud máme kolekci obrázků, můžeme tuto kolekci předložit modelu spolu s textovou výzvou – model nám vrátí obrázek, který je nejpodobnější dané výzvě.

Otevřete notebook Clip.ipynb, abyste viděli CLIP v akci.

Generování Obrázků s VQGAN+CLIP

CLIP lze také použít pro generování obrázků na základě textové výzvy. K tomu potřebujeme generátorový model, který bude schopen generovat obrázky na základě nějakého vektorového vstupu. Jedním z takových modelů je VQGAN (Vector-Quantized GAN).

Hlavní myšlenky VQGAN, které jej odlišují od běžného GAN, jsou následující:

  • Použití autoregresivní transformerové architektury k vytvoření sekvence vizuálních částí bohatých na kontext, které tvoří obrázek. Tyto vizuální části se učí pomocí CNN.
  • Použití diskriminátoru sub-obrázků, který detekuje, zda jsou části obrázku "reálné" nebo "falešné" (na rozdíl od přístupu "vše nebo nic" u tradičního GAN).

Více o VQGAN se dozvíte na webu Taming Transformers.

Jedním z důležitých rozdílů mezi VQGAN a tradičním GAN je, že tradiční GAN může vytvořit slušný obrázek z jakéhokoli vstupního vektoru, zatímco VQGAN pravděpodobně vytvoří obrázek, který nebude koherentní. Proto je třeba dále řídit proces tvorby obrázku, což lze provést pomocí CLIP.

VQGAN+CLIP Architektura

Pro generování obrázku odpovídajícího textové výzvě začneme s nějakým náhodným kódovacím vektorem, který je předán přes VQGAN k vytvoření obrázku. Poté je použit CLIP k vytvoření ztrátové funkce, která ukazuje, jak dobře obrázek odpovídá textové výzvě. Cílem je minimalizovat tuto ztrátu pomocí zpětné propagace k úpravě parametrů vstupního vektoru.

Skvělá knihovna, která implementuje VQGAN+CLIP, je Pixray.

Obrázek vytvořený Pixray Obrázek vytvořený Pixray Obrázek vytvořený Pixray
Obrázek vytvořený na základě výzvy detailní akvarelový portrét mladého učitele literatury s knihou Obrázek vytvořený na základě výzvy detailní olejový portrét mladé učitelky informatiky s počítačem Obrázek vytvořený na základě výzvy detailní olejový portrét starého učitele matematiky před tabulí

Obrázky z kolekce Umělí Učitelé od Dmitry Soshnikov

DALL-E

DALL-E je verze GPT-3 trénovaná na generování obrázků z výzev. Byl trénován s 12 miliardami parametrů.

Na rozdíl od CLIP přijímá DALL-E text i obrázek jako jeden tok tokenů pro obrázky i text. Proto lze z více výzev generovat obrázky na základě textu.

Hlavní rozdíl mezi DALL.E 1 a 2 je, že DALL.E 2 generuje realističtější obrázky a umění.

Příklady generování obrázků pomocí DALL-E:

Obrázek vytvořený Pixray Obrázek vytvořený Pixray Obrázek vytvořený Pixray
Obrázek vytvořený na základě výzvy detailní akvarelový portrét mladého učitele literatury s knihou Obrázek vytvořený na základě výzvy detailní olejový portrét mladé učitelky informatiky s počítačem Obrázek vytvořený na základě výzvy detailní olejový portrét starého učitele matematiky před tabulí

Reference

Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádné nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.