
Autors: Stīvens Vans
"Ko es nevaru radīt, es nesaprotu." -
Ričards Feinmens
Priekšvārds
Izveidojiet skaistus attēlus, izmantojot Stable Diffusion un MidJourney.
Jūs esat prasmīgi izmantot ChatGPT un LLaMa, lai izveidotu elegantu tekstu.
Jūs pārslēdzaties uz priekšu un atpakaļ starp MuseNet un MuseGAN, lai radītu kalnu un plūstoša ūdens mūziku.
Nav šaubu, ka unikālākā cilvēka spēja ir radīšana, bet šodien, strauji attīstoties tehnoloģijām, mēs radām, radot mašīnas! Mašīnas var zīmēt oriģinālus mākslas darbus noteiktā stilā (zīmēt), uzrakstīt garu, saskaņotu rakstu (rakstīt), radīt skaistu mūziku (komponēt) un izstrādāt uzvaras stratēģijas sarežģītām spēlēm (spēlēt). Šī tehnoloģija ir ģeneratīvais mākslīgais intelekts. Tagad ir tikai GenAI revolūcijas sākums.
1. Ģeneratīvie un diskriminatīvie modeļi
GenAI ir buzzword, kam pamatā ir ģeneratīvie modeļi (generative model), kas ir mašīnmācības apakšnozare, kuras mērķis ir apmācīt modeļus, lai radītu jaunus datus, kas ir līdzīgi dotajai datu kopai.
Pieņemiet, ka mums ir zirgu datu kopa. Vispirms mēs varam apmācīt ģeneratīvo modeli uz šo datu kopu, lai iegūtu noteikumus, kas kontrolē sarežģītās attiecības starp pikseļiem zirgu attēlos. Pēc tam, ņemot paraugus no šī modeļa, mēs varam izveidot reālus zirgu attēlus, kuri nav sākotnējā datu kopā, kā parādīts zemāk.

Lai patiesi izprastu ģeneratīvā modeļa mērķi un nozīmi, ir nepieciešams salīdzināt to ar diskriminatīvo modeli (discriminative model). Patiesībā lielākā daļa problēmu mašīnmācībā tiek risinātas ar diskriminatīvajiem modeļiem, skatiet tālāk redzamo piemēru.
Pieņemiet, ka mums ir gleznu datu kopa, dažas no tām ir Van Goga gleznas, dažas no citām mākslinieka gleznām. Ar pietiekamu datu daudzumu mēs varam apmācīt diskriminatīvo modeli, lai prognozētu, vai dotā glezna ir radīta no Van Goga, kā parādīts zemāk.

Kad izmantojam diskriminatīvo modeli, katram piemēram apmācību kopā ir birka (label), attiecībā uz iepriekš minēto divu kategoriju problēmu parasti Van Goga gleznai ir birka 1, bet ne-Van Goga gleznai birka ir 0. Iepriekš redzamais modelis pēdējā prognozētā varbūtība ir 0.83, tāpēc tas, visticamāk, ir Van Goga darbs. Atšķirībā no diskriminatīvā modeļa, ģeneratīvais modelis nepieprasa, lai paraugā būtu birkas, jo tā mērķis ir radīt jaunus datus, nevis prognozēt birkas datiem.
Pabeigts piemērs, ļaujiet mums precīzi definēt ģeneratīvo un diskriminatīvo modeli ar matemātiskiem simboliem:
Diskriminatīvais modelis modelē P(y|x), nosakot raksturojumu x, lai novērtētu birku y nosacīto varbūtību.
Ģeneratīvais modelis modelē P(x), tieši novērtējot raksturojuma x varbūtību, no šīs varbūtību sadalījuma var paraugu ņemt, lai radītu jaunus raksturojumus.
Jāatzīmē, ka pat ja mēs varētu izveidot perfektu diskriminatīvo modeli, kas identificē Van Goga gleznas, tas joprojām nezina, kā radīt gleznu, kas izskatās kā Van Goga glezna, tas var tikai izsniegt varbūtību, proti, kāda ir iespēja, ka attēls nāk no Van Goga rokas. Tādējādi ģeneratīvais modelis ir daudz grūtāks nekā diskriminatīvais modelis.
2. Ģeneratīvo modeļu ietvars
Pirms saprast ģeneratīvo modeļu ietvaru, ļaujiet mums vispirms spēlēt spēli. Pieņemiet, ka zemāk redzamie punkti ir radīti saskaņā ar noteiktu noteikumu, ko mēs saucam par Pdata, tagad ļaujiet jums ģenerēt citu x = (x1, x2), lai šis punkts izskatās tā, it kā tas būtu radīts saskaņā ar to pašu noteikumu Pdata.

Kā jūs ģenerētu šo punktu? Jūs, iespējams, izmantojat dotos punktus, lai prātā izveidotu modeli Pmodel, un šajā modelī esošās pozīcijas varētu radīt vēlamo punktu. Tādējādi modelis Pmodel ir Pdata novērtējums. Visvienkāršākais modelis Pmodel ir oranžās kastes attēls, kur punkti var tikt radīti tikai kastē, un nevar tikt radīti ārpus kastes.

Lai radītu jaunus punktus, mēs varam nejauši izvēlēties punktu no kastītes, precīzāk sakot, ņemt paraugu no modeļa Pmodel sadalījuma (sampling). Tas ir minimāls ģeneratīvais modelis. Jūs izveidojat modeli (oranžā kaste) no apmācību datiem (melnie punkti), pēc tam varat ņemt paraugus no modeļa, cerot, ka radītie punkti izskatīsies līdzīgi apmācību kopā esošajiem punktiem.
Tagad mēs varam oficiāli formulēt ģeneratīvās mācīšanās ietvaru.

Tagad ļaujiet mums atklāt reālo datu ģenerēšanas sadalījumu Pdata un saprast, kā piemērot iepriekš minēto ietvaru šim piemēram. No zemāk redzamā attēla varam redzēt, ka datu ģenerēšanas noteikums Pdata ir punkti, kas vienmērīgi sadalīti uz sauszemes, un tie neparādās okeānā.

Acīmredzami mūsu modelis Pmodel ir noteikumu Pdata vienkāršojums. Pārbaudot iepriekš redzamos A, B un C punktus, var palīdzēt mums saprast, vai modelis Pmodel veiksmīgi atdarina noteikumus Pdata.
Punkts A neatbilst noteikumiem Pdata, jo tas parādās jūrā, bet to varētu radīt modelis Pmodel, jo tas parādās oranžajā kastē.
Punkts B nevar tikt radīts ar modeli Pmodel, jo tas ir ārpus oranžās kastes, bet tas atbilst noteikumiem Pdata, jo tas atrodas uz sauszemes.
Punkts C ir radīts ar modeli Pmodel un atbilst noteikumiem Pdata.
Šis piemērs demonstrē pamatprincipus ģeneratīvā modeļa, lai arī reālajā dzīvē tas ir daudz sarežģītāk, taču pamata struktūra ir vienāda.
3. Pirmais ģeneratīvais modelis
Pieņemiet, ka jūs esat uzņēmuma galvenais modes speciālists Chief Fashion Officer (CFO), jūsu pienākums ir radīt jaunas stilīgas drēbes. Šogad jūs saņemat 50 datus par modes kombinācijām (kā redzams zemāk), un jums ir jāizveido 10 jaunas modes kombinācijas.

Lai gan jūs esat galvenais modes speciālists, jūs esat arī datu zinātnieks, tāpēc esat nolēmis izmantot ģeneratīvo modeli, lai atrisinātu šo problēmu. Pēc tam, kad aplūkojāt iepriekš minētos 50 attēlus, jūs nolemjat izmantot piecus raksturojumus: aksesuāru veidu (accessies type), apģērba krāsu (clothing color), apģērba veidu (clothing type), matu krāsu (hair color) un matu veidu (hair type), lai aprakstītu modes kombinācijas.
Pirmajās 10 attēlu datu raksturojumos ir šādi.

Katram raksturojumam ir arī atšķirīgs skaits raksturojumu vērtību:
3 veidu aksesuāri (accessies type):
Tukšs, Apaļš, Saulesbrilles
8 apģērba krāsas (clothing color):
Melns, Zils01, Pelēks01, GaišiZaļš, GaišiOranžs, Rozā, Sarkans, Balts
4 apģērba veidi (clothing type):
Kapuce, Kombinezons, Krekls ar apaļu kakla izgriezumu, Krekls ar V veida kakla izgriezumu
6 matu krāsas (hair color):
Melns, Blondīne, Brūns, GaišiRozā, Sarkans, SudrabainiPelēks
7 matu veidi (hair type):
NavMatu, GarieMatiBulciņā, GarieMatiCirtainie, GarieMatiTaisni, ĪsieMatiĪsāViļņotie, ĪsieMatiĪsāLīdzīgie, ĪsieMatiSasistie
Tādējādi ir 3 * 8 * 4 * 6 * 7 = 4032 raksturojumu kombināciju, tāpēc var domāt, ka paraugu telpā ir 4032 punkti. No dotajiem 50 datu punktiem ir skaidrs, ka Pdata dažādiem raksturojumiem dod priekšroku noteiktām raksturojumu vērtībām. No iepriekš minētā tabulas var redzēt, ka attēlā biežāk sastopams ir balto apģērbu krāsa un sudrabaini pelēko matu krāsa. Tā kā mēs nezinām reālo Pdata, mēs varam izveidot modeli Pmodel, kas būtu tuvs Pdata.
3.1 Minimālais modelis
Vissimplākais veids ir piešķirt katram no 4032 raksturojumu kombinācijām varbūtības parametru, tāpēc modelis satur 4031 parametru, jo visu varbūtību parametru summa ir vienāda ar 1. Tagad mēs pārbaudām 50 datus pa vienam un atjauninām modeļa parametrus (θ1, θ2, …, θ4031), katra parametra izteiksme ir:

Kur N ir novēroto datu skaits, proti, 50, nj ir j-tās raksturojumu kombinācijas skaits 50 datos.
Piemēram, raksturojumu kombinācija (LongHairStraight, Red, Round, ShirtScoopNeck, White) (saukta par kombināciju 1) ir parādījusies divas reizes, tāpēc

Piemēram, raksturojumu kombinācija (LongHairStraight, Red, Round, ShirtScoopNeck, Blue01) (sauktā par kombināciju 2) nav parādījusies, tāpēc

Sekojoši noteikumiem, mēs aprēķinām θ vērtību visām 4031 kombinācijām, nav grūti pamanīt, ka daudzas θ vērtības ir 0, un vēl sliktāk ir tas, ka mēs nevaram radīt jaunas, agrāk neredzētas bildes (θ = 0 nozīmē, ka nekad nav novērotas bildes ar šo raksturojumu kombināciju). Lai atrisinātu šo problēmu, vienkārši jāpapildina saucēja skaita summa d skaitītājā un jāpapildina 1 skaitītājā, šī tehnika tiek saukta par Laplasa gludumu.

Tagad katram kombinācijai (ieskaitot tās, kas nav sākotnējā datu kopā) ir nenulles paraugu ņemšanas varbūtība, tomēr tas joprojām nav apmierinošs ģeneratīvais modelis, jo punktu varbūtība, kas nav sākotnējā datu kopā, ir konstante. Ja mēs mēģināsim izmantot šādu modeli, lai ģenerētu Van Goga gleznas, tas darbosies ar vienādu varbūtību uz abām gleznām:
Van Goga oriģinālo darbu kopijas (nav sākotnējā datu kopā)
Rastiskā pikseļu salikuma glezna (nav sākotnējā datu kopā)
Tas acīmredzot nav tas ģeneratīvais modelis, ko vēlamies, mēs ceram, ka tas spēs mācīties no datiem, lai iekļautu varbūtību svaru apgabalos, kurus tas uzskata par ticamākiem paraugu telpā, nevis koncentrētu visu varbūtību svaru uz punktiem, kas atrodas datu kopā.
3.2 Otrā minimālā modeļa
Naivais Beisa modelis (Naive Bayes) var ievērojami samazināt iepriekš minēto raksturojumu kombināciju skaitu, balstoties uz pieņēmumu, ka katrs raksturojums ir savstarpēji neatkarīgs. Atgriežoties pie iepriekšējiem datiem, cilvēka matu krāsa (raksturojums xj) un apģērba krāsa (raksturojums xk) nav saistīti, to matemātiskā izteiksmē var uzrakstīt šādi:
p(xj | xk) = p(xk)
Ar šo pieņēmumu mēs varam aprēķināt

Naivais Beisa modelis vienkāršo sākotnējo problēmu "veikt varbūtības novērtējumu katrai raksturojumu kombinācijai" līdz "veikt varbūtības novērtējumu katram raksturojumam", sākotnēji mums vajadzēja 4031 (3 * 8 * 4 * 6 * 7) parametrus, tagad nepieciešami tikai 23 (3 + 8 + 4 + 6 + 7) parametri, katra parametra izteiksme ir:

Kur N ir novēroto datu skaits, proti, 50, nkl ir k-tā raksturojuma l-tā vērtības skaits.
Veicot statistiku par 50 datiem, zemāk esošajā tabulā ir uzskaitītas Naivā Beisa modeļa parametru vērtības.

Lai aprēķinātu modeļa ģenerētā datu raksturojuma varbūtību, vienkārši jāreizina tabulā norādītās varbūtības, piemēram:

Iepriekš minētā kombinācija nav parādījusies sākotnējā datu kopā, taču modelis joprojām piešķir tam nenulles varbūtību, tādējādi tas joprojām var tikt ģenerēts ar modeli. Tādējādi Naivais Beisa modelis spēj mācīties no datiem, lai izprastu kādu struktūru un izmantotu to, lai radītu jaunas paraugus, kas nav redzēti sākotnējā datu kopā. Zemāk redzamais attēls ir modeļa radīto 10 jauno modes kombināciju attēli.

Šajā jautājumā raksturojumu skaits ir tikai 5, kas pieder pie zemas dimensijas datiem; Naivā Beisa modelis pieņem, ka tie ir savstarpēji neatkarīgi, tas joprojām ir saprātīgi, tāpēc modeļa ražotie rezultāti ir diezgan labi, tagad aplūkosim modeļa sabrukšanas piemēru.
4. Ģeneratīvo modeļu grūtības
4.1 Augstas dimensijas dati
Kā galvenais modes speciālists, jūs veiksmīgi izmantojāt Naivā Beisa metodi, lai radītu 10 jaunas modes kombinācijas, jūsu pašpārliecinātība ir augsta, un jūs domājat, ka jūsu modelis ir neuzvarams, līdz saskaraties ar nākamo datu kopu.

Šī datu kopa vairs netiek attēlota ar pieciem raksturojumiem, bet tiek attēlota ar 32*32 = 1024 pikseļiem, katra pikseļa vērtība var būt no 0 līdz 255, 0 nozīmē balts, 255 nozīmē melns. Zemāk esošajā tabulā ir uzskaitītas pirmajām 10 attēlu pikseļu 1 līdz 5 vērtības.

Izmantojot to pašu modeli, radiet 10 jaunas modes kombinācijas, šeit ir modeļa radītie rezultāti, katra izskatās līdzīga, un tās ir grūti atšķirt, kāpēc tas tā ir?

Vispirms, ņemot vērā to, ka Naivā Beisa modelis ir neatkarīga paraugu ņemšana, taču blakus pikseļi ir ļoti līdzīgi. Apģērbā pikseļiem vajadzētu būt aptuveni vienādiem, taču modelis veic nejaušu paraugu ņemšanu, tāpēc attēlā redzamie apģērbi ir visdažādākie. Otrkārt, augstas dimensijas paraugu telpā ir pārāk daudz iespēju, no kurām tikai neliela daļa ir atpazīstama. Ja Naivā Beisa modelis tieši apstrādā šīs cieši saistītās pikseļu vērtības, tad iespēja atrast apmierinošu vērtību kombināciju ir ļoti maza.
Tādējādi, ņemot vērā zemas dimensijas un zemas saistības raksturojumu paraugu telpu, Naivā Beisa modelis darbojas ļoti labi, pamatojoties uz neatkarīgas paraugu ņemšanas veidošanas efektu; bet augstas dimensijas un cieši saistītas raksturojumu paraugu telpā, neatkarīgi paraugu ņemšana, lai atrastu efektīvas sejas, gandrīz nav iespējama.
Šis piemērs uzsver divas grūtības, ar kurām ģeneratīvajiem modeļiem jāiznāk veiksmīgi:
Kā modelis apstrādā nosacītās atkarības attiecības starp augstas dimensijas raksturojumiem?
Kā modelis atrod apakšējo proporciju novērojumu, kas atbilst nosacījumiem augstas dimensijas paraugu telpā?
Lai ģeneratīvais modelis gūtu panākumus augstas dimensijas un cieši saistītajā paraugu telpā, ir jāizmanto dziļās mācīšanās modeļi. Mums ir nepieciešams modelis, kas spēj no datiem izdarīt secinājumus par saistītajām struktūrām, nevis tiek pateikts, kādas pieņēmumus iepriekš veikt. Dziļā mācīšanās var veidot savus raksturojumus zemas dimensijas telpā, un tas ir viens no reprezentācijas mācīšanās (representation learning) veidiem.
4.2 Reprezentācijas mācīšanās
Reprezentācijas mācīšanās ir augstas dimensijas datu attēlošanas nozīmes apguve.
Iedomājieties, ka jūs tiekaties ar kādu internetā, kuru nekad neesat satikuši, un ierodoties norunātajā vietā ir daudz cilvēku, jūs viņu vispār nevarat atrast, un zvanāt viņai, lai aprakstītu savu izskatu. Noteikti jūs nesakāt, ka jūsu attēla pikseļa 1 krāsa ir melna, pikseļa 2 krāsa ir gaiša melna, pikseļa 3 krāsa ir pelēka utt. Pretēji, jūs domājat, ka jūsu interneta paziņam ir vispārējs priekšstats par parasto cilvēku izskatu, un pēc tam, pamatojoties uz šo izpratni, aprakstiet pikseļu grupas raksturojumu, piemēram, jums ir melni, spīdīgi īsie mati, un valkā zeltainas brilles utt. Parasti nepārsniedzot 10 šādus aprakstus, jūsu interneta paziņš varēs radīt jūsu attēlu savā prātā, tas, iespējams, būs diezgan neprecīzs, bet tas netraucē interneta paziņam atrast jūs no simtiem cilvēku, pat ja viņš nekad nav redzējis jūs.
Tas ir galvenais domāšanas process, kas slēpjas reprezentācijas mācīšanā, nevis mēģinot tieši modelēt augstas dimensijas paraugu telpu (high-dimensional sample space), bet izmantojot dažas zemas dimensijas latentās telpas (low-dimensional latent space), lai aprakstītu katru novērojumu apmācību kopā, un pēc tam mācoties kartēšanas funkciju (mapping function), kas var ņemt punktu latentajā telpā un attēlot to sākotnējā paraugu telpā. Citiem vārdiem sakot, katrs punkts latentajā telpā attēlo augstas dimensijas datu raksturojumu.
Ja iepriekš minētais nav labi saprotams, lūdzu, skatiet attēlu, kas sastāv no dažām pelēktoņu burku attēliem, kas veido apmācību kopu.

Nav grūti pamanīt, ka šos burkas var aprakstīt ar diviem raksturojumiem: augstumu un platumu. Tādējādi mēs varam pārvērst attēlu augstas dimensijas pikseļu telpā divdimensiju latentā telpā, kā parādīts zemāk. Tādējādi mēs varam ņemt paraugus no latentās telpas (zilie punkti) un pēc tam ar kartēšanas funkciju f pārvērst tos attēlā.

Atzīt, ka sākotnējo datu kopu var attēlot ar vienkāršāku latentā telpas modeli, mašīnām nav viegli, vispirms mašīnai ir jāsaprot, ka augstums un platums ir divas vislabākās latentās telpas dimensijas, kas apraksta šo datu kopu, pēc tam jāapgūst kartēšanas funkcija $$f$$, kas var ņemt punktu šajā telpā un attēlot to pelēktoņu burkas attēlā. Dziļā mācīšanās ļauj mums apmācīt mašīnas, lai tās spētu atrast šīs sarežģītās attiecības bez cilvēku vadības.
5. Ģeneratīvo modeļu klasifikācija
Visu veidu ģeneratīvie modeļi galu galā ir vērsti uz to pašu uzdevumu, taču tie nedaudz atšķiras pēc blīvuma funkciju modelēšanas metodes, vispārīgi ir divas kategorijas:
Par blīvuma funkcijas skaidru modelēšanu (explicitly modeling),
bet kaut kādā veidā ierobežojot modeli, lai aprēķinātu blīvuma funkciju, piemēram, normalizētā plūsmā (normalizing FLOW model)
taču veicot blīvuma funkcijas tuvumu, piemēram, variācijas automātiskajā kodētājā (variational autoencoder, VAE) un izkliedes modelī (diffusion model)
par blīvuma funkcijas netiešu modelēšanu (implicitly modeling), tieši ģenerējot datu nejaušo procesu. Piemēram, ģeneratīvajā pretējo tīklā (generative adversarial network, GAN)

Kopsavilkums
Ģeneratīvā mākslīgā inteliģence (GenAI) ir veids, kā radīt jaunu saturu un idejas (ieskaitot tekstu, attēlus, video un mūziku). Tāpat kā visām mākslīgās inteliģences formām, GenAI ir liels modelis, kas iepriekš apmācīts, balstoties uz lieliem datu apjomiem, parasti saukts par pamata modeli (foundation model, FM). Ar GenAI mēs varam izveidot krāšņākus attēlus, rakstīt skaistākus tekstus, komponēt aizkustinošāku mūziku, taču pirmais solis ir saprast, kā GenAI rada jaunas lietas, kā to teica Richard Feynman: "Es nesapratīšu to, ko nespēju radīt."

