Rumah  >  Artikel  >  Peranti teknologi  >  Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip 'penjanaan imej'.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip 'penjanaan imej'.

WBOY
WBOYke hadapan
2023-04-11 11:13:021670semak imbas

Adakah anda masih ingat Transformer grafik yang menjadi popular di seluruh Internet?

Baru-baru ini, blogger besar ini Jay Alammar turut menulis ilustrasi mengenai model Stable Diffusion yang popular di blognya, membolehkan anda membinanya sepenuhnya dari awal prinsip model penjanaan imej, dan disertakan dengan penjelasan video yang sangat terperinci!

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Pautan artikel: https://jalammar.github.io/illustrated-stable-diffusion/

Pautan video: https://www.youtube.com/watch?v=MXmacOUJUaw

Ilustrasi Resapan Stabil

Keupayaan penjanaan imej terkini yang ditunjukkan oleh model AI jauh melebihi jangkaan orang. Ia boleh mencipta imej dengan kesan visual yang menakjubkan secara langsung berdasarkan penerangan teks Mekanisme operasi di belakangnya kelihatan sangat misteri dan ajaib, tetapi ia memberi kesan manusia cara mencipta seni.

Penerbitan Stable Diffusion merupakan satu peristiwa penting dalam pembangunan penjanaan imej AI Ia setara dengan menyediakan model berprestasi tinggi yang boleh digunakan bukan sahaja kualiti imej yang dihasilkan menjadi sangat tinggi, tetapi kelajuan larian juga sangat tinggi. Ia pantas dan mempunyai keperluan sumber dan memori yang rendah.

Saya percaya bahawa sesiapa yang telah mencuba penjanaan imej AI akan ingin mengetahui cara ia berfungsi Artikel ini akan mendedahkan misteri bagaimana Stable Diffusion berfungsi untuk anda.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Secara fungsional, Resapan Stabil terutamanya merangkumi dua aspek: 1) Fungsi terasnya ialah menjana imej hanya berdasarkan gesaan teks sebagai input (text2img ); 2) Anda juga boleh menggunakannya untuk mengubah suai imej mengikut penerangan teks (iaitu input sebagai teks + imej).

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Ilustrasi akan digunakan di bawah untuk membantu menerangkan komponen Stable Diffusion, cara ia berinteraksi antara satu sama lain dan maksud pilihan penjanaan imej dan parameter.

Komponen Resapan Stabil

Resapan Stabil ialah sistem yang terdiri daripada berbilang komponen dan model, bukan satu model.

Apabila kita melihat ke dalam model dari perspektif model secara keseluruhan, kita dapati ia mengandungi komponen pemahaman teks untuk menterjemah maklumat teks ke dalam perwakilan angka untuk menangkap maklumat Semantik dalam teks.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Walaupun model masih dianalisis dari perspektif makro, dan akan terdapat lebih banyak butiran model kemudian, kami juga boleh membuat spekulasi secara kasar bahawa pengekod teks ini ialah Model bahasa Transformer khas (khususnya pengekod teks untuk model CLIP).

Input model ialah rentetan teks, dan output ialah senarai nombor yang digunakan untuk mewakili setiap perkataan/token dalam teks, iaitu setiap token ditukar menjadi vektor.

Maklumat ini kemudiannya diserahkan kepada penjana imej, yang juga mengandungi berbilang komponen secara dalaman.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Penjana imej terutamanya merangkumi dua peringkat:

1 🎜>

Komponen ini adalah resipi rahsia Stable Diffusion yang eksklusif Berbanding dengan model sebelumnya, banyak keuntungan prestasinya dicapai di sini.

Komponen ini menjalankan berbilang langkah untuk menjana maklumat imej, di mana langkah juga merupakan parameter dalam antara muka dan pustaka Resapan Stabil, biasanya lalai kepada 50 atau 100.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Pencipta maklumat imej beroperasi sepenuhnya dalam ruang maklumat imej (atau ruang terpendam Ciri ini menjadikannya lebih baik daripada yang lain yang berfungsi dalam ruang piksel). Model resapan berjalan lebih pantas secara teknikal, komponen tersebut terdiri daripada rangkaian saraf UNet dan algoritma penjadualan.

Perkataan resapan menerangkan apa yang berlaku semasa operasi dalaman komponen ini, iaitu maklumat diproses langkah demi langkah dan akhirnya digunakan oleh komponen seterusnya (penyahkod imej) Menjana tinggi- imej yang berkualiti.

2 Penyahkod imej

Penyahkod imej melukis berdasarkan maklumat yang diperoleh daripada pencipta maklumat imej Untuk a. mengecat, keseluruhan proses dijalankan sekali sahaja untuk menghasilkan imej piksel akhir.

Seperti yang anda lihat, Stable Diffusion mengandungi sejumlah tiga komponen utama, setiap satunya mempunyai rangkaian neural bebas:

1) Teks Klip digunakan untuk pengekodan teks.

Input: teks

Output: 77 vektor pembenaman token, setiap satunya mengandungi 768 dimensi

2) UNet + Scheduler Proses/sebarkan maklumat langkah demi langkah dalam ruang maklumat (terpendam).

Input: pembenaman teks dan tatasusunan bunyi berbilang dimensi awal (senarai nombor berstruktur, juga dipanggil tensor).

Output: tatasusunan maklumat yang diproses

3) Penyahkod Autoekod (Penyahkod Autoekod) , menggunakan matriks maklumat yang diproses digunakan oleh penyahkod untuk melukis imej akhir.

Input: matriks maklumat yang diproses, dimensi ialah (4, 64, 64)

Output: imej hasil, setiap dimensi ialah ( 3, 512, 512), iaitu (merah/hijau/biru, lebar, tinggi)

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Apakah Resapan?

Penyebaran ialah proses yang berlaku dalam komponen pencipta maklumat imej merah jambu dalam rajah di bawah Proses ini termasuk pembenaman token yang mewakili teks input dan matriks maklumat imej awal rawak (juga dipanggil pendam. ), proses ini juga memerlukan penggunaan penyahkod imej untuk melukis matriks maklumat imej akhir.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Keseluruhan proses operasi adalah langkah demi langkah dan maklumat yang lebih berkaitan akan ditambahkan pada setiap langkah.

Untuk merasai keseluruhan proses dengan lebih intuitif, anda boleh melihat matriks pendam rawak separuh ke bawah dan memerhatikan bagaimana ia ditukar kepada hingar visual, di mana pemeriksaan visual adalah melalui penyahkod imej yang dibawa keluar.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Keseluruhan proses resapan mengandungi berbilang langkah, di mana setiap langkah beroperasi berdasarkan matriks pendam input dan menjana matriks pendam lain agar lebih sesuai antara "input teks" dan "maklumat visual" yang diperoleh daripada set imej model.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Membayangkan pendam ini membolehkan anda melihat cara maklumat ini ditambah pada setiap langkah.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Seluruh proses adalah dari awal, yang kelihatan agak mengujakan.

Peralihan proses antara langkah 2 dan 4 kelihatan sangat menarik, seolah-olah garis besar gambar muncul daripada bunyi bising.

Cara Resapan berfungsi

Idea teras menggunakan model resapan untuk menjana imej masih berdasarkan model penglihatan komputer berkuasa yang sedia ada set data yang mencukupi adalah input, Model ini boleh mempelajari operasi kompleks sewenang-wenangnya.

Andaikan kita sudah mempunyai imej, menjana sedikit bunyi dan menambahnya pada imej, dan kemudian imej itu boleh dianggap sebagai contoh latihan.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Menggunakan operasi yang sama, sejumlah besar sampel latihan boleh dijana untuk melatih komponen teras dalam model penjanaan imej.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Contoh di atas menunjukkan beberapa nilai hingar pilihan, daripada imej asal (tahap 0, tiada hingar) kepada jumlah hingar yang ditambah (tahap 4) , menjadikannya mudah untuk mengawal jumlah hingar yang ditambahkan pada imej.

Jadi, kami boleh menyebarkan proses ini melalui berpuluh-puluh langkah dan menjana berpuluh-puluh sampel latihan untuk setiap imej dalam set data.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Berdasarkan set data di atas, kami boleh melatih peramal bunyi dengan prestasi cemerlang Setiap langkah latihan adalah serupa dengan latihan model lain. . Apabila dijalankan dalam konfigurasi tertentu, peramal hingar boleh menjana imej.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Alih keluar hingar dan lukis imej

Peramal hingar terlatih boleh menafikan imej dengan bunyi tambahan , jumlah hingar yang ditambah boleh juga boleh diramalkan.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Oleh kerana hingar pensampelan boleh diramal, jika hingar ditolak daripada imej, imej akhir akan lebih dekat dengan apa yang dilatih oleh model imej.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Imej yang terhasil bukanlah imej asal yang tepat, tetapi pengedaran, iaitu susunan piksel di dunia langit biasanya Biru, orang mempunyai dua mata, kucing mempunyai telinga yang runcing, dsb. Gaya imej khusus yang dijana bergantung sepenuhnya pada set data latihan.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Bukan sahaja Stable Diffusion menjana imej melalui denoising, tetapi juga DALL-E 2 dan model Imagen Google.

Adalah penting untuk ambil perhatian bahawa proses penyebaran yang diterangkan setakat ini tidak menggunakan sebarang data teks untuk menjana imej. Jadi, jika kita menggunakan model ini, ia boleh menjana imej yang kelihatan bagus, tetapi pengguna tidak mempunyai cara untuk mengawal apa yang dijana.

Dalam bahagian berikut, kami akan menerangkan cara memasukkan teks bersyarat ke dalam proses untuk mengawal jenis imej yang dihasilkan oleh model.

Pecutan: Resapan pada data termampat

Untuk mempercepatkan proses penjanaan imej, Resapan Stabil tidak memilih untuk menjalankan proses resapan pada imej piksel itu sendiri, tetapi memilih untuk Jalankan pada versi termampat imej, juga dipanggil "Berlepas ke Ruang Terpendam" dalam kertas.

Keseluruhan proses pemampatan, termasuk penyahmampatan dan lukisan imej seterusnya, diselesaikan melalui pengekod automatik, yang memampatkan imej ke dalam ruang terpendam, dan kemudian hanya menggunakan maklumat yang dimampatkan menggunakan penyahkod untuk membina semula .

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Proses resapan ke hadapan selesai apabila memampatkan pendam, dan hirisan hingar adalah hingar yang dikenakan pada imej piksel, jadi peramal hingar adalah sebenarnya dilatih untuk meramalkan bunyi dalam perwakilan termampat (ruang pendam).

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Proses ke hadapan, iaitu menggunakan pengekod dalam pengekod automatik untuk melatih peramal hingar. Setelah latihan selesai, imej boleh dijana dengan menjalankan proses terbalik (penyahkod dalam pengekod automatik).

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Proses ke hadapan dan ke belakang ditunjukkan di bawah ini juga termasuk komponen pelaziman untuk menerangkan gesaan teks imej yang perlu dihasilkan oleh model .

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Pengekod teks: model bahasa Transformer

Komponen pemahaman bahasa dalam model menggunakan model bahasa Transformer, yang boleh Gesaan teks input ditukar menjadi vektor pembenaman token. Model Stable Diffusion yang dikeluarkan menggunakan ClipText (model berdasarkan GPT Dalam artikel ini, model BERT dipilih untuk kemudahan penjelasan).

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Percubaan dalam kertas Imagen menunjukkan bahawa model bahasa yang lebih besar boleh membawa kepada lebih banyak imej daripada memilih komponen penjanaan imej yang lebih besar Peningkatan kualiti.

Model Stable Diffusion awal menggunakan model ClipText terlatih yang dikeluarkan oleh OpenAI, tetapi dalam Stable Diffusion V2, ia telah bertukar kepada OpenClip varian model CLIP yang lebih besar yang baru dikeluarkan.

Bagaimanakah CLIP dilatih?

Data yang diperlukan oleh CLIP ialah imej dan tajuknya Set data mengandungi kira-kira 400 juta imej dan penerangan.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Set data dikumpul daripada imej yang dikikis daripada Internet dan teks teg "alt" yang sepadan.

CLIP ialah gabungan pengekod imej dan pengekod teks Proses latihannya boleh dipermudahkan untuk mengambil imej dan penerangan teks, dan menggunakan dua pengekod untuk mengekod data secara berasingan.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Kemudian gunakan jarak kosinus untuk membandingkan benam yang terhasil Apabila anda mula berlatih, walaupun perihalan teks sepadan dengan imej, persamaan di antara mereka Ia pasti sangat rendah.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Memandangkan model dikemas kini secara berterusan, dalam peringkat seterusnya, pembenaman yang diperolehi oleh imej dan teks pengekodan pengekod akan menjadi serupa secara beransur-ansur.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Dengan mengulangi proses ini merentas keseluruhan set data dan menggunakan pengekod dengan saiz kelompok yang besar, akhirnya saya dapat menjana vektor pembenaman dengan imej anjing di dalamnya Ia serupa dengan ayat "gambar anjing".

Sama seperti dalam word2vec, proses latihan juga perlu memasukkan sampel negatif imej dan kapsyen yang tidak sepadan, dan model perlu memberikan skor persamaan yang lebih rendah kepada mereka.

Maklumat teks dimasukkan ke dalam proses penjanaan imej

Untuk memasukkan keadaan teks sebagai sebahagian daripada proses penjanaan imej, input kepada peramal hingar mesti dilaraskan menjadi teks.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Semua operasi berada pada ruang terpendam, termasuk teks yang dikodkan, imej input dan hingar ramalan.

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Untuk lebih memahami cara token teks digunakan dalam Unet, anda perlu memahami model Unet terlebih dahulu.

Lapisan dalam Unet peramal hingar (tiada teks)

Satu tidak digunakan Resapan teks Unet, input dan outputnya adalah seperti berikut:

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Di dalam model, anda boleh lihat:

1. Lapisan dalam model Unet digunakan terutamanya untuk menukar laten; 3. Beberapa output (melalui sambungan baki) memasukkannya ke dalam pemprosesan di belakang rangkaian

4.

Lapisan dalam peramal hingar Unet (dengan teks)

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Kini ia adalah perlu untuk menukar sistem sebelumnya kepada versi teks.

Bahagian pengubahsuaian utama ialah menambah sokongan untuk input teks (istilah: penyaman teks), iaitu menambah lapisan perhatian antara blok ResNet .

Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip penjanaan imej.

Perlu diambil perhatian bahawa blok ResNet tidak langsung melihat kandungan teks, tetapi menggabungkan perwakilan teks dalam laten melalui lapisan perhatian , dan kemudian ResNet seterusnya boleh menggunakan maklumat teks di atas dalam proses ini.

Atas ialah kandungan terperinci Jay Alammar mengeluarkan satu lagi karya baharu: Ilustrasi Stable Diffusion yang berkualiti tinggi Selepas membacanya, anda akan memahami sepenuhnya prinsip 'penjanaan imej'.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam