|
|
||
|---|---|---|
| .. | ||
| Clip.ipynb | ||
| README.md | ||
README.md
Multi-modalne mreže
Nakon uspjeha transformera u rješavanju zadataka obrade prirodnog jezika (NLP), iste ili slične arhitekture primijenjene su na zadatke računalnog vida. Sve je veći interes za izgradnju modela koji bi kombinirali sposobnosti vida i prirodnog jezika. Jedan od takvih pokušaja napravio je OpenAI, a naziva se CLIP i DALL.E.
Kontrastivno učenje slika (CLIP)
Glavna ideja CLIP-a je usporediti tekstualne upite sa slikom i odrediti koliko dobro slika odgovara upitu.
Slika iz ovog blog posta
Model je treniran na slikama preuzetim s interneta i njihovim opisima. Za svaki batch uzimamo N parova (slika, tekst) i pretvaramo ih u vektorske reprezentacije I, ..., T. Te se reprezentacije zatim međusobno uparuju. Funkcija gubitka definirana je tako da maksimizira kosinusnu sličnost između vektora koji odgovaraju jednom paru (npr. I i T) i minimizira kosinusnu sličnost između svih ostalih parova. Zbog toga se ovaj pristup naziva kontrastivnim.
CLIP model/biblioteka dostupna je na OpenAI GitHubu. Pristup je opisan u ovom blog postu, a detaljnije u ovom radu.
Nakon što je ovaj model prethodno treniran, možemo mu dati batch slika i batch tekstualnih upita, a on će vratiti tensor s vjerojatnostima. CLIP se može koristiti za nekoliko zadataka:
Klasifikacija slika
Pretpostavimo da trebamo klasificirati slike, primjerice, između mačaka, pasa i ljudi. U tom slučaju možemo modelu dati sliku i niz tekstualnih upita: "slika mačke", "slika psa", "slika čovjeka". U rezultirajućem vektoru s 3 vjerojatnosti samo trebamo odabrati indeks s najvećom vrijednošću.
Slika iz ovog blog posta
Pretraživanje slika na temelju teksta
Možemo učiniti i suprotno. Ako imamo kolekciju slika, možemo tu kolekciju proslijediti modelu zajedno s tekstualnim upitom - to će nam dati sliku koja je najviše slična zadanom upitu.
✍️ Primjer: Korištenje CLIP-a za klasifikaciju slika i pretraživanje slika
Otvorite bilježnicu Clip.ipynb kako biste vidjeli CLIP u akciji.
Generiranje slika s VQGAN+CLIP
CLIP se također može koristiti za generiranje slika iz tekstualnog upita. Da bismo to učinili, potreban nam je generatorski model koji će moći generirati slike na temelju nekog vektorskog ulaza. Jedan od takvih modela naziva se VQGAN (Vector-Quantized GAN).
Glavne ideje VQGAN-a koje ga razlikuju od običnog GAN-a su sljedeće:
- Korištenje autoregresivne arhitekture transformera za generiranje sekvence vizualnih dijelova bogatih kontekstom koji čine sliku. Ti vizualni dijelovi se uče pomoću CNN-a.
- Korištenje diskriminatora podslika koji detektira jesu li dijelovi slike "stvarni" ili "lažni" (za razliku od pristupa "sve ili ništa" u tradicionalnim GAN-ovima).
Više o VQGAN-u saznajte na web stranici Taming Transformers.
Jedna od važnih razlika između VQGAN-a i tradicionalnog GAN-a je ta što potonji može proizvesti pristojnu sliku iz bilo kojeg ulaznog vektora, dok VQGAN vjerojatno neće proizvesti koherentnu sliku. Stoga je potrebno dodatno usmjeriti proces stvaranja slike, a to se može učiniti pomoću CLIP-a.
Za generiranje slike koja odgovara tekstualnom upitu, počinjemo s nekim nasumičnim vektorskim kodiranjem koje se prosljeđuje kroz VQGAN kako bi se proizvela slika. Zatim se CLIP koristi za stvaranje funkcije gubitka koja pokazuje koliko dobro slika odgovara tekstualnom upitu. Cilj je minimizirati taj gubitak koristeći backpropagation za prilagodbu parametara ulaznog vektora.
Odlična biblioteka koja implementira VQGAN+CLIP je Pixray.
Slike iz kolekcije Umjetni učitelji autora Dmitry Soshnikov
DALL-E
DALL-E 1
DALL-E je verzija GPT-3 trenirana za generiranje slika iz tekstualnih upita. Trenirana je s 12 milijardi parametara.
Za razliku od CLIP-a, DALL-E prima tekst i sliku kao jedinstveni niz tokena za slike i tekst. Stoga, iz više upita možete generirati slike na temelju teksta.
DALL-E 2
Glavna razlika između DALL-E 1 i 2 je ta što DALL-E 2 generira realističnije slike i umjetnička djela.
Primjeri generiranja slika s DALL-E:
Reference
- VQGAN rad: Taming Transformers for High-Resolution Image Synthesis
- CLIP rad: Learning Transferable Visual Models From Natural Language Supervision
Odricanje od odgovornosti:
Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane čovjeka. Ne preuzimamo odgovornost za nesporazume ili pogrešna tumačenja koja mogu proizaći iz korištenja ovog prijevoda.








