OpenAI baru-baru ini mengeluarkan sistem DALL·E 2, yang menyebabkan "gempa bumi" dalam dunia AI Sistem ini boleh mencipta imej berdasarkan penerangan teks. Ini adalah versi kedua sistem DALL·E, versi pertama dikeluarkan hampir setahun yang lalu. Walau bagaimanapun, dalam OpenAI, model di belakang DALL·E 2 dipanggil unCLIP, yang lebih dekat dengan sistem GLIDE OpenAI daripada DALL·E yang asal.
Bagi penulis, impak sistem DALL·E 2 adalah setanding dengan AlphaGo. Nampaknya model itu menangkap banyak konsep yang kompleks dan menggabungkannya dengan cara yang bermakna. Hanya beberapa tahun yang lalu, sukar untuk meramalkan sama ada komputer boleh menjana imej daripada penerangan teks seperti itu. Sam Altman menyebut dalam catatan blognya bahawa ramalan kami tentang AI nampaknya salah dan perlu dikemas kini, kerana AI telah mula menjejaskan kerja kreatif dan bukannya kerja mekanikal dan berulang.
Artikel ini bertujuan untuk membawa pembaca melalui evolusi model penjanaan imej berpandukan teks OpenAI, termasuk versi pertama dan kedua DALL·E dan model lain.
Versi pertama DALL·E ialah penyahkod pengubah gaya GPT-3 yang boleh berdasarkan input teks dan secara pilihan imej memulakan autoregresi untuk menjana imej bersaiz 256×256.
Anda mesti pernah melihat kerusi alpukat ini:
Daripada catatan blog asal.
Jika anda ingin memahami cara transformer seperti GPT berfungsi, lihat penjelasan visual Jay Alammar yang hebat: https://jalammar.github.io/how-gpt3-works-visualizations-animations/
Teks dikodkan oleh token BPE (sehingga 256), dan imej dikodkan oleh token imej khas (1024 daripadanya) yang dijana oleh pengekod auto variasi diskret (dVAE). dVAE mengekod imej 256×256 ke dalam grid 32×32 token, dengan perbendaharaan kata sebanyak 8192 nilai yang mungkin. dVAE kehilangan beberapa butiran dan ciri frekuensi tinggi dalam imej yang dijana, jadi DALL·E menggunakan beberapa ciri kabur dan melicinkan dalam imej yang dijana.
Perbandingan imej asal (atas) dan pembinaan semula dVAE (bawah). Imej dari kertas asal.
Transformer yang digunakan di sini ialah model besar dengan parameter saiz 12B Ia terdiri daripada 64 blok transformer jarang dan mempunyai set mekanisme perhatian yang kompleks secara dalaman, termasuk: 1) Teks klasik kepada. mekanisme topeng perhatian teks, 2) imej kepada perhatian teks, 3) imej kepada imej perhatian yang jarang. Ketiga-tiga jenis perhatian digabungkan menjadi satu operasi perhatian. Model ini dilatih pada set data pasangan teks imej 250M.
Penyahkod pengubah seperti GPT-3 yang mengambil satu siri token teks dan token imej (pilihan) (di sini token imej tunggal dengan id 42) dan menghasilkan imej Kesinambungan (di sini ialah token imej seterusnya dengan id 1369)
Model terlatih menjana beberapa sampel (sehingga 512) berdasarkan teks yang disediakan, dan kemudian lulus semua sampel ini melalui proses yang dipanggil CLIP Model khas diisih dan kedudukan teratas dipilih sebagai hasil model.
Beberapa contoh penjanaan imej daripada kertas asal.
CLIP pada asalnya ialah model tambahan berasingan yang digunakan untuk menentukan kedudukan hasil DALL·E. Namanya adalah singkatan daripada Contrastive Language-Image Pra-Training.
Idea di sebalik CLIP adalah mudah. Pengarang mengambil set data pasangan teks imej (bersaiz 400M) daripada Internet, dan kemudian melatih model perbandingan pada set data sedemikian. Model kontrastif boleh menghasilkan skor persamaan yang tinggi untuk imej dan teks daripada pasangan yang sama (jadi ia serupa) dan skor rendah untuk teks dan imej yang tidak sepadan (kami mahu imej tertentu sama dengan yang lain dalam kumpulan latihan semasa). peluang untuk mendapatkan hasil persamaan yang tinggi antara pasangan teks adalah sangat kecil).
Model ini terdiri daripada dua pengekod: satu untuk teks dan satu lagi untuk imej. Pengekod menghasilkan pembenaman (perwakilan vektor berbilang dimensi bagi objek, contohnya vektor 512 bait). Produk titik kemudiannya dikira menggunakan kedua-dua benam dan skor persamaan diperoleh. Oleh kerana pembenaman dinormalisasi, keluaran proses pengiraan skor kesamaan ini ialah kesamaan kosinus. Persamaan kosinus adalah hampir 1 untuk vektor yang menunjuk ke arah yang sama (dengan sudut kecil di antara mereka), 0 untuk vektor ortogon dan -1 untuk vektor bertentangan.
Visualisasi perbandingan proses pra-latihan (gambar dari siaran asal)
CLIP ialah satu set model. Terdapat 9 pengekod imej, 5 pengekod konvolusi dan 4 pengekod pengubah. Pengekod konvolusi ialah model seperti ResNet-50, ResNet-101 dan EfficientNet yang dipanggil RN50x4, RN50x16, RN50x64 (semakin tinggi nombor, lebih baik model). Pengekod pengubah ialah pengubah visual (atau ViT): ViT-B/32, ViT-B/16, ViT-L/14 dan ViT-L/14@336. Yang terakhir telah diperhalusi pada imej dengan resolusi 336×336 piksel, dan yang lain dilatih pada 224×224 piksel.
OpenAI mengeluarkan program secara berperingkat, mula-mula mengeluarkan ViT-B/32 dan ResNet-50, kemudian ResNet-101 dan RN50x4, kemudian RN50x16 dan ViT-B/16 pada Julai 2021, kemudian RN50x64 dan ViT- L/14 dikeluarkan pada Januari 2022, dan akhirnya ViT-L/14@336 muncul pada April 2022.
Pengekod teks ialah pengekod pengubah biasa, tetapi dengan mekanisme perhatian bertopeng. Pengekod ini terdiri daripada 12 lapisan, setiap lapisan mempunyai 8 kepala perhatian, dan mempunyai sejumlah 63M parameter. Menariknya, rentang perhatian hanya 76 token (berbanding 2048 token untuk GPT-3 dan 512 token untuk BERT standard). Oleh itu, bahagian teks model hanya sesuai untuk teks yang agak pendek, dan anda tidak boleh meletakkan blok teks yang besar dalam model. Memandangkan DALL·E 2 dan CLIP adalah lebih kurang sama, ia sepatutnya mempunyai had yang sama.
Selepas CLIP dilatih terlebih dahulu, ia boleh digunakan untuk tugasan yang berbeza (dengan kelebihan model asas yang baik).
Paling penting, pembaca boleh menjaringkan berbilang hasil menggunakan model yang diisih dalam DALL·E dan memilih yang terbaik. Sebagai alternatif, anda boleh menggunakan fungsi CLIP untuk melatih pengelas tersuai di atasnya, tetapi masih belum terdapat banyak contoh yang berjaya.
Seterusnya, CLIP boleh digunakan untuk melaksanakan klasifikasi tangkapan sifar pada sebarang bilangan kelas (apabila model tidak dilatih secara khusus untuk menggunakan kelas tersebut). Kelas ini boleh dilaraskan tanpa melatih semula model.
Ringkasnya, anda boleh mencipta set data teks yang menerangkan objek dalam gambar untuk seberapa banyak kelas yang anda perlukan. Pembenaman teks kemudian dijana untuk penerangan ini dan disimpan sebagai vektor. Apabila imej digunakan untuk pengelasan, pengekod imej digunakan untuk menjana benam imej dan produk titik antara benam imej dan semua benam teks yang diprakira dikira. Pasangan dengan skor tertinggi dipilih dan kelas yang sepadan adalah hasilnya.
Program untuk pengelasan tangkapan sifar menggunakan CLIP.
Model klasifikasi tangkapan sifar bermakna model itu tidak dilatih untuk set kategori tertentu. Daripada melatih pengelas dari awal atau dengan memperhalusi model imej pra-latihan, kini terdapat pilihan untuk menggunakan CLIP terlatih untuk kejuruteraan semasa (sama seperti menggunakan model GPT).
Ramai orang tidak menyedari bahawa adalah mungkin untuk menggunakan CLIP untuk menjana imej (walaupun ia tidak dipratetap untuk berbuat demikian). Kes yang berjaya termasuk CLIPDraw dan VQGAN-CLIP.
Contoh lukisan KLIPD. Gambar adalah dari kertas asal.
Contoh penjanaan VQGAN-CLIP dan gesaan teksnya. Gambar adalah dari kertas asal.
Prosesnya mudah dan cantik, sangat serupa dengan DeepDream. Mulakan dengan perihalan teks bagi imej yang anda inginkan dan imej awal (benam secara rawak, perihalan pemandangan dalam splines atau piksel, sebarang imej yang dicipta dengan cara yang boleh dibezakan), kemudian jalankan gelung yang menjana imej, menambah beberapa peningkatan untuk meningkatkan sifat kestabilan , dapatkan pembenaman CLIP bagi imej yang terhasil dan bandingkan dengan pembenaman CLIP bagi teks yang menerangkan imej. Kerugian dikira berdasarkan perbezaan ini dan program penurunan kecerunan dijalankan untuk mengemas kini imej dan mengurangkan kehilangan. Selepas beberapa lelaran, anda boleh mendapatkan imej yang sepadan dengan penerangan teks dengan baik. Cara adegan awal dicipta (menggunakan spline, piksel, pemaparan primitif, kod asas daripada VQGAN, dsb.) boleh menjejaskan ciri imej dengan ketara.
Proses penjanaan CLIPDraw: Bermula daripada set lengkung Bezier rawak, kedudukan dan warna lengkung dioptimumkan untuk menjadikan grafik yang dijana paling sesuai dengan gesaan penerangan yang diberikan. Gambar dari kertas asal.
Proses penjanaan VQGAN-CLIP. Gambar dari kertas asal.
Pembenaman CLIP tidak menangkap segala-galanya, dan beberapa demonstrasi menarik menunjukkan kelemahannya. Salah satu contoh yang terkenal ialah serangan tipografi. Dalam serangan ini, teks pada imej boleh menyebabkan salah klasifikasi imej.
Pada masa ini terdapat beberapa model alternatif dengan struktur yang serupa dengan CLIP, seperti ALIGN Google atau FILIP Huawei.
GLIDE
GLIDE, atau Bahasa Berpandu kepada Penyebaran Imej untuk Penjanaan dan Penyuntingan, ialah model penjanaan imej berpandukan teks yang dilancarkan oleh OpenAI Ia telah mengalahkan DALL·E setakat ini, tetapi telah menerima agak kurang perhatian. Ia bahkan tidak mempunyai catatan khusus di laman web OpenAI. GLIDE menjana imej dengan resolusi 256×256 piksel.
Model GLIDE dengan parameter 3.5B (tetapi nampaknya nombor yang betul ialah parameter 5B, kerana terdapat model pensampelan naik yang berasingan dengan parameter 1.5B) lebih disukai berbanding parameter 12B DALL·E, dan Juga mengalahkan DALL ·E dalam skor FID.
Sampel daripada GLIDE. Imej dari kertas asal.
Model GLIDE juga boleh diperhalusi untuk melaksanakan lukisan dalam imej, membolehkan pengeditan imej dipacu teks yang berkuasa, yang digunakan dalam DALL·E 2.
Contoh pembaikan imej bersyarat teks daripada GLIDE. Kawasan hijau dipadamkan dan model mengisi kawasan ini mengikut gesaan yang diberikan. Model ini mampu memadankan gaya dan pencahayaan persekitarannya, menghasilkan kemasan yang realistik. Contohnya adalah dari kertas asal.
GLIDE boleh dipanggil "DALL·E 2" apabila dikeluarkan. Sekarang, apabila sistem DALL·E 2 yang berasingan dikeluarkan (sebenarnya dipanggil unCLIP dalam kertas dan banyak menggunakan GLIDE itu sendiri), kita boleh merujuk kepada GLIDE sebagai DALL·E 1.5 :)
GLIDE adalah serupa dengan model Lain dipanggil model resapan. Ringkasnya, model resapan menambah hingar rawak pada data input melalui rantaian langkah resapan, dan kemudian mereka mempelajari proses resapan songsang untuk membina imej daripada hingar.
Model penyebaran resapan menjana imej.
Imej di bawah ialah ilustrasi visual penggunaan model resapan Google untuk menjana imej.
Perbandingan model resapan dengan kategori model generatif yang lain.
Pertama, pengarang melatih model resapan parameter 3.5B yang dikondisikan pada perihalan bahasa semula jadi menggunakan pengekod teks. Seterusnya, mereka membandingkan dua teknik untuk model penyebaran bootstrap kepada gesaan teks: CLIP bootstrap dan pengelas tanpa pengelas (yang terakhir menghasilkan keputusan yang lebih baik).
Bootstrapping pengelas membolehkan model resapan dikondisikan pada label pengelas dan kecerunan daripada pengelas digunakan untuk membimbing sampel ke arah label.
Pembuatan but tanpa pengelas tidak memerlukan latihan model pengelas yang berasingan. Ini hanyalah satu bentuk bootstrapping, interpolasi antara ramalan model resapan dengan dan tanpa label.
Seperti yang penulis katakan, bimbingan tanpa klasifikasi mempunyai dua sifat yang menarik. Pertama, ia membenarkan model tunggal untuk memanfaatkan pengetahuannya sendiri semasa proses bootstrap, dan bukannya bergantung pada pengetahuan model klasifikasi yang berasingan (kadang-kadang lebih kecil). Kedua, ia memudahkan panduan apabila menyesuaikan maklumat yang sukar diramal dengan pengelas, seperti teks.
Di bawah bimbingan CLIP, pengelas digantikan dengan model CLIP. Ia menggunakan hasil darab titik imej dan kecerunan yang dikodkan berkenaan dengan kapsyen imej.
Dalam pengelas dan CLIP bootstrapping, kita perlu melatih CLIP pada imej bising untuk mendapatkan kecerunan yang betul semasa resapan belakang. Penulis menggunakan model CLIP yang dilatih secara eksplisit untuk menyedari bunyi bising, model ini dipanggil model CLIP bising. Model CLIP awam yang belum dilatih mengenai imej bising masih boleh digunakan untuk membimbing model resapan, tetapi panduan CLIP yang bising berfungsi dengan baik untuk pendekatan ini.
Model resapan bersyarat teks ialah seni bina model ADM dipertingkat yang meramalkan imej untuk langkah resapan seterusnya berdasarkan imej bising xₜ dan kapsyen teks yang sepadan c.
Bahagian visual ialah seni bina U-Net yang diubah suai. Model U-Net menggunakan sekumpulan lapisan baki dan lilitan pensampelan bawah, kemudian sekumpulan lapisan sisa dengan lilitan pensampelan naik, menggunakan sambungan baki (sambungan langkau) untuk menyambungkan lapisan dengan saiz ruang yang sama.
Seni bina U-Net asal. Gambar dari kertas asal.
GLIDE mempunyai pengubahsuaian berbeza pada seni bina U-Net asal dari segi lebar, kedalaman, dsb., dan menambah perhatian global dengan kepala perhatian berbilang pada resolusi 8×8, 16×16 dan 32×32 lapisan. Selain itu, unjuran pembenaman langkah masa ditambah pada setiap blok baki.
Untuk model bootstrap pengelas, seni bina pengelas ialah rangkaian tulang belakang yang telah dikurangkan bagi model U-Net dengan kumpulan perhatian pada lapisan 8×8 untuk menjana output akhir.
Teks dikodkan ke dalam jujukan token K (jangka perhatian maksimum belum diketahui) melalui model pengubah. Output
transformer boleh digunakan dalam dua cara: pertama, pembenaman token terakhir digunakan untuk menggantikan pembenaman kelas dalam model ADM kedua, lapisan terakhir pembenaman token (jujukan vektor ciri K) ditayangkan ke keseluruhan Dimensi setiap lapisan perhatian dalam model ADM kemudiannya disambungkan kepada konteks perhatian setiap lapisan.
Pengubah teks mempunyai 24 blok baki lebar 2048, menghasilkan kira-kira 1.2B parameter. Bahagian visual model yang dilatih untuk resolusi 64×64 terdiri daripada parameter 2.3B. Sebagai tambahan kepada model resapan bersyarat teks dengan parameter 3.5B, penulis juga melatih satu lagi model resapan pensampelan bersyarat teks dengan parameter 1.5B, meningkatkan resolusi kepada 256 × 256 (idea ini juga akan digunakan dalam DALL·E).
Model upsampled dikondisikan pada teks dengan cara yang sama seperti model asas, tetapi menggunakan pengekod teks yang lebih kecil dengan lebar 1024 dan bukannya 2048. Untuk panduan CLIP, mereka juga melatih model 64×64 ViT-L CLIP yang bising.
GLIDE dilatih pada set data yang sama seperti DALL·E, dan jumlah pengiraan latihan adalah lebih kurang sama dengan yang digunakan untuk melatih DALL·E.
GLIDE adalah optimum dalam semua tetapan, malah tetapan yang membolehkan DALL·E menggunakan lebih banyak pengiraan masa ujian untuk mendapatkan prestasi unggul sambil mengurangkan kualiti sampel GLIDE (melalui pengaburan VAE).
Model ini diperhalusi untuk menyokong penjanaan imej tanpa syarat. Proses latihan ini betul-betul sama seperti pra-latihan, kecuali 20% daripada urutan token teks digantikan dengan urutan kosong. Dengan cara ini, model mengekalkan keupayaan untuk menjana output bersyarat teks, tetapi juga boleh menjana imej tanpa syarat.
Model ini juga diperhalusi secara eksplisit untuk melakukan pembaikan. Semasa penalaan halus, kawasan rawak contoh latihan dialih keluar dan bahagian yang tinggal bersama saluran topeng dimasukkan ke dalam model sebagai maklumat bersyarat tambahan.
GLIDE boleh menjana adegan kompleks secara berulang menggunakan penjanaan tangkapan sifar, diikuti dengan satu siri suntingan pembaikan.
Mula-mula jana gesaan imej "ruang tamu yang selesa", kemudian gunakan topeng pembaikan, dan kemudian tambahkan lukisan dan meja kopi pada dinding dengan gesaan teks. Terdapat juga pasu dan akhirnya dinding dialihkan ke sofa. Contohnya adalah dari kertas asal.
OpenAI mengeluarkan sistem DALL·E 2 pada 6 April 2022. Sistem DALL·E 2 meningkatkan hasil dengan ketara berbanding DALL·E yang asal. Ia menghasilkan imej dengan resolusi 4x lebih tinggi (berbanding DALL·E dan GLIDE asal), kini sehingga 1024×1024 piksel. Model di sebalik sistem DALL·E 2 dipanggil unCLIP.
Penulis mendapati bahawa manusia lebih suka GLIDE daripada unCLIP dari segi fotorealisme, tetapi perbezaannya sangat kecil. Dengan realisme yang sama, unCLIP lebih diutamakan daripada GLIDE dari segi kepelbagaian, menonjolkan salah satu faedahnya. Perlu diingat bahawa GLIDE itu sendiri lebih popular daripada DALL·E 1, jadi DALL·E 2 ialah peningkatan ketara berbanding pendahulunya, DALL·E 1.
Untuk permintaan "Lukis lukisan musang yang duduk di padang pada waktu matahari terbit dalam gaya Claude Monet", dua versi sistem telah dihasilkan Gambar, gambar daripada artikel asal.
DALL·E 2 boleh menggabungkan konsep, sifat dan gaya:
Contoh daripada teks asal.
DALL·E 2 juga boleh melakukan penyuntingan imej berdasarkan panduan teks, yang merupakan ciri dalam GLIDE. Ia boleh menambah dan mengalih keluar elemen sambil mengambil kira bayang-bayang, pantulan dan tekstur:
Tambahkan corgi pada kedudukan tertentu pada imej, gambar daripada kertas asal.
DALL·E 2 juga boleh digunakan untuk menjana variasi imej asal:
Jana varian imej, imej diambil daripada yang asal teks.
DALL·E 2 juga mempunyai beberapa isu. Khususnya, unCLIP adalah lebih teruk daripada model GLIDE pada sifat mengikat objek. Sebagai contoh, unCLIP adalah lebih sukar daripada GLIDE untuk menghadapi gesaan untuk mengikat dua objek berasingan (kiub) kepada dua sifat berasingan (warna):
unCLIP juga menghadapi beberapa kesukaran dalam menghasilkan teks yang koheren:
Masalah lain ialah unCLIP sukar dijana dalam kompleks Butiran yang dihasilkan dalam adegan:
Beberapa perubahan telah berlaku di dalam model. Imej di bawah adalah gabungan CLIP dan GLIDE, model itu sendiri (tindanan penjanaan imej bersyarat teks penuh) dipanggil unCLIP secara dalaman dalam kertas kerana ia menjana imej dengan menyongsangkan pengekod imej CLIP.
Begini cara model berfungsi: Model CLIP dilatih secara individu. Pengekod teks CLIP kemudian menjana benam untuk teks input (tajuk). Model terdahulu khas kemudian menjana pembenaman imej berdasarkan pembenaman teks. Penyahkod penyebaran kemudian menjana imej berdasarkan pembenaman imej. Penyahkod pada asasnya menyongsangkan imej yang dibenamkan semula ke dalam imej.
Ikhtisar makro sistem. Beberapa butiran (seperti keadaan teks penyahkod) tidak ditunjukkan. Gambar adalah dari kertas asal.
Model CLIP menggunakan pengekod imej ViT-H/16, yang menggunakan imej resolusi 256×256 dengan lebar 1280 dan 32 blok Transformer (ia lebih besar daripada ViT-L terbesar dalam CLIP asal bekerja Lebih dalam). Pengekod teks ialah Transformer dengan topeng perhatian sebab, lebar 1024 dan 24 blok Transformer (model CLIP asal mempunyai 12 blok Transformer). Tidak jelas sama ada rentang perhatian pengubah teks adalah sama seperti dalam model CLIP asal (76 token).
Penyahkod resapan ialah GLIDE yang diubah suai dengan parameter 3.5B. Pembenaman imej CLIP ditayangkan dan ditambah pada benam langkah masa sedia ada. Pembenaman CLIP juga diunjurkan ke dalam empat token konteks tambahan, yang disambungkan kepada jujukan output pengekod teks GLIDE. Laluan bersyarat teks GLIDE asal dikekalkan kerana ia membenarkan model resapan mempelajari aspek bahasa semula jadi yang gagal ditangkap oleh CLIP (namun, ia tidak banyak membantu). Semasa latihan, 10% daripada masa dibelanjakan secara rawak menetapkan pembenaman CLIP kepada sifar, dan 50% daripada masa dibelanjakan untuk mengalih keluar kapsyen teks secara rawak.
Penyahkod menjana imej 64×64 piksel, dan kemudian dua model resapan pensampelan seterusnya menjana imej 256×256 dan 1024×1024, yang pertama dengan parameter 700M dan yang terakhir dengan parameter 300M. Untuk meningkatkan keteguhan pensampelan, imej bersyarat sedikit rosak semasa latihan. Peringkat pensampelan naik pertama menggunakan kabur Gaussian, dan peringkat kedua menggunakan degradasi BSR yang lebih pelbagai termasuk artifak mampatan JPEG, hingar sensor kamera, interpolasi bilinear dan bikubik, dan hingar Gaussian. Model dilatih pada imej rawak yang merupakan satu perempat daripada saiz sasaran. Pelaziman teks tidak digunakan untuk model upsampling.
A priori menjana pembenaman imej berdasarkan penerangan teks. Penulis meneroka dua kelas model model terdahulu yang berbeza: prior autoregressive (AR) dan prior difusi. Kedua-dua model terdahulu mempunyai parameter 1B.
Dalam AR sebelum ini, pembenaman imej CLIP ditukar kepada jujukan kod diskret dan ramalan autoregresif dibuat berdasarkan kapsyen. Dalam resapan sebelumnya, vektor benam berterusan dimodelkan secara langsung menggunakan model resapan Gaussian yang dikondisikan pada tajuk.
Selain tajuk, model terdahulu juga boleh dikondisikan pada pembenaman teks CLIP, kerana ia merupakan fungsi penentu bagi tajuk. Untuk meningkatkan kualiti pensampelan, pengarang juga mendayakan pensampelan berpandu tanpa pengelas untuk AR dan resapan sebelumnya dengan mengalih keluar maklumat keadaan teks ini secara rawak 10% sepanjang masa semasa latihan.
Untuk AR prior, analisis komponen utama (PCA) mengurangkan dimensi pembenaman imej CLIP. 319 daripada 1024 komponen utama mengekalkan lebih daripada 99% maklumat. Setiap dimensi dikuantisasikan kepada 1024 baldi. Pengarang menala AR sebelum ini dengan mengekodkan tajuk teks dan pembenaman teks CLIP sebagai awalan kepada jujukan. Tambahan pula, mereka menambah token yang mewakili produk titik (dikuantisasi) antara pembenaman teks dan pembenaman imej. Ini membolehkan penalaan model pada produk titik yang lebih tinggi, kerana produk titik imej teks yang lebih tinggi sepadan dengan kapsyen yang menggambarkan imej dengan lebih baik. Produk titik diambil daripada bahagian atas pengedaran. Ramalkan jujukan yang dijana menggunakan model Transformer dengan topeng perhatian kausal.
Untuk penyebaran sebelumnya, Transformer dekoder sahaja dengan topeng perhatian sebab dilatih pada urutan yang terdiri daripada:
Pembenaman akhir yang outputnya daripada Transformer digunakan Meramalkan pembenaman imej CLIP tanpa bunyi.
Produk dot tidak digunakan untuk melaraskan resapan sebelumnya. Sebaliknya, untuk meningkatkan kualiti masa pensampelan, dua sampel pembenaman imej telah dijana dan sampel yang mempunyai produk titik dan pembenaman teks yang lebih tinggi telah dipilih.
Difusi sebelum ini mengatasi prestasi AR sebelumnya untuk saiz model yang setanding dan pengiraan latihan yang dikurangkan. Peresapan sebelumnya juga menunjukkan prestasi yang lebih baik daripada AR sebelumnya dalam perbandingan berpasangan dengan GLIDE.
Pengarang juga menyiasat kepentingan priors. Mereka cuba mengkondisikan penyahkod yang sama dengan isyarat yang berbeza: 1. kapsyen teks dan pembenaman CLIP sifar, 2. kapsyen teks dan pembenaman teks CLIP (seolah-olah ia adalah pembenaman imej), 3. teks yang dijana oleh pembenaman Imej sebelumnya dan CLIP. Penalaan penyahkod berdasarkan tajuk sahaja jelas merupakan yang paling teruk, tetapi penalaan teks yang membenamkan sampel sifar menghasilkan hasil yang diingini.
Gunakan isyarat pelarasan yang berbeza, gambar adalah daripada teks asal.
Apabila melatih pengekod, pengarang mengambil sampel daripada set data CLIP dan DALL-E (~650 juta imej kesemuanya) dengan kebarangkalian yang sama. Apabila melatih penyahkod, upsampler dan model sebelumnya, mereka hanya menggunakan set data DALL-E (kira-kira 250 juta imej) kerana set data CLIP yang lebih bising telah digabungkan apabila melatih timbunan penjanaan, oleh itu pada mulanya kualiti sampel terjejas secara negatif dalam penilaian.
Jumlah saiz model nampaknya: 632M? Parameter (pengekod imej CLIP ViT-H/16) + 340M? (Pengekod teks KLIP) + 1B (sebaran sebelumnya) + 3.5B (penyahkod resapan) + 1B (dua pensampel atas resapan) = ~ ~6.5B parameter (jika saya ingat dengan betul). Kaedah ini membolehkan penjanaan imej berdasarkan penerangan teks. Walau bagaimanapun, beberapa aplikasi menarik lain juga boleh dilakukan.
Contoh daripada kertas asal.
Setiap imej x boleh dikodkan ke dalam perwakilan pendam dwipartit (z_i, x_T), yang mencukupi untuk penyahkod menghasilkan pembinaan semula yang tepat. latent z_i ialah pembenaman imej CLIP yang menerangkan aspek imej yang diiktiraf oleh CLIP. x_T pendam diperoleh dengan menggunakan penyongsangan DDIM (Denoising Diffusion Implicit Model) menggunakan penyahkod pada x manakala bersyarat pada z_i. Dalam erti kata lain, ia adalah bunyi permulaan proses resapan apabila menjana imej x (atau bersamaan dengan x_0, lihat skema model resapan denoising dalam bahagian GLIDE).
Perwakilan binari ini membolehkan tiga operasi yang menarik.
Pertama, anda boleh mencipta varian imej untuk perwakilan pendam binari tertentu (z_i, x_T) dengan membuat pensampelan dengan DDIM dengan η > 0 dalam penyahkod. Apabila η = 0, penyahkod menjadi deterministik dan akan membina semula imej x yang diberi. Lebih besar parameter η, lebih besar perubahan, dan kita boleh melihat maklumat yang ditangkap dalam pembenaman imej CLIP dan dibentangkan dalam semua sampel.
Terokai perubahan dalam imej anda.
Kedua, anda boleh interpolasi antara imej x1 dan x2. Untuk melakukan ini, anda perlu mengambil benam imej CLIP z_i1 dan z_i2 dan kemudian gunakan slerp (interpolasi linear sfera) untuk mendapatkan perwakilan imej CLIP perantaraan. Terdapat dua pilihan untuk x_Ti pendam perantaraan DDIM yang sepadan: 1) gunakan slerp untuk interpolasi antara x_T1 dan x_T2, 2) betulkan pendam DDIM kepada nilai sampel rawak untuk semua interpolasi dalam trajektori (bilangan trajektori yang tidak terhad boleh dijana) . Imej berikut telah dihasilkan menggunakan pilihan kedua.
Teroka interpolasi dua imej.
Akhir sekali, perkara ketiga ialah manipulasi imej berpandukan bahasa atau perbezaan teks. Untuk mengubah suai imej untuk mencerminkan perihalan teks baharu y, anda mula-mula mendapatkan teks CLIPnya yang dibenamkan z_t dan teks CLIP yang membenamkan z_t0 tajuk yang menerangkan imej semasa (mungkin tajuk tiruan seperti "Foto" atau tajuk kosong). Kemudian hitung vektor perbezaan teks z_d = norma(z_t - z_t0). slerp kemudiannya digunakan untuk memutar antara imej CLIP embedding z_i dan vektor perbezaan teks z_d, dan menjana imej dengan bunyi DDIM asas tetap x_T sepanjang trajektori.
Terokai perbezaan teks, daripada teks asal.
Pengarang juga menjalankan satu siri eksperimen untuk meneroka ruang potensi CLIP. Kajian terdahulu telah menunjukkan bahawa CLIP terdedah kepada serangan pencetakan. Dalam serangan ini, sekeping teks ditindih di atas objek, yang menyebabkan CLIP meramalkan objek yang diterangkan oleh teks dan bukannya objek yang diterangkan dalam imej (ingat Apple dengan sepanduk "iPod"?). Penulis kini cuba menjana variasi imej sedemikian dan mendapati bahawa walaupun kebarangkalian imej dikelaskan dengan betul adalah sangat rendah, varian yang dijana adalah betul dengan kebarangkalian yang tinggi. Walaupun kebarangkalian ramalan relatif tajuk ini sangat tinggi, model itu tidak pernah menghasilkan gambar iPod.
Cetak kes serangan.
Satu lagi percubaan menarik ialah membina semula imej dengan lebih banyak komponen utama. Dalam imej di bawah, mereka mengambil benam imej CLIP daripada sebilangan kecil imej sumber, membina semulanya dengan dimensi PCA yang semakin meningkat, dan kemudian memvisualisasikan benam imej yang dibina semula menggunakan penyahkod dengan DDIM. Ini membolehkan melihat maklumat semantik yang dikodkan dalam dimensi yang berbeza.
Semakin banyak komponen utama, daripada kertas asal.
Juga perlu diingat kesukaran yang dihadapi oleh unCLIP dengan pengikatan harta, penjanaan teks dan butiran dalam adegan yang kompleks.
Dua isu pertama mungkin disebabkan oleh sifat terbenam CLIP.
Isu pengikatan harta mungkin berlaku kerana pembenaman CLIP itu sendiri tidak secara eksplisit mengikat sifat pada objek, jadi penyahkod mengelirukan sifat dan objek semasa menjana imej.
Satu lagi set pembinaan semula untuk masalah pengikatan yang sukar, daripada teks asal.
Isu penjanaan teks mungkin disebabkan oleh pembenaman CLIP tidak mengekod maklumat ejaan teks yang diberikan dengan tepat.
Isu perincian rendah mungkin berlaku disebabkan hierarki penyahkod yang menjana imej pada resolusi asas 64×64 dan kemudian menaikkan pensampelannya. Oleh itu, menggunakan resolusi asas yang lebih tinggi, masalah mungkin hilang (dengan kos latihan tambahan dan pengiraan inferens).
Kami telah melihat evolusi model penjanaan imej berasaskan teks OpenAI. Terdapat syarikat lain yang bekerja di kawasan ini juga.
DALL·E 2 (atau unCLIP) ialah peningkatan besar berbanding versi pertama sistem, DALL·E 1, yang baru berusia setahun. Walau bagaimanapun, ia masih mempunyai banyak ruang untuk penambahbaikan.
Malangnya, model yang berkuasa dan menarik ini bukan sumber terbuka. Penulis ingin melihat lebih banyak model sedemikian diterbitkan atau sekurang-kurangnya disediakan melalui API. Jika tidak, semua keputusan ini hanya akan digunakan untuk khalayak yang sangat terhad.
Memang tidak dapat dinafikan bahawa model sedemikian boleh mempunyai ralat, kadangkala menghasilkan jenis kandungan yang salah, atau digunakan oleh ejen yang berniat jahat. Penulis menyeru keperluan untuk membincangkan cara menangani isu-isu ini. Terdapat banyak kegunaan yang berpotensi baik untuk model ini, tetapi kegagalan untuk menangani isu di atas telah menghalang penerokaan ini.
Pengarang berharap DALL·E 2 (atau model lain yang serupa) akan segera disediakan kepada semua orang melalui API terbuka.
Atas ialah kandungan terperinci Imej yang dijana teks sangat popular, anda perlu memahami evolusi teknologi ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!