Hvordan kunstig intelligens genererer bilder. ML-ingeniør forklarer

Generative kontradiktoriske nettverk og deres mangler

For bare noen få år siden, state-of-the-art modeller i disse

oppgaver ble ansett som generativ-motstridendenevrale nettverk (generative adversarial networks eller GANs), som ble foreslått i 2014 av Goodfellow et al og har blitt betydelig forbedret de siste ni årene. For eksempel bevarer 2021 StyleGAN 3-modellen nøyaktig ansiktsdetaljer selv med skift og rotasjoner, mens forgjengerne genererer «støyende» detaljer i dette tilfellet, som hår, skjegg eller klesmønstre. Fagfolk og entusiaster har undret seg over hvor godt GAN-er kan generere bilder av ikke-eksisterende mennesker, dyr eller leiligheter.

Men på grunn av konkurransekraftenGAN-modeller er svært ustabile i trening, og de viser ikke et veldig stort utvalg av bildetyper når de genereres. I tillegg er de lite anvendelige i oppgaven med å generere bilder fra tekst, selv om det finnes eksempler på dette.

Resultater av bildegenerering etter StyleGAN 3-modell

Bommen i diffusjonsmodeller

Diffusjonsmodeller har tvert imottilstrekkelig variasjon av de genererte bildene og er ganske stabile. Deres største ulempe er hastigheten på læring og generering. Dusinvis eller til og med hundrevis av skjermkort er nødvendig for å trene en modell, og å generere et bilde ved å bruke en allerede opplært modell tar flere sekunder, i motsetning til GAN, hvor tellingen går til titalls millisekunder.

Generering resultater fra diffusjonsmodellen til Ho et al

Bommen rundt diffusjonsmodeller drives av utgangenstore generative tekst-til-bilde-modeller. Mange lesere har sikkert sett resultatene generert av DALL·E 2, MidJourney, Imagen eller Stable Diffusion. Noen kunstnere og illustratører bekymrer seg for at nevrale nettverk vil ta fra seg arbeidet deres, mens andre tror at dette bare vil hjelpe i den kreative prosessen. Programmerere og kunstnere mestrer prompt engineering - kunsten å velge tekst for å få mer nøyaktige generasjonsresultater - og deler interessante forespørsler og ikke mindre interessante resultater.

Lofi romveseninvasjon for å slappe av og studere til (Midjourney nevrale nettverk) 

1600-talls maleri av The Beatles (Model Stable Diffusion 2.1)

En dragefrukt iført karatebelte i snøen (bildemodell)

Hvordan fungerer diffusjonsmodeller?

Diffusjonsmodeller er iterative modeller somgodta tilfeldig støy som input. For å begynne, vurder den mest grunnleggende diffusjonsmodellen, DDPM (Denoising Diffusion Probabilistic Model), presentert av Ho et al. Denne modellen trenes trinn for trinn på en prøve på hundretusenvis av bilder, hvor tilfeldig støy av en viss kjent styrke påføres bildet fra prøven ved hvert trinn, og modellen lærer å reversere denne støyen, og dermed forbedre bildekvaliteten. Hvis vi iterativt bruker den trente modellen på denne måten på et bilde av helt tilfeldig støy, og inverterer "svak" støy ved hvert trinn, kan modellen generere et helt nytt bilde, og gradvis bli kvitt tilfeldig støy - ved hjelp av tilbakediffusjon.

Illustrasjon av den grunnleggende diffusjonsprosessen (fra CVPR 2022-veiledningen) 

Tilfeldig støy som genereres frabilde kan kombineres med en betingelse - et krav til et resultat, uttrykt i tekst eller et annet eksempelbilde. La oss først se på et eksempel fra SDEdit-artikkelen, der brukeren indikerer til det nevrale nettverket en tegning som består av store slag. Denne tegningen er ytterligere støyende til et punkt hvor den ikke kan skilles fra for eksempel et støyende fotografi, og deretter brukes en iterativ tilbakediffusjonsprosess, som rekonstruerer et bilde av høy kvalitet basert på den medfølgende tegningen. 

En illustrasjon av den mønsterdrevne diffusjonsprosessen (fra SDEdit-artikkelen)

En annen måte å lede generasjonen til ønsketresultatet er betingingen av modellen etter teksten. For å gjøre dette brukes språkmodeller, trent på bildepar og bildetekster til dem, som er i stand til å forstå betydningen av bilder og tekster samtidig. Et eksempel på en slik modell er CLIP (Contrastive Language - Image Pre-training) utgitt av OpenAI. Denne modellen er i stand til å oversette bilder og tekster til et felles latent vektorrom (hvor en vektor bare er en kolonne med noen verdier). I dette rommet blir det for eksempel mulig å finne de bildene som er nærmest en tekstforespørsel, siden dette bare er en algebraisk operasjon på vektorer.

Latent diffusjonsmodell,introduserte i 2021 en modell på et vektorrom av tekster for å generere bilder fra retningsstøy. Denne modellen bruker egenskapene til det felles latente rommet til tekster og bilder. Stabil diffusjon, Imagen og andre store tekst-til-bilde nevrale nettverk fungerer etter dette prinsippet.

En annen viktig teknikk som forbedrer kvalitetengenerasjon brukt i trening betingede diffusjon modeller er klassifiserer gratis veiledning. Enkelt sagt, jo høyere verdien av klassifisereren gratis veiledning-parameteren er, desto mer ligner resultatet på en tekstspørring, som ofte gir mindre variasjon i resultatene.

Problemer med diffusjonsmodeller

Selvfølgelig er ikke diffusjonsmodeller detuniversell løsning for problemet med bildegenerering. De er fortsatt utsatt for de samme problemene som GAN-er - ved første øyekast har ekte bilder betydelige ulemper - genererte mennesker kan ha mer enn fem fingre eller 32 tenner. Dessuten er disse modellene ganske dårlige til å generere tekst på bilder og til og med finne opp sitt eget "språk".

Artister skylder på Midjourney og Stability AI(selskapet bak Stable Diffusion) for brudd på opphavsrett ved utarbeidelse av treningsdata – de hevder at selskapene lastet ned bilder fra Internett uten samtykke fra artistene eller forsvarlig kompensasjon. Det er også en økende bekymring for at generative nettverk, inkludert stabil diffusjon, forsterker negative stereotypier om rase, kjønn og andre sosiale problemer fordi de er trent på partiske data hentet fra Internett. 

Historien om Adam og Eva, Noah og Zevs i stil med DC Comics (modell DALL·E 2) 

Hvordan prøve gratis

I motsetning til mange tidligere utviklinger innenområder av datasyn som ofte bare var tilgjengelig for programmerere, kan nye teknologier innen diffusjonsnettverk ofte prøves av alle. Den generelle trenden mot åpen kildekode-programvare og publisering av demoversjoner av nevrale nettverk gjør at startups som Hugging Face kan samle mange versjoner av modeller, for eksempel Stable Diffusion 2.1. De utvikler også diffusorbiblioteket, som er designet for å forenkle bruken av modeller i kode. 

Google Colab-tjenesten lar deg kjøre kode påGPU og TPU, så mange entusiaster bruker det til å publisere sine versjoner av modellen, for eksempel Disco Diffusion Warp-modellen, som er i stand til å endre stilen til videoen. 

Det er også praktiske grensesnitt til modeller.Så MidJourney nevrale nettverk har en gratis prøveversjon for flere dusin generasjoner, noe som er nok til å prøve tekst-til-bilde-modeller. OpenAI gir også prøvetilgang til DALL·E 2-modellen.

Hva er neste?

Vi kan trygt si at vi opplever en gullalderepoken med generering av nevrale nettverksbilder. Fellesskapet venter spent på fremtidige produkter fra Google, som har gitt ut den private spredningsmodellen Imagen og et stort antall artikler om bilderedigering og generering, inkludert bruk av andre kunstig intelligens-teknologier. 

Nye startups dukker opp innen feltet for å skape ogbilderedigering som med suksess konkurrerer med giganter som OpenAI eller Google. Nye artikler om diffusjonsmodeller publiseres nesten ukentlig, og omfanget av deres bruk i dag er ikke begrenset til de listede oppgavene for 2D datasyn – de brukes i medisinske bildeoppgaver, videogenerering og 3D-tekst. 

Les mer:

Mysteriet med de røde stripene på satellitten til Jupiter blir avslørt

Fant en "umulig" planet. Hun trosser moderne vitenskap

Mystiske sekskantede "honningkaker" i saltørkener fant en forklaring