Kami menemukan model generatif baru yang diterima di ICLR
(discrete-distribution-networks.github.io)- Discrete Distribution Networks (DDN) adalah model generatif inovatif dengan prinsip dan karakteristik baru
- DDN memiliki hasil eksperimen yang unik serta kemampuan representasi diskret 1D melalui algoritme optimisasi split-and-prune
- Berdasarkan struktur hierarkis, DDN juga mengaproksimasi distribusi kontinu, dan menunjukkan karakteristik menarik seperti generasi kondisional zero-shot
- DDN menunjukkan potensi penerapan pada berbagai tugas nyata seperti generasi gambar dan transfer gaya
- DDN memiliki pembeda dibanding model generatif yang ada dalam hal skalabilitas, efisiensi, dan kemampuan adaptasi yang alami
Gambaran umum DDN: Discrete Distribution Networks
Mengapa ini penting?
DDN (Discrete Distribution Networks) adalah pendekatan baru yang sepenuhnya berbeda dari model generatif yang ada, dengan prinsip yang sederhana, struktur hierarkis yang unik, dan karakteristik seperti generasi kondisional zero-shot. Karena bekerja dengan cara yang berbeda dari GAN dan Diffusion, DDN membuka banyak kemungkinan baik untuk riset maupun penerapan nyata.
Ringkasan poin utama
- DDN adalah model generatif baru yang mengaproksimasi distribusi data dengan struktur distribusi diskret yang hierarkis
- DDN mengusulkan teknik optimisasi split-and-prune dan menguji sifat pembeda seperti Zero-Shot Conditional Generation serta representasi laten diskret 1D, yang sulit dicapai pada model generatif konvensional
- Di setiap layer, DDN menghasilkan beberapa sampel sekaligus lalu memilih sampel yang paling dekat dengan target untuk dipakai sebagai kondisi pada layer berikutnya
- Semakin banyak layer, ruang representasi output berkembang secara eksponensial, sehingga pada akhirnya menghasilkan sampel yang mirip dengan target
- Melalui berbagai eksperimen (CIFAR-10, FFHQ, transfer gaya, super-resolution, dan lain-lain), DDN menunjukkan keunggulan dalam kesederhanaan, kemampuan generalisasi, dan potensi penerapan nyata dibanding pendekatan yang ada
Eksperimen estimasi densitas DDN
- Demonstrasi proses aproksimasi densitas probabilitas 2D
- Kiri: semua sampel yang saat ini dapat dihasilkan DDN
- Kanan: peta densitas probabilitas target
- Berbagai skenario distribusi target (blur_circles, QR_code, spiral, dan lain-lain) diterapkan secara berurutan sambil optimisasi terus berjalan
- Optimizer: Gradient Descent dan Split-and-Prune digunakan secara bersamaan
- Saat split-and-prune diterapkan, KL divergence menjadi lebih rendah bahkan dibanding sampel nyata
Kontribusi utama paper
- Mengusulkan model generatif baru—DDN yang lebih sederhana dan efisien
- Menerapkan algoritme optimisasi Split-and-Prune serta teknik praktisnya
- Memverifikasi karakteristik seperti generasi kondisional zero-shot tanpa gradient dan representasi diskret 1D yang unik
- Dalam review ICLR, dinilai sebagai "sangat berbeda dari model generatif yang ada dan memperluas arah penelitian"
- Prinsip DDN: di tiap layer menghasilkan banyak sampel diskret, lalu hanya memilih hasil yang paling dekat dengan target untuk disempurnakan secara hierarkis
Struktur dan cara kerja
Struktur distribusi diskret hierarkis
- Tiap layer menerima sampel terpilih dari layer sebelumnya sebagai input lalu menghasilkan beberapa sampel
- Dari sampel tersebut, hanya hasil yang paling dekat dengan sampel training saat ini (jawaban benar) yang diteruskan ke layer berikutnya
- Hasil disempurnakan secara berulang hingga mendekati distribusi target
- Saat jumlah layer bertambah, ruang representasi output yang dihasilkan tumbuh secara eksponensial
- Karena jaringan itu sendiri menghasilkan banyak sampel secara simultan, distribusi dapat direpresentasikan secara langsung
Rekonstruksi gambar dan representasi laten
- Setiap output layer menghasilkan gambar yang berbeda, dan hanya hasil yang mirip dengan tujuan akhir yang diteruskan ke layer berikutnya
- Peran sampler: memilih gambar yang paling mirip dengan target
- Pada tugas generatif, pengambilan sampel acak memaksimalkan keberagaman
- Variabel laten DDN dapat ditafsirkan sebagai struktur pohon, dan tiap sampel dipetakan ke ujung pohon (leaf node)
Contoh hasil eksperimen
- Aproksimasi berbagai distribusi 2D (spiral, QR_code, dan lain-lain)
- Dengan Split-and-Prune, KL divergence diminimalkan, serta masalah dead nodes atau density shift berkurang
- Pada CIFAR-10, FFHQ, dan lainnya, terkonfirmasi cara generasi yang unik serta efisiensi dibanding model berbasis GAN dan Diffusion
Mendukung generasi kondisional zero-shot
- DDN memungkinkan generasi kondisional zero-shot tanpa gradient
- Contoh: generasi teks-ke-gambar menggunakan black-box CLIP
- Beragam kondisi non-piksel seperti transfer gaya dan super-resolution juga dapat ditangani secara efektif
Training dan dua paradigma model
- Saat training, setelah seleksi sampel di setiap Discrete Distribution Layer (DDL), optimisasi dilakukan dengan Adam + Split-and-Prune
- Single Shot Generator: tiap layer memiliki bobot yang independen
- Recurrence Iteration: semua layer berbagi bobot
Berbagai contoh penerapan
Generasi acak gambar wajah
- Hasil generasi gambar wajah berbasis DDN yang telah dilatih menunjukkan keberagaman dan kualitas output
Pewarnaan gambar kondisional / transformasi edge-ke-warna
- Berdasarkan gambar tertentu, model berupaya mendekati gaya semaksimal mungkin sekaligus memenuhi kondisi yang diberikan
- Resolusi gambar yang dihasilkan adalah 256x256
Visualisasi generasi hierarkis (MNIST dan lain-lain)
- Visualisasi hasil antara dan hasil akhir pada setiap tahap generasi
- Gambar besar adalah draft, sedangkan gambar kecil adalah hasil akhir yang telah dimurnikan
Arah riset masa depan dan potensi aplikasi
- Kinerja DDN masih dapat ditingkatkan melalui tuning hyperparameter, eksperimen eksploratif, dan analisis teoretis
- Dapat diperluas hingga masalah dengan kompleksitas setingkat ImageNet, lalu membangun model yang layak untuk layanan nyata
- Dapat diterapkan pada berbagai tugas seperti super-resolution, pewarnaan gambar, estimasi kedalaman, estimasi pose, dan robotika
- Dibanding model berbasis Diffusion, DDN dapat menghasilkan banyak sampel dalam satu forward-pass
- Efisien untuk pemanfaatan seperti estimasi ketidakpastian dan mudah menerapkan berbagai kendala
- Karena memungkinkan diferensiasi end-to-end, DDN dapat digabungkan secara efisien dengan pembelajaran berbasis diskriminator/imbalan yang ada
- Juga dapat dimanfaatkan untuk tugas non-generatif (clustering tak terawasi, kompresi data, dan lain-lain)
- Riset lanjutan juga dapat menerapkan ide desain DDN pada model generatif yang ada (misalnya menggabungkan Diffusion dengan ruang laten diskret 1D)
- Menawarkan arah baru dalam language modeling, seperti pemodelan langsung string biner tanpa tokenizer
Pertanyaan yang sering diajukan
Q1: Kebutuhan memori GPU meningkat?
- Sedikit meningkat dibanding generator GAN konvensional, tetapi tidak berbeda jauh
- Saat training, hanya sampel yang terpilih yang menyimpan gradient, sisanya langsung dibuang sehingga ruang memori tetap terjaga
- Pada tahap generasi, hanya satu sampel acak yang dihasilkan sehingga tidak perlu menghasilkan semua sampel dan penggunaan sumber daya tambahan menjadi sangat kecil
Q2: Masalah mode collapse?
- Tidak ada. Loss selalu diterapkan hanya pada hasil yang paling mirip dengan target sehingga keberagaman tetap terjaga
- Secara eksperimen juga menunjukkan performa rekonstruksi set uji (daya pemulihan) yang baik
- Namun, pada data berdimensi tinggi yang terlalu kompleks untuk ditangani oleh kompleksitas DDN itu sendiri, dapat muncul sampel yang blur
1 komentar
Komentar Hacker News
Penulis menyatakan senang karena ulasan ICLR dirasa bermanfaat, dan menganggap kasus ini sebagai contoh bagaimana kebijakan ICLR yang mempublikasikan semua ulasan makalah bekerja dengan sukses
Para reviewer secara anonim berperan sebagai semacam "laporan evaluasi" bagi penulis tentang bagaimana makalah ditafsirkan, dan orang-orang di luar akademia tradisional juga bisa melihat diskusi yang tersembunyi di balik diterima/ditolaknya makalah
Tautan ulasan untuk makalah ini ada di sini
Daftar lengkap makalah yang ditolak bisa dilihat di sini
Pada Fig.18 makalah, disebutkan bahwa Taiji-DDN mirip dengan taiji dalam filsafat Tiongkok kuno
Bagian ini terasa agak rumit
Karena struktur bercabang adalah konsep yang umum dijumpai, penafsiran yang secara khusus dikaitkan dengan istilah klasik terasa agak membingungkan
Saya rasa tidak ada unsur takhayul atau hal aneh di situ
Melihat makalah penulis tunggal dimuat di ICLR terasa sangat mengesankan, terutama ketika ia mengusulkan metode yang inovatif
Strukturnya terasa sangat menarik
Ada kelebihan berupa kemudahan debugging, tetapi karena memakai sampler dan bukan router bergaya Mixture-of-Experts(MoE), ada kekurangan bahwa pada tiap layer komputasi K-1 kali secara efektif terbuang
Menurut saya, analogi terdekat adalah kombinasi MoE dan model latent diffusion
x0-target, dan inovasi utamanya bukan pada router melainkan pada guided sampler dan optimizer split-and-pruneSaya rasa ini membuat pelatihan menjadi lebih mudah
Karena probabilitas sampling adalah 1/K tanpa bergantung pada input, saat inferensi tidak perlu melakukan semua K komputasi antara pada tiap layer; cukup tentukan sebelumnya mana yang akan dipakai lalu jalankan komputasi itu saja
Hal ini dijelaskan pada Q1 di bagian "Common Questions About DDN" di bagian bawah makalah
Sepertinya Anda salah memahami makalahnya
Tidak ada "experts"; output hanya berperan mendekati sampel acak dari distribusi
Tidak ada latent diffusion, dan yang digunakan adalah convolution mirip GAN
Ditekankan bahwa saat inferensi, indeks sampel dipilih lebih dulu sehingga tidak ada komputasi sia-sia
Konsep yang sangat keren
Melihat contoh-contoh di bawah abstrak makalah, mengejutkan betapa akurat hasil model pada beberapa bagian
Misalnya, garis rambut di baris 2 kolom 3, warna baju di baris 2 kolom 7/8/9/11, seluruh lipstick di baris 4/6, serta posisi/bentuk wajah dan rambut di baris 6 kolom 4
Khususnya bagian merah di kiri bawah pada baris 6 kolom 4 sangat menarik; model tampaknya menyadari ada sesuatu yang berwarna merah dan menaruh blob merah di posisi yang tepat
Mungkin ini bias dataset (misalnya lipstick) atau pengamatan selektif saya, tetapi untuk tali bahu merah saya penasaran apakah ini kemungkinan kebocoran data atau overfitting, atau sekadar kebetulan
Saya juga pernah membuat arsitektur serupa (dengan metode berbeda), membangun struktur hierarkis dari cross-attention dan query yang dipelajari, lalu menerapkan L1 pada matriks attention untuk meningkatkan sparsity
Representasi hierarkis diskret memang sangat menarik
Pola aktivasi pada tiap layer bekerja seperti "parse tree" untuk setiap input, sehingga gambar bisa dikompresi secara efektif menjadi urutan bilangan bulat pendek
Saya bertanya karena kurang paham: jika jaringan hanya terdiri dari convolution 1x1, bukankah itu berarti tidak ada pertukaran informasi antarpiksel sama sekali?
Kalau begitu, artinya tiap piksel benar-benar independen, jadi apakah hasilnya tidak akan terasa tidak konsisten?
Meski tidak berlaku di sini, sebenarnya memang ada arsitektur yang menghasilkan piksel secara saling independen
Piksel atau elemen gambar apa pun bisa dihasilkan secara terpisah tanpa perlu menghasilkan sisanya; model-model ini bersifat implicit
Sebagai contoh ada NeRF, "single-pixel GAN", dan MAE; berikut tautan makalahnya: makalah ini, makalah ini, makalah ini
Hal ini dimungkinkan karena model dapat dianggap memiliki fungsi untuk "mengingat" semua data yang mungkin, sehingga menghasilkan secara independen hanyalah seperti mengambil bagian tertentu dari suatu "memori"
Ruang laten adalah objek Platonik yang tidak berubah, sehingga tidak aneh jika tiap titik dihasilkan secara fisik terpisah
Seperti arbitrary points bisa dihasilkan dengan fungsi seperti y=mx+b, pembuatan gambar juga hanya merupakan input bagi fungsi yang lebih kompleks
Konsep ini tidak terbatas pada gambar; bahasa alami juga sampai batas tertentu bisa dihasilkan secara independen, dan bisa diperluas lewat kode ini serta usulan saya di sini
Dalam DDN, convolution 1x1 hanya digunakan pada layer output dari Discrete Distribution Layer(DDL)
Blok jaringan saraf di antara DDL menjadi sumber utama operasi dan parameter, dan di sana digunakan convolution 3x3 standar
Menarik
Beberapa hari lalu, saya meneliti diffusion untuk memparalelkan deep graph reaction system menggunakan symbolic transform matrix, dan banyak orang tampaknya bergerak ke arah umum ini
Saya merasa dalam 1-2 tahun ke depan model berbasis diffusion akan memimpin generasi kode
Sangat keren, dulu saya menghabiskan cukup banyak waktu pada representation learning, dan grid digit MNIST ini membangkitkan kenangan
Saya rasa ini pendekatan yang benar-benar menarik dan baru, dan saya penasaran bagaimana performanya jika diperluas ke domain non-gambar
Saya ingin tahu di mana saya bisa mengikuti penelitian lanjutannya
Ke depan, hasil penelitian saya akan diunggah baik ke GitHub maupun Twitter(X)
Ini tampak seperti riset yang sangat bagus, jadi saya menambahkannya ke daftar bacaan saya
Terima kasih telah membagikannya di Hacker News