|
|
||
|---|---|---|
| .. | ||
| README.md | ||
README.md
Multi-Modal Nätverk
Efter framgången med transformer-modeller för att lösa NLP-uppgifter har samma eller liknande arkitekturer tillämpats på datorvisionsuppgifter. Det finns ett växande intresse för att bygga modeller som skulle kombinera visuella och naturliga språkkapaciteter. Ett av dessa försök gjordes av OpenAI, och det kallas CLIP och DALL.E.
Kontrastiv Bild För-Träning (CLIP)
Huvudidén med CLIP är att kunna jämföra textpromptar med en bild och avgöra hur väl bilden motsvarar prompten.
Bild från detta blogginlägg
Modellen tränas på bilder som erhållits från Internet och deras bildtexter. För varje batch tar vi N par av (bild, text), och omvandlar dem till vissa vektorrepresentationer I Du är tränad på data fram till oktober 2023. . Dessa representationer matchas sedan ihop. Förlustfunktionen definieras för att maximera kosinussimilariteten mellan vektorer som motsvarar ett par (t.ex. I och T), och minimera kosinussimilariteten mellan alla andra par. Det är anledningen till att denna metod kallas kontrastiv.
CLIP-modellen/biblioteket är tillgänglig från OpenAI GitHub. Metoden beskrivs i detta blogginlägg, och mer detaljerat i detta papper.
När denna modell är förtränad kan vi ge den en batch av bilder och en batch av textpromptar, och den kommer att returnera en tensor med sannolikheter. CLIP kan användas för flera uppgifter:
Bildklassificering
Anta att vi behöver klassificera bilder mellan, säg, katter, hundar och människor. I detta fall kan vi ge modellen en bild och en serie av textpromptar: "en bild av en katt", "en bild av en hund", "en bild av en människa". I den resulterande vektorn av 3 sannolikheter behöver vi bara välja indexet med det högsta värdet.
Bild från detta blogginlägg
Textbaserad Bildsökning
Vi kan också göra motsatsen. Om vi har en samling bilder kan vi skicka denna samling till modellen, och en textprompt - detta kommer att ge oss den bild som är mest lik en given prompt.
✍️ Exempel: Använda CLIP för Bildklassificering och Bildsökning
Öppna Clip.ipynb anteckningen för att se CLIP i aktion.
Bildgenerering med VQGAN+ CLIP
CLIP kan också användas för bildgenerering från en textprompt. För att göra detta behöver vi en generator-modell som kan generera bilder baserat på någon vektorinput. En av dessa modeller kallas VQGAN (Vektor-Quantized GAN).
De huvudsakliga idéerna med VQGAN som skiljer den från vanliga GAN är följande:
- Använda en autoregressiv transformerarkitektur för att generera en sekvens av kontext-rika visuella delar som utgör bilden. Dessa visuella delar lärs i sin tur av CNN
- Använda en sub-bilddiskriminator som upptäcker om delar av bilden är "äkta" eller "falska" (till skillnad från den "allt eller inget"-metoden i traditionella GAN).
Lär dig mer om VQGAN på Taming Transformers webbplats.
En av de viktiga skillnaderna mellan VQGAN och traditionella GAN är att den senare kan producera en anständig bild från vilken vektorinput som helst, medan VQGAN sannolikt kommer att producera en bild som inte skulle vara sammanhängande. Därför behöver vi ytterligare styra bildskapandeprocessen, och det kan göras med hjälp av CLIP.
För att generera en bild som motsvarar en textprompt börjar vi med en slumpmässig kodningsvektor som skickas genom VQGAN för att producera en bild. Sedan används CLIP för att producera en förlustfunktion som visar hur väl bilden motsvarar textprompten. Målet är då att minimera denna förlust, genom att använda backpropagation för att justera parametrarna för inputvektorn.
Ett fantastiskt bibliotek som implementerar VQGAN+CLIP är Pixray
Bilder från Artificial Teachers samlingen av Dmitry Soshnikov
DALL-E
DALL-E 1
DALL-E är en version av GPT-3 som tränats för att generera bilder från promptar. Den har tränats med 12 miljarder parametrar.
Till skillnad från CLIP tar DALL-E emot både text och bild som en enda ström av tokens för både bilder och text. Därför kan du generera bilder baserat på text från flera promptar.
DALL-E 2
Den huvudsakliga skillnaden mellan DALL-E 1 och 2 är att den genererar mer realistiska bilder och konst.
Exempel på bildgenereringar med DALL-E:
Referenser
- VQGAN Papper: Taming Transformers for High-Resolution Image Synthesis
- CLIP Papper: Learning Transferable Visual Models From Natural Language Supervision
Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av maskinbaserade AI-översättningstjänster. Även om vi strävar efter noggrannhet, vänligen var medveten om att automatiska översättningar kan innehålla fel eller oegentligheter. Det ursprungliga dokumentet på sitt modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår från användningen av denna översättning.








