Etter suksessen med transformer-modeller for å løse NLP-oppgaver, har de samme eller lignende arkitekturer blitt brukt på oppgaver innen datamaskinsyn. Det er økende interesse for å bygge modeller som kan kombinere visuelle og språklige evner. En av disse forsøkene ble gjort av OpenAI, og kalles CLIP og DALL.E.
Hovedideen med CLIP er å kunne sammenligne tekstbeskrivelser med et bilde og avgjøre hvor godt bildet samsvarer med beskrivelsen.
Bilde fra denne bloggposten
Modellen er trent på bilder hentet fra Internett og deres bildetekster. For hver batch tar vi N par av (bilde, tekst) og konverterer dem til vektorrepresentasjoner I, ..., I / T, ..., T. Disse representasjonene matches deretter sammen. Tapfunksjonen er definert for å maksimere cosinus-similariteten mellom vektorer som tilsvarer ett par (f.eks. I og T), og minimere cosinus-similariteten mellom alle andre par. Det er grunnen til at denne tilnærmingen kalles kontrastiv.
CLIP-modellen/biblioteket er tilgjengelig fra OpenAI GitHub. Tilnærmingen er beskrevet i denne bloggposten og mer detaljert i denne artikkelen.
Når denne modellen er forhåndstrent, kan vi gi den en batch med bilder og en batch med tekstbeskrivelser, og den vil returnere en tensor med sannsynligheter. CLIP kan brukes til flere oppgaver:
Bildeklassifisering
Anta at vi må klassifisere bilder mellom for eksempel katter, hunder og mennesker. I dette tilfellet kan vi gi modellen et bilde og en serie tekstbeskrivelser: "et bilde av en katt", "et bilde av en hund", "et bilde av et menneske". I den resulterende vektoren med 3 sannsynligheter trenger vi bare å velge indeksen med høyest verdi.
Bilde fra denne bloggposten
Tekstbasert Bildesøk
Vi kan også gjøre det motsatte. Hvis vi har en samling bilder, kan vi sende denne samlingen til modellen og en tekstbeskrivelse - dette vil gi oss bildet som er mest likt den gitte beskrivelsen.
✍️ Eksempel: Bruke CLIP for Bildeklassifisering og Bildesøk
Åpne Clip.ipynb-notatet for å se CLIP i aksjon.
CLIP kan også brukes til bildegenerering fra en tekstbeskrivelse. For å gjøre dette trenger vi en generator-modell som kan generere bilder basert på en vektorinput. En av disse modellene kalles VQGAN (Vector-Quantized GAN).
Hovedideene til VQGAN som skiller den fra vanlige GAN er følgende:
- Bruk av autoregressiv transformer-arkitektur for å generere en sekvens av kontekstrike visuelle deler som utgjør bildet. Disse visuelle delene læres igjen av CNN.
- Bruk av sub-bilde diskriminator som oppdager om deler av bildet er "ekte" eller "falske" (i motsetning til "alt-eller-ingenting"-tilnærmingen i tradisjonelle GAN).
Lær mer om VQGAN på Taming Transformers nettsiden.
En av de viktige forskjellene mellom VQGAN og tradisjonelle GAN er at sistnevnte kan produsere et anstendig bilde fra hvilken som helst inputvektor, mens VQGAN sannsynligvis vil produsere et bilde som ikke er sammenhengende. Derfor må vi videre veilede bildeopprettingsprosessen, og det kan gjøres ved hjelp av CLIP.
For å generere et bilde som samsvarer med en tekstbeskrivelse, starter vi med en tilfeldig kodingsvektor som sendes gjennom VQGAN for å produsere et bilde. Deretter brukes CLIP til å produsere en tapfunksjon som viser hvor godt bildet samsvarer med tekstbeskrivelsen. Målet er da å minimere dette tapet, ved hjelp av backpropagation for å justere inputvektorens parametere.
Et flott bibliotek som implementerer VQGAN+CLIP er Pixray.
Bilder fra Artificial Teachers-samlingen av Dmitry Soshnikov
DALL-E er en versjon av GPT-3 trent til å generere bilder fra beskrivelser. Den er trent med 12 milliarder parametere.
I motsetning til CLIP mottar DALL-E både tekst og bilde som en enkelt strøm av tokens for både bilder og tekst. Derfor kan du generere bilder basert på flere beskrivelser.
Hovedforskjellen mellom DALL.E 1 og 2 er at den genererer mer realistiske bilder og kunst.
Eksempler på bildegenerering med DALL-E:
- VQGAN Artikkel: Taming Transformers for High-Resolution Image Synthesis
- CLIP Artikkel: Learning Transferable Visual Models From Natural Language Supervision
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.








