Matapos ang tagumpay ng mga transformer model sa paglutas ng mga gawain sa NLP, ang parehong arkitektura o mga katulad nito ay inilapat sa mga gawain sa computer vision. Lumalago ang interes sa paggawa ng mga modelong pinagsasama ang kakayahan sa vision at natural language. Isa sa mga ganitong pagsubok ay ginawa ng OpenAI, na tinawag na CLIP at DALL.E.
Ang pangunahing ideya ng CLIP ay ang kakayahang ihambing ang mga text prompt sa isang imahe at tukuyin kung gaano kahusay na tumutugma ang imahe sa prompt.
Larawan mula sa blog post na ito
Ang modelo ay sinanay gamit ang mga imaheng nakuha mula sa Internet at ang kanilang mga caption. Para sa bawat batch, kumukuha tayo ng N pares ng (imahe, teksto), at kino-convert ang mga ito sa mga vector representation I, ..., T. Ang mga representasyong ito ay itinatapat sa isa't isa. Ang loss function ay idinisenyo upang i-maximize ang cosine similarity sa pagitan ng mga vector na tumutugma sa isang pares (hal. I at T), at i-minimize ang cosine similarity sa lahat ng iba pang pares. Ito ang dahilan kung bakit tinawag ang approach na ito na contrastive.
Ang CLIP model/library ay makukuha mula sa OpenAI GitHub. Ang approach na ito ay ipinaliwanag sa blog post na ito, at mas detalyado sa papel na ito.
Kapag ang modelong ito ay na-pretrain na, maaari nating bigyan ito ng batch ng mga imahe at batch ng mga text prompt, at ang ibabalik nito ay isang tensor na may mga probabilidad. Ang CLIP ay maaaring gamitin sa iba't ibang gawain:
Image Classification
Halimbawa, kailangan nating i-classify ang mga imahe sa pagitan ng, sabihin nating, pusa, aso, at tao. Sa kasong ito, maaari nating bigyan ang modelo ng isang imahe, at isang serye ng mga text prompt: "isang larawan ng pusa", "isang larawan ng aso", "isang larawan ng tao". Sa resultang vector ng 3 probabilidad, pipiliin lang natin ang index na may pinakamataas na halaga.
Larawan mula sa blog post na ito
Text-Based Image Search
Maaari rin nating gawin ang kabaligtaran. Kung mayroon tayong koleksyon ng mga imahe, maaari nating ipasa ang koleksyong ito sa modelo, kasama ang isang text prompt - magbibigay ito ng imahe na pinaka-tugma sa ibinigay na prompt.
Buksan ang Clip.ipynb notebook upang makita ang CLIP sa aksyon.
Ang CLIP ay maaari ring gamitin para sa image generation mula sa isang text prompt. Upang magawa ito, kailangan natin ng isang generator model na kayang lumikha ng mga imahe batay sa isang vector input. Isa sa mga modelong ito ay tinatawag na VQGAN (Vector-Quantized GAN).
Ang mga pangunahing ideya ng VQGAN na nagtatangi dito mula sa karaniwang GAN ay ang mga sumusunod:
- Paggamit ng autoregressive transformer architecture upang makabuo ng isang sequence ng mga context-rich visual parts na bumubuo sa imahe. Ang mga visual parts na ito ay natutunan naman ng CNN.
- Paggamit ng sub-image discriminator na tumutukoy kung ang mga bahagi ng imahe ay "totoo" o "peke" (hindi tulad ng "all-or-nothing" na approach sa tradisyunal na GAN).
Alamin ang higit pa tungkol sa VQGAN sa Taming Transformers web site.
Isa sa mga mahalagang pagkakaiba ng VQGAN sa tradisyunal na GAN ay ang huli ay kayang gumawa ng disenteng imahe mula sa anumang input vector, habang ang VQGAN ay malamang na makagawa ng imahe na hindi coherent. Kaya, kailangan nating gabayan pa ang proseso ng paggawa ng imahe, at magagawa ito gamit ang CLIP.
Upang makabuo ng isang imahe na tumutugma sa isang text prompt, nagsisimula tayo sa isang random encoding vector na ipinapasa sa VQGAN upang makabuo ng isang imahe. Pagkatapos, ginagamit ang CLIP upang makabuo ng isang loss function na nagpapakita kung gaano kahusay na tumutugma ang imahe sa text prompt. Ang layunin ay i-minimize ang loss na ito, gamit ang back propagation upang ayusin ang mga parameter ng input vector.
Isang mahusay na library na nagpapatupad ng VQGAN+CLIP ay ang Pixray.
Mga larawan mula sa koleksyong Artificial Teachers ni Dmitry Soshnikov
Ang DALL-E ay isang bersyon ng GPT-3 na sinanay upang makabuo ng mga imahe mula sa mga prompt. Ito ay sinanay gamit ang 12-bilyong parameter.
Hindi tulad ng CLIP, ang DALL-E ay tumatanggap ng parehong teksto at imahe bilang isang solong stream ng mga token para sa parehong imahe at teksto. Kaya, mula sa maraming prompt, maaari kang makabuo ng mga imahe batay sa teksto.
Ang pangunahing pagkakaiba ng DALL.E 1 at 2 ay ang kakayahan nitong makabuo ng mas makatotohanang mga imahe at sining.
Mga halimbawa ng image generation gamit ang DALL-E:
- VQGAN Paper: Taming Transformers for High-Resolution Image Synthesis
- CLIP Paper: Learning Transferable Visual Models From Natural Language Supervision
Paunawa:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.








