|
|
||
|---|---|---|
| .. | ||
| Clip.ipynb | ||
| README.md | ||
README.md
Rețele Multi-Modale
După succesul modelelor transformer în rezolvarea sarcinilor NLP, aceleași sau arhitecturi similare au fost aplicate și în sarcinile de viziune computerizată. Există un interes tot mai mare în construirea de modele care să combine capabilitățile de viziune și limbaj natural. Unul dintre aceste eforturi a fost realizat de OpenAI și se numește CLIP și DALL.E.
Contrastive Image Pre-Training (CLIP)
Ideea principală a CLIP este de a putea compara descrieri textuale cu o imagine și de a determina cât de bine corespunde imaginea descrierii.
Imagine din acest articol
Modelul este antrenat pe imagini obținute de pe Internet și pe descrierile lor. Pentru fiecare lot, luăm N perechi de (imagine, text) și le convertim în reprezentări vectoriale I, ..., I / T, ..., T. Aceste reprezentări sunt apoi potrivite între ele. Funcția de pierdere este definită pentru a maximiza similaritatea cosinusului între vectorii corespunzători unei perechi (de exemplu, I și T) și pentru a minimiza similaritatea cosinusului între toate celelalte perechi. Acesta este motivul pentru care această abordare se numește contrastivă.
Biblioteca/modelul CLIP este disponibilă pe GitHub-ul OpenAI. Abordarea este descrisă în acest articol și în detaliu în această lucrare.
Odată ce acest model este pre-antrenat, putem să-i oferim un lot de imagini și un lot de descrieri textuale, iar rezultatul va fi un tensor cu probabilități. CLIP poate fi utilizat pentru mai multe sarcini:
Clasificarea Imaginilor
Să presupunem că trebuie să clasificăm imagini între, să zicem, pisici, câini și oameni. În acest caz, putem oferi modelului o imagine și o serie de descrieri textuale: "o imagine cu o pisică", "o imagine cu un câine", "o imagine cu un om". În vectorul rezultat de 3 probabilități, trebuie doar să selectăm indexul cu cea mai mare valoare.
Imagine din acest articol
Căutare de Imagini Bazată pe Text
Putem face și invers. Dacă avem o colecție de imagini, putem transmite această colecție modelului și o descriere textuală - aceasta ne va oferi imaginea care este cea mai similară cu descrierea dată.
✍️ Exemplu: Utilizarea CLIP pentru Clasificarea Imaginilor și Căutarea de Imagini
Deschideți notebook-ul Clip.ipynb pentru a vedea CLIP în acțiune.
Generarea de Imagini cu VQGAN+CLIP
CLIP poate fi utilizat și pentru generarea de imagini dintr-o descriere textuală. Pentru a face acest lucru, avem nevoie de un model generator care să poată genera imagini pe baza unui vector de intrare. Unul dintre aceste modele se numește VQGAN (Vector-Quantized GAN).
Ideile principale ale VQGAN care îl diferențiază de GAN-ul obișnuit sunt următoarele:
- Utilizarea arhitecturii transformer autoregresive pentru a genera o secvență de părți vizuale bogate în context care compun imaginea. Aceste părți vizuale sunt învățate de CNN.
- Utilizarea unui discriminator de sub-imagini care detectează dacă părțile imaginii sunt "reale" sau "false" (spre deosebire de abordarea "totul sau nimic" din GAN-ul tradițional).
Aflați mai multe despre VQGAN pe site-ul Taming Transformers.
Una dintre diferențele importante între VQGAN și GAN-ul tradițional este că cel din urmă poate produce o imagine decentă din orice vector de intrare, în timp ce VQGAN este probabil să producă o imagine incoerentă. Astfel, trebuie să ghidăm procesul de creare a imaginii, iar acest lucru poate fi realizat folosind CLIP.
Pentru a genera o imagine corespunzătoare unei descrieri textuale, începem cu un vector de codificare aleatoriu care este transmis prin VQGAN pentru a produce o imagine. Apoi, CLIP este utilizat pentru a produce o funcție de pierdere care arată cât de bine corespunde imaginea descrierii textuale. Scopul este de a minimiza această pierdere, utilizând backpropagation pentru a ajusta parametrii vectorului de intrare.
O bibliotecă excelentă care implementează VQGAN+CLIP este Pixray.
Imagini din colecția Artificial Teachers de Dmitry Soshnikov
DALL-E
DALL-E 1
DALL-E este o versiune a GPT-3 antrenată pentru a genera imagini din descrieri. A fost antrenată cu 12 miliarde de parametri.
Spre deosebire de CLIP, DALL-E primește atât textul, cât și imaginea ca un flux unic de tokeni pentru ambele. Prin urmare, din mai multe descrieri, puteți genera imagini bazate pe text.
DALL-E 2
Principala diferență între DALL-E 1 și 2 este că aceasta generează imagini și artă mai realiste.
Exemple de imagini generate cu DALL-E:
Referințe
- Lucrarea VQGAN: Taming Transformers for High-Resolution Image Synthesis
- Lucrarea CLIP: Learning Transferable Visual Models From Natural Language Supervision
Declinare de responsabilitate:
Acest document a fost tradus folosind serviciul de traducere AI Co-op Translator. Deși ne străduim să asigurăm acuratețea, vă rugăm să fiți conștienți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.








