Andersons vinkel

UniTune: Googles alternativ til neuralt bilde-redigeringsteknikk

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Google Research ser ut til å angripe tekstbasert bilde-redigering fra flere hold, og ventelig å se hva som “fungerer”. Like etter denne ukes lansering av deres Imagic-papir, har søkegiganten foreslått en ytterligere latent diffusjonsbasert metode for å utføre ellers umulige AI-baserte redigeringer av bilder via tekstkommandoer, denne gangen kalt UniTune.

Basert på eksemplene gitt i prosjektets nye papir, har UniTune oppnådd en ekstraordinær grad av disentanglement av semantisk pose og idé fra faktisk hard bildeinnhold:

UniTunes kommando over semantisk komposisjon er utmerket. Merk hvordan i den øverste raden av bilder, ansiktene til de to personene ikke er forvrengt av den ekstraordinære transformasjonen av resten av kildebildet (høyre).

UniTunes kommando over semantisk komposisjon er utmerket. Merk hvordan i den øverste raden av bilder, ansiktene til de to personene ikke er forvrengt av den ekstraordinære transformasjonen av resten av kildebildet (høyre). Kilde: https://arxiv.org/pdf/2210.09477.pdf

Som Stable Diffusion-tilhengere har lært, kan å applikere redigeringer til deler av et bilde uten å forringe resten av bildet, være en vanskelig, noen ganger umulig operasjon. Selv om populære distribusjoner som AUTOMATIC1111 kan lage masker for lokale og begrensede redigeringer, er prosessen torturøs og ofte uforutsigbar.

Det åpenbare svaret, i alle fall for en datavitskapspraktiker, er å sette inn et lag av semantisk segmentering som kan gjenkjenne og isolere objekter i et bilde uten brukerintervensjon, og faktisk har det vært flere nye initiativer nylig langs denne tankelinjen.

En annen mulighet for å låse ned uordentlige og sammenfiltra neurale bilde-redigeringer er å utnytte OpenAIs innflytelsesrike Contrastive Language-Image Pre-training (CLIP)-modul, som er hjertet av latente diffusjonsmodeller som DALL-E 2 og Stable Diffusion, for å fungere som en filter ved punktet hvor en tekst-til-bilde-modell er klar til å sende en tolket gjengivelse tilbake til brukeren. I denne sammenhengen bør CLIP fungere som en vakt og kvalitetskontrollmodul, som avviser feilaktige eller andre upassende gjengivelser. Dette er i ferd med å bli institusjonalisert (Discord-lenke) på Stability.aiss DreamStudio API-drevne portal.

Men, siden CLIP er både skyldig og løsning i en slik scenario (fordi den i stor grad også informerte måten bildet ble utviklet på), og siden hardware-kravene kan overstige hva som sannsynligvis vil være tilgjengelig lokalt for en sluttbruker, kan denne tilnærmingen ikke være ideal.

Komprimert språk

Det foreslåtte UniTune “finjusterer” en eksisterende diffusjonsmodell – i dette tilfelle, Googles egen Imagen, selv om forskerne sier at metoden er kompatibel med andre latente diffusjonsarkitekturer – slik at en unik token injiseres i den som kan kalles opp ved å inkludere den i en tekstprompt.

Ved første øyekast ser dette ut som Googles DreamBooth, som for tiden er en besettelse blant Stable Diffusion-tilhengere og utviklere, som kan injisere nye karakterer eller objekter i en eksisterende checkpoint, ofte på mindre enn en time, basert på bare noen få kildebilder; eller som Textual Inversion, som lager “sidecar”-filer for en checkpoint, som behandles som om de var opprinnelig trent inn i modellen, og kan dra nytte av modellens egne enorme ressurser ved å modifisere dens tekstklassifiserer, noe som resulterer i en liten fil (i sammenligning med de minste 2 GB pruned checkpoints av DreamBooth).

I virkeligheten hevder forskerne at UniTune avviste begge disse tilnærmingene. De fant at Textual Inversion utelot for mange viktige detaljer, mens DreamBooth “fungerte dårligere og tok lengre tid” enn løsningen de til slutt valgte.

Likevel bruker UniTune samme innkapslet semantisk “metaprompt”-tilnærming som DreamBooth, med trente endringer som kalles opp av unike ord valgt av treneren, som ikke vil komme i konflikt med noen termer som allerede eksisterer i en omhyggelig trent offentlig modell.

‘For å utføre redigeringsoperasjonen, sampler vi de finjusterte modellene med prompten “[sjeldne_token] redigeringsprompt” (f.eks. “beikkpic to hunder i en restaurant” eller “beikkpic en minion”).’

Prosess

Selv om det er forvirrende hvorfor to nesten identiske papirer, i terms of deres endelige funksjonalitet, skulle ankomme fra Google i samme uke, er det, til tross for en enorm mengde likheter mellom de to initiativene, minst en tydelig forskjell mellom UniTune og Imagic – den siste bruker “ukomprimerte” naturlige språkprompts for å guide bilde-redigeringer, mens UniTune trener inn unike DreamBooth-liknende token.

Derfor, hvis du redigerte med Imagic og ønsket å utføre en transformasjon av denne typen…

Fra UniTune-papiret - UniTune setter seg mot Googles favoritt-rival neuralt redigeringsrammeverk, SDEdit. UniTunes resultater er på høyre side, mens den estimerte masken sees i det andre bildet fra venstre.

Fra UniTune-papiret – UniTune setter seg mot Googles favoritt-rival neuralt redigeringsrammeverk, SDEdit. UniTunes resultater er på høyre side, mens den estimerte masken sees i det andre bildet fra venstre.

.. i Imagic, ville du skrevet ‘den tredje personen, sittende i bakgrunnen, som en pen pelsmonster’.

Den tilsvarende UniTune-kommandoen ville være ‘Mannen bak som [x]’, hvor x er hva som helst uvanlig og unikt ord som var bundet til den finjusterte konseptet assosiert med pelsmonstret.

Der hvor et antall bilder matas inn i enten DreamBooth eller Textual Inversion med intensjonen om å skape en deepfake-liknende abstraksjon som kan kommanderes inn i mange poser, matas både UniTune og Imagic inn et enkelt bilde i systemet – det opprinnelige, rene bildet.

Dette er lignende måten mange GAN-baserte redigeringsverktøy de siste årene har operert – ved å konvertere et inndata-bilde til latente koder i GANs latente rom og deretter adresse disse kodene og sende dem til andre deler av det latente rommet for modifikasjon (dvs. inndata et bilde av en ung mørkhåret person og projicere det gjennom latente koder assosiert med “gammel” eller “blond”, osv.).

Men resultater, i en diffusjonsmodell, og ved denne metoden, er ganske slående nøyaktige i sammenligning, og langt mindre tvetydige:

Finjusteringsprosessen

UniTune-metoden sender essensielt det opprinnelige bildet gjennom en diffusjonsmodell med en sett av instruksjoner om hvordan det skal modifiseres, ved å bruke de enorme lagrene av tilgjengelige data trent inn i modellen. I virkeligheten kan du gjøre dette nå med Stable Diffusions img2img-funksjonalitet – men ikke uten å forvreng eller på noen måte endre deler av bildet som du ville ønske å beholde.

Under UniTune-prosessen er systemet finjustert, det vil si at UniTune tvinger modellen til å gjenoppta trening, med de fleste av dens lag ufrosset (se under). I de fleste tilfeller vil finjustering ødelegge de overordnede generelle tapverdiene til en hardt-vunnet høy-ytende modell til fordel for å injisere eller forbedre noen andre aspekt som ønskes å skapes eller forbedres.

Men med UniTune ser det ut til at modellkopien som påvirkes, selv om den kan veie flere gigabyte eller mer, vil bli behandlet som en disponibel sekundær “skall”, og kastet ved slutten av prosessen, etter å ha tjent et enkelt formål. Denne type av datatonnasje er i ferd med å bli en hverdagslig lagringskrise for DreamBooth-tilhengere, hvis egne modeller, selv når de er pruned, ikke er mindre enn 2 GB per emne.

Som med Imagic, skjer hovedjusteringen i UniTune på de to laveste av de tre lagene i Imagen (base 64px, 64px>256px og 256px>1024px). I motsetning til Imagic, ser forskerne noen potensiell verdi i å optimalisere justeringen også for dette siste og største super-oppløsningslaget (selv om de ikke har forsøkt det ennå).

For det laveste 64px-laget, er modellen bias mot basebildet under trening, med multiple duplikatpar av bilde/tekst matas inn i systemet for 128 iterasjoner ved en batch-størrelse på 4, og med Adafactor som tapfunksjon, opererende ved en læringsrate på 0,0001. Selv om T5-encoderen alene er frosset under denne finjusteringen, er den også frosset under primær trening av Imagen

Den ovennevnte operasjonen gjentas deretter for 64>256px-laget, ved å bruke samme støyforsterkningsprosedyre som ble brukt i den opprinnelige treningen av Imagen.

Sampling

Det finnes mange mulige sampling-metoder som kan brukes for å fremkalle endringene som er gjort, inkludert Classifier Free Guidance (CFG), en hovedsak også i Stable Diffusion. CFG definerer essensielt omfanget av hvor mye modellen er fri til å “følge sin fantasi” og utforske gjengivelsesmulighetene – eller også, ved lavere innstillinger, omfanget av hvor mye den bør holde seg til inndatakilden og gjøre færre sveipende eller dramatiske endringer.

Liksom Textual Inversion (en litt mindre med DreamBooth), er UniTune åpne for å anvende distinkte grafiske stiler til opprinnelige bilder, samt mer fotorealistiske redigeringer.

Liksom Textual Inversion (en litt mindre med DreamBooth), er UniTune åpne for å anvende distinkte grafiske stiler til opprinnelige bilder, samt mer fotorealistiske redigeringer.

Forskerne eksperimenterte også med SDEdits “late start”-teknikk, hvor systemet oppmuntres til å bevare opprinnelig detalj ved å være bare delvis “støy” fra starten av, men heller vedlikeholde sine essensielle karakteristika. Selv om forskerne bare brukte dette på det laveste av lagene (64px), tror de at det kunne være en nyttig tilleggsampling-teknikk i fremtiden.

Forskerne utnyttet også prompt-til-prompt som en ytterligere tekstbasert teknikk for å kondisjonere modellen:

‘I “prompt-til-prompt”-innstillingen fant vi at en teknikk vi kaller Prompt Guidance er spesielt nyttig for å justere trofasthet og uttrykksfullhet.

‘Prompt Guidance er lignende Classifier Free Guidance, bortsett fra at baseline er en annen prompt i stedet for den ubetingede modellen. Dette guider modellen mot deltaet mellom de to promptene.’

Prompt-til-prompt i UniTune, effektivt isolerer områder som skal endres.

Prompt-til-prompt i UniTune, effektivt isolerer områder som skal endres.

Men prompt-guidance, hevder forfatterne, ble bare nødvendig noen ganger i tilfeller hvor CFG ikke klarte å oppnå det ønskede resultatet.

En annen ny sampling-tilnærming som ble møtt under utviklingen av UniTune var interpolering, hvor områder av bildet er tilstrekkelig distinkte at både det opprinnelige og det endrede bildet er svært like i komposisjon, og tillater en mer “naiv” interpolering å bli brukt.

Interpolering kan gjøre de høyere anstrengelsesprosessene til UniTune redundante i tilfeller hvor områder som skal transformeres er diskrete og godt avgrensede.

Interpolering kan gjøre de høyere anstrengelsesprosessene til UniTune redundante i tilfeller hvor områder som skal transformeres er diskrete og godt avgrensede.

Forfatterne foreslår at interpolering kunne potensielt fungere så godt, for et stort antall målbilder, at den kunne brukes som en standardinnstilling, og observerer også at den har kraften til å fremkalle ekstraordinære transformasjoner i tilfeller hvor komplekse okklusjoner ikke trenger å forhandles av mer intensive metoder.

UniTune kan utføre lokale redigeringer med eller uten redigeringsmasker, men kan også bestemme hvor redigeringer skal plasseres, med en uvanlig kombinasjon av tolkende kraft og robust essensialisering av kildebildedata:

I det øverste bildet i den andre kolonnen, har UniTune, oppgitt å sette inn en 'rød tog i bakgrunnen', plassert den i en passende og autentisk posisjon. Merk hvordan i de andre eksemplene, semantisk integritet til kildebildet opprettholdes, selv i midten av ekstraordinære endringer i pikselinnhold og kjernestiler av bildene.

I det øverste bildet i den andre kolonnen, har UniTune, oppgitt å sette inn en ‘rød tog i bakgrunnen’, plassert den i en passende og autentisk posisjon. Merk hvordan i de andre eksemplene, semantisk integritet til kildebildet opprettholdes, selv i midten av ekstraordinære endringer i pikselinnhold og kjernestiler av bildene.

Latens

Selv om den første iterasjonen av et nytt system alltid vil være langsomt, og selv om det er mulig at enten samfunnsengasjement eller bedriftsengasjement (det er vanligvis ikke begge) til slutt vil akselerere og optimere en ressurskrevende rutine, både UniTune og Imagic utfører noen ganske store maskinlæringsmanøvrer for å skape disse fantastiske redigeringer, og det er tvilsomt i hvilken grad en slik ressurskrevende prosess noen gang kan skaleres ned til hjemmebruk, i stedet for API-drevet tilgang (selv om den siste kan være mer ønskelig for Google).

På dette tidspunktet er turen fra inndata til resultat omtrent 3 minutter på en T4-GPU, med omtrent 30 sekunder ekstra for inferens (som per enhver inferensrutine). Forfatterne innrømmer at dette er høy latens, og knapt kvalifiserer som “interaktivt”, men de påpeker også at modellen forblir tilgjengelig for ytterligere redigeringer en gang den er innledende justert, til brukeren er ferdig med prosessen, noe som reduserer redigerings tid.

 

Først publisert 21. oktober 2022.

Forfatter innen maskinlæring, domenespesialist i menneskeskapesynthese. Tidligere sjef for forskningsinnhold i Metaphysic.ai, til det ble oppløst i DNEG's Brahma.ai.
Portfolio nettsted: martinanderson.ai
Kontakt: martin@martinanderson.ai