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.
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ě.
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.
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.
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.
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ázky z kolekce Umělí Učitelé od Dmitry Soshnikov
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:
- Článek o VQGAN: Taming Transformers for High-Resolution Image Synthesis
- Článek o CLIP: Learning Transferable Visual Models From Natural Language Supervision
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.








