Judul "Baca artikel untuk Anda." Oktober - Desember 2019



Halo, Habr! Kami terus mempublikasikan ulasan artikel ilmiah dari anggota komunitas Open Data Science dari saluran #article_essense. Jika Anda ingin menerimanya sebelum orang lain - bergabunglah dengan komunitas !


Artikel untuk hari ini:


  1. Poly-encoders: Arsitektur Transformer dan Strategi Pra-pelatihan untuk Penghitungan Multi-kalimat yang Cepat dan Akurat (Facebook, 2019)
  2. Diskriminator Tersirat dalam Variational Autoencoder (Institut Teknologi Ropar India, 2019)
  3. Pelatihan mandiri dengan Noisy Student meningkatkan klasifikasi ImageNet (Google Research, Carnegie Mellon University, 2019)
  4. Kontras Momentum untuk Pembelajaran Representasi Visual Tanpa Pengawasan (Facebook, 2019)
  5. Benchmarking Neural Network Robustness to Common Corruption dan Perturbations (University of California, Oregon State University, 2019)
  6. DistilBERT, versi suling BERT: lebih kecil, lebih cepat, lebih murah dan lebih ringan (Hugging Face, 2019)
  7. Model Bahasa Plug and Play: Pendekatan Sederhana Untuk Pembuatan Teks Terkendali (Uber AI, Caltech, HKUST, 2019)
  8. Representasi Salience Jauh untuk Estimasi F0 dalam Musik Polifonik (New York University, AS, 2017)
  9. Menganalisis dan Meningkatkan Kualitas Gambar dari StyleGAN (NVIDIA, 2019)


1. Poly-encoders: Arsitektur Transformer dan Strategi Pra-pelatihan untuk Skor Multi-kalimat yang Cepat dan Akurat


Penulis: Samuel Humeau, Kurt Shuster, Marie-Anne Lachaux, Jason Weston (Facebook, 2019)
β†’ Artikel asli
Penulis ulasan: Alexey (dalam slack zhirzemli)


TLDR


Artikel ini mengusulkan pendekatan baru untuk mencetak pasangan kalimat (pernyataan). Prosedur ini relevan dalam tugas memprediksi apakah respons cocok dengan konteks kondisional, serta dalam tugas-tugas seperti prediksi sentense berikutnya. Metode Poly-Encoder yang diusulkan dibandingkan dengan strategi Bi-Encoder dan Cross-Encoder. Metode ini menggabungkan keunggulan Bi-Encoder (kemampuan untuk men-cache presentasi tanggapan) dan Cross-Encoder (bukan pelatihan tanpa syarat konteks dan encoders jawaban)





Skor multi-kalimat


(Pengingat kecil tentang pendekatan Bi dan Cross Encoder. Bagi mereka yang akrab, Anda dapat melewatkan)


Tugas menentukan korespondensi konteks (permintaan atau pernyataan pengguna) dengan sekumpulan jawaban yang ada sebagian besar relevan dalam sistem dialog dan pencarian informasi. Ini dipecahkan baik dengan menemukan kecepatan tertentu (titik produk) antara representasi yang dikodekan dari konteks dan respons, atau dengan secara bersama-sama mengkodekan konteks dan respons menjadi satu vektor dengan transformasi linear berikutnya menjadi skalar.


Pendekatan pertama disebut Bi-Encoder dan keuntungan nyata dari metode ini adalah kemampuan untuk menghitung secara offline representasi semua jawaban yang tersedia. Pandangan ini di-cache, dan selama inferensi Anda hanya perlu menemukan vektor kueri, membuat produk titik dengan vektor respons dan mengatur hasilnya. Selain itu, pendekatan ini memungkinkan pengambilan sampel negatif yang lebih efisien pada tahap pelatihan. Yaitu, dalam setiap batch, representasi untuk sampel positif dipertimbangkan, dan contoh negatif dapat diambil langsung dari batch yang sama. Intinya, gunakan kembali forward pass untuk contoh positif dan negatif. Kerugian dari pendekatan Bi-Encoder adalah kenyataan bahwa representasi konteks dan respon belajar hampir secara mandiri. Satu-satunya titik di mana setidaknya beberapa jenis aliran informasi mungkin antara tampilan permintaan dan respons adalah botnet dalam bentuk produk titik akhir. Pada tingkat fitur tekstual apa pun, informasi tidak diraba-raba.


Pendekatan kedua adalah Cross-Encoder. Ini melibatkan interaksi konteks dan respons yang lebih kuat dalam proses pembelajaran dan inferensi. Di sini, urutan token permintaan dan respons digabungkan menjadi satu. Token pemisah khusus ditempatkan di antara mereka, dan penyematan khusus ditambahkan ke setiap bagian (permintaan, respons). Bahkan, embedding ini menggeser representasi input dari token respons oleh beberapa konstanta, sehingga model dapat lebih mudah membedakannya dari token permintaan. Akibatnya, model belajar untuk menemukan representasi bersama dari permintaan dan respons, sehingga lapisan linear akhir (vektor -> skalar) mengembalikan nilai log yang besar untuk pasangan kalimat yang cocok satu sama lain dan nilai yang kecil sebaliknya. Kerugian dari pendekatan ini adalah ketidakmungkinan menghitung secara offline representasi jawaban: mereka harus dievaluasi pada tahap inferensi, bersama dengan set token permintaan bersyarat. Juga, trik menggunakan kembali ide contoh negatif dan positif pada tahap pelatihan tidak akan lagi berfungsi di sini. Anda harus mengumpulkan sampel negatif sebelum pembentukan batch.


Motivasi
Berikut ini adalah solusi yang memungkinkan Anda untuk mengurangi kekurangan dan menggabungkan keunggulan pendekatan Bi dan Cross Encoder. Idenya adalah bahwa kita ingin melatih pembuat enkode yang, di satu sisi, akan memperhitungkan ketergantungan bersyarat dari token respons pada token permintaan, dan di sisi lain, pemanfaatan ketergantungan ini harus terjadi pada representasi respons dan permintaan yang telah dievaluasi sebelumnya. Secara geometris, saya pribadi membayangkannya seperti ini: pindahkan botnet (produk titik akhir dari dua pengiriman) sedikit lebih rendah ke jaringan. Buat beberapa interaksi antara tampilan permintaan dan respons. Pada saat yang sama, mengimplementasikan interaksi seperti itu tidak terlalu jauh dari lapisan akhir, sehingga bagian utama dari pembuat enkode tetap independen dari pembuat enkode respons.


Implementasi
Implementasi dari ide semacam itu cukup sederhana: pembuat kode kandidat berfungsi seperti pada kasus Bi-Encoder: kita mendapatkan representasi urutan dalam bentuk vektor ([CLS] token) menggunakan model berbasis transformator (BERT). Kami menyimpan cache representasi ini setelah melatih model.


Encoder konteks, pada gilirannya, tidak memampatkan representasi dari urutan input menjadi satu vektor. Di sini kita membiarkan semua vektor urutan dikodekan oleh model.


Untuk mendapatkan penilaian kesesuaian konteks (satu set vektor) dan kandidat (satu vektor), mekanisme perhatian digunakan. Vektor kandidat dalam kasus ini adalah permintaan, dan vektor konteks adalah kuncinya. Ini dianggap sebagai produk titik dan selanjutnya - softmax sesuai dengan nilai yang dihasilkan. Vektor konteks ditimbang dengan distribusi yang dihasilkan dan dijumlahkan. Hasilnya, kita mendapatkan representasi konteks dalam bentuk vektor tunggal. Dan lebih lanjut, seperti pada Bi-Encoder biasa, kami mempertimbangkan titik produk dari konteks dan kandidat.


Juga, artikel itu mengusulkan sejumlah cara untuk mempercepat pembobotan vektor konteks. Pilihan yang paling berhasil adalah proses penghitungan perhatian, di mana hanya vektor pertama dari urutan konteks yang diambil.


Hasil
Alhasil, ternyata Cross-Encoder tetap bekerja paling baik. Tapi Poly-Encoder tidak jauh di belakangnya dalam hal metrik kualitas, dan dalam hal kecepatan inferensi kerjanya ratusan kali lebih cepat.


2. Diskriminator Tersirat dalam Variabel Autoencoder


Penulis: Prateek Munjal, Akanksha Paul, Narayanan C. Krishnan (Institut Teknologi India Ropar, 2019)
β†’ Artikel asli
Penulis ulasan: Alex Chiron (in sliron shiron8bit)


Dalam artikel tersebut, penulis mengusulkan arsitektur yang mencoba untuk menggabungkan keuntungan dari pendekatan VAE dan GAN untuk menghasilkan gambar, melewati kerugian yang melekat dalam setiap pendekatan: keburaman dalam kasus autoencoder, mode runtuh / mode hilang dalam kasus pelatihan permusuhan. Mereka mencapai ini karena bobot total antara encoder dan diskriminator dan generator / decoder umum, yang, pertama, mengurangi jumlah bobot jaringan, dan kedua, memungkinkan kita untuk mendapatkan informasi yang berguna dari diskriminator melalui gradien jika generator / decoder tidak jatuh dalam distribusi data aktual.


Pendahuluan
Dalam masalah generasi, peran penting dimainkan oleh kebetulan distribusi data yang dihasilkan Q dengan distribusi data nyata P, yang diukur melalui perbedaan Kullback-Leibler. Ciri khas dari ukuran keterpencilan distribusi ini adalah asimetris. Dengan demikian, kita akan mendapatkan gambar yang berbeda tergantung pada apakah kita mempertimbangkan Div_KL (P || Q) atau Div_KL (Q || P). Jika kita mempertimbangkan dua opsi untuk membandingkan distribusi (pada gambar di bawah), maka dengan Div_KL (P || Q) (alias forward-KL, alias zero avoiding), opsi kedua akan memberikan nilai yang lebih rendah, dan untuk Div_KL (Q || P) (itu mundur-KL, itu juga nol pemaksaan) distribusi dari opsi pertama akan dianggap distribusi yang lebih dekat. Sebenarnya, hasil VAE dan GAN sangat berbeda: kerugian rekonstruksi (L2) membantu meminimalkan divergensi KL-ke depan (dan dengan demikian kami mempertahankan semua mode, tetapi kami mendapatkan gambar buram), dan pelatihan dengan diskriminator membantu meminimalkan divergensi-KL ke belakang (gambar diperoleh lebih banyak jelas, tetapi ada risiko melewatkan mod)





Arsitektur, Kerugian dan Pelatihan
Seperti yang telah disebutkan, penulis mengusulkan untuk mempertimbangkan kekurangan dari kedua mode dan menggabungkan kedua minimasi karena arsitektur jaringan (dalam gambar di bawah), di mana sebagian besar bobot encoder dan diskriminator adalah umum (hanya kepala yang terhubung sepenuhnya yang memprediksi 'realitas' gambar dan parameter terpisah. mu, sigma dari lapisan laten VAE), dan juga karena mode pelatihan. Encoder dan generatornya sama. Sebagian besar kerugian yang digunakan cukup standar: dalam L_enc encoder los, kesalahan pemulihan L2 dan perbedaan Kullback-Leibler ke N (0,1) (L_prior) digunakan, sisanya adalah pelatihan permusuhan (kami meminimalkan keluaran diskriminator ketika melatih pembeda, memaksimalkannya) ketika mempelajari decoder / generator), tetapi ada 2 fitur khas:


  • Dalam kerugian terkait pelatihan permusuhan, 2 jenis data yang dihasilkan diumpankan ke diskriminator: dipulihkan melalui encoder / decoder dan dihasilkan oleh generator / decoder dari sampel dari N (0,1)


  • Dalam Kehilangan decoder L_dec, ada anggota di mana fitur dari lapisan kedua dari pembeda (lagi, ini adalah lapisan umum terakhir antara pembeda dan encoder) dibandingkan untuk gambar nyata dan dikembalikan.




Hasil
Para penulis membandingkan hasilnya dengan VAE dan karya-karya lain, dengan satu atau lain cara mencoba untuk menggabungkan VAE dan GAN (VAE-GAN, alpha-GAN dan AGE dari Dmitry Ulyanov dan Victor Lempitsky) pada data celeba dan cifar10 (terima kasih untuk tidak mnist), menerima hampir indikator terbaik mengenai kesalahan rekonstruksi dan metrik Frechet Inception Distance (bandingkan statistik aktivasi untuk mesh pra-terlatih untuk gambar nyata dan yang dihasilkan). Secara terpisah dicatat bahwa peringkat oleh FID sangat tergantung pada arsitektur yang dipilih, sehingga hasilnya lebih baik untuk memeriksa ensemble 'pakar' (arsitektur yang berbeda).


3. Pelatihan mandiri dengan Noisy Student meningkatkan klasifikasi ImageNet


Penulis: Qizhe Xie, Eduard Hovy, Minh-Thang Luong, Quoc V. Le (Penelitian Google, Universitas Carnegie Mellon, 2019)
β†’ Artikel asli
Penulis ulasan: Alexander Belsky (in slack belskikh)


Google menerima 87,4% benar-benar mengesankan top1 dan 98,2% top5 akurasi pada gambar. Zayuzali mengaburkan jaringan pseudo-peredupan dan sangat berani. Pendekatan itu disebut Noisy Student.





Algoritme adalah sesuatu seperti ini:


  1. Kami mengambil model guru, kami mengajarkan citra yang normal.
  2. Kami menghasilkan label psudo lunak pada gambar dari dataset JFT.
  3. Kami mengajarkan model siswa pada pseudo-label lunak, dan kami mengganggu sesegera mungkin: augs yang kuat, putus sekolah dan kedalaman stokastik
  4. Ambil model siswa, gunakan sebagai guru di langkah 2 dan ulangi prosesnya. Dataset diseimbangkan sesuai dengan kelas sebagai berikut. Untuk mulai dengan, kami mengambil EfficientNet-B0, terlatih pada gambar, mengusir prediksi pada dataset JFT. Kemudian mereka mengambil contoh-contoh yang kepercayaan maksimumnya di atas 0,3. Untuk setiap kelas, 130K gambar diambil (jika setelah disaring oleh 0,3 trashhold, mereka lebih sedikit - digandakan, jika lebih banyak - diambil sesuai dengan cakupan predikat tertinggi). Menerima 130 juta gambar, duplikat emisi, tersisa 81 juta

Arsitektur:
EfficeintNet, apalagi, model siswa mengambil model guru yang jauh lebih gemuk. Mereka juga memindai EfficientNet sendiri ke EfficientNet-L0 / L1 / L2, menghasilkan model L2 dengan parameter 480M (Resnet50 memiliki parameter 26M, untuk perbandingan)


Proses belajar:
Butchesize 2048. Sota model L2 mengajarkan 350 era. Model L2 terbesar yang dipelajari dalam mode ini selama 3,5 hari di Cloud TPU v3 Pod dengan 2048 core.


Prosedur pembelajaran berulang:
Awalnya mereka mengajar B7 baik sebagai siswa maupun sebagai guru. Kemudian, menggunakan B7 sebagai guru, mereka mengajar L0 yang lebih gemuk sebagai siswa. Kemudian, mengubah tempat mereka seperti ini, kami sampai ke model L2, yang pada akhirnya kami gunakan sebagai guru untuk model L2 yang sama. Hasil :: sota: dengan parameter model 2 kali lebih sedikit dibandingkan dengan sel sebelumnya (FixRes ResNeXt-101 WSL Parameter 829M)


Juga mendapat hasil yang sangat bagus di ImageNet-A / C / P





4. Kontras Momentum untuk Pembelajaran Representasi Visual Tanpa Pengawasan


Penulis artikel: Kaiming He, Fan Haoqi, Yuxin Wu, Saining Xie, Ross Girshick (Facebook, 2019)
β†’ Artikel asli
Penulis ulasan: Arseny Kravchenko (dalam slack arsenyinfo)


SotA adalah pretrain tanpa pengawasan untuk beberapa tugas penglihatan komputer (dari klasifikasi hingga estimasi pose padat), diuji pada set data yang berbeda (imagenet, instagram) dan tugas utama (imagenet, COCO, cityscapes, LVIS dll.).





Bagaimana pretrain tanpa pengawasan lakukan? Kami menemukan beberapa jenis tugas yang labelnya tidak diperlukan, kami mempelajari pembuat enkode, membekukannya, dan kemudian kami memecahkan masalah utama dengan menambahkan lapisan yang hilang (linear untuk klasifikasi, decoder untuk segmentasi, dan sebagainya). Salah satu tugas paling populer di ceruk ini adalah diskriminasi instan, berdasarkan pada kerugian kontras, mis. kami ingin fitur penambahan yang berbeda dari gambar yang sama berdekatan satu sama lain (misalnya, dalam hal jarak kosinus), dan fitur yang berbeda jauh jauh.


Anda dapat mencoba mengajarkan tugas ini secara end-to-end, tetapi banyak tergantung pada ukuran batch: kualitasnya sangat tergantung pada berbagai contoh di dalam batch. Eksperimen menunjukkan bahwa dengan bertambahnya ukuran bets, kualitas akhir meningkat. Tetapi bets ini agak mirip dengan Moskow: itu bukan karet, itu tidak akan bekerja untuk waktu yang lama untuk meningkatkannya di dahi.


Dudes sel dekat dudes sebelumnya mengacaukan bank memori: fitur batch sebelumnya disimpan secara terpisah dalam memori dan juga digunakan untuk menghasilkan yang negatif, mis. sampel yang berbeda. Ini sebagian membantu, tetapi juga tidak sempurna: selama pelatihan, bobot encoder berubah dan fitur lama menjadi buruk.


Akhirnya, gagasan artikel:


  1. Mari kita ganti bank memori sederhana dengan antrian di mana fitur yang cukup segar akan terletak;
  2. Kami akan menyimpan dua versi pembuat enkode: satu digunakan untuk kumpulan saat ini dan dilatih, dan yang lainnya lebih stabil, bobotnya diperbarui dari versi pertama, tetapi dengan momentum besar;
  3. Fitur bets dianggap sebagai enkoder pertama, fitur dalam antrian dihitung oleh enkoder kedua.

Pendekatan ini memungkinkan untuk lebih dekat dengan kualitas pelatihan end-to-end, tetapi, berkat garis panjang, itu mencapai hasil potensial dari batch besar yang tidak realistis. Dengan cara ini Anda mendapatkan metrik keren untuk berbagai tugas, termasuk di beberapa tempat, itu bahkan sedikit lebih baik daripada pretrain gambar tradisional yang diawasi.


5. Benchmarking Neural Network Robustness to Common Corruption dan Perturbations


Penulis: Dan Hendrycks, Thomas Dietterich (University of California, Oregon State University, 2019)
β†’ Artikel asli
Penulis ulasan: Vladimir Iglovikov (in ternaus slack)





Itu diterima di ICLR 2019 dan seperti yang saya pahami, ini adalah salah satu karya DL yang belum dilatih di jaringan apa pun.


Tugasnya seperti ini - tetapi mari kita coba augmentasi untuk validasi ImageNet, tetapi kami akan melatih yang tidak terputus. Selain itu, tidak seperti adevrsarial, kami tidak memiliki tugas untuk membuat transformasi kecil dan tidak terlihat oleh mata.


Apa yang telah dilakukan:


  1. Satu set augmentasi telah dipilih. Para penulis mengatakan bahwa ini adalah yang paling umum, tetapi, menurut pendapat saya, mereka berbohong.
    Mereka menggunakan: GaussianNoise, ISONoise, Downscale, Defocus, MotionBlur, ZoomBlur, FrostedGlassBlur, JpegCompression, Snow, Fog, Rain, Transoform elastis, dll.
  2. Semua transformasi ini telah diterapkan pada validasi ImageNet. Dataset yang dihasilkan bernama ImageNet-C
  3. Variasi yang disebut ImageNet-P juga diusulkan di mana serangkaian transformasi kekuatan yang berbeda diterapkan pada setiap gambar.
  4. Metrik diusulkan untuk menilai stabilitas model.
  5. Beberapa model dievaluasi dalam konteks metrik ini: AlexNet, VGG-11, VGG-19, Resnet-50, Resnet-18, VGG-19 + BN, dll

Kesimpulan:


  1. Semakin kuat augmentasi, semakin banyak akurasi model yang diderita. : capitan_obvious:
  2. Semakin kompleks modelnya, semakin stabil.
  3. Menerapkan CLAHE dalam gambar sebelum inferensi sedikit membantu.
  4. blok agregasi fitur seperti bantuan DenseNet atau Resnext.
  5. Jaringan yang memiliki multiskala lebih stabil. Contoh dari jaringan tersebut adalah MSDNet, Multigrid (Saya belum pernah mendengar tentang jaringan tersebut)

Kode


6. DistilBERT, versi BERT yang disuling: lebih kecil, lebih cepat, lebih murah dan lebih ringan


Penulis: Victor Sanh, Debut Lysandre, Julien Chaumond, Thomas Wolf (Hugging Face, 2019)
β†’ Artikel asli
Penulis ulasan: Yuri Kashnitsky (in yorko slack)


Artikel ini pendek, sangat mudah dibaca. Pada awalnya, beberapa kata umum tentang perlombaan senjata di NLP dan jejak kaki lingkungan. Lebih jauh, gagasan distilasi (dan Hinton juga melakukannya di sini). Dalam tugas pemodelan bahasa, kami memprediksi kata berikutnya secara kontekstual. Biasanya, cross entropy loss membandingkan vektor probabilitas yang diprediksi (panjang keseluruhan kamus) dengan vektor biner, di mana hanya ada satu unit yang menunjukkan kata asli di tempat tertentu dalam set pelatihan. Yaitu, yang kedua, ketiga, dll. kata yang dianggap tepat oleh model diabaikan oleh kehilangan. Sebuah contoh diberikan dalam artikel: "Saya pikir ini adalah awal dari [MASK] yang indah", bukannya [MASK] BERT ingin menggantikan pertama dari semua hari atau kehidupan, tetapi kata-kata yang diprediksi oleh probabilitas masa depan di masa depan, cerita dan dunia juga baik. Bisakah kita mempertimbangkan fakta bahwa model tersebut menghasilkan distribusi probabilitas yang baik? Secara kasar, untuk memberikan penghargaan kepada model untuk fakta bahwa tidak ada Murdock, toleransi, kehamilan dan beberapa kata lain yang cocok di atas.





Gagasan penyulingan
Gagasan skema guru-siswa tertentu adalah bahwa kita memiliki model guru yang besar ( guru , BERT) dan model yang lebih kecil ( siswa , DistilBERT), yang akan mengirimkan "pengetahuan" dari model guru. Model siswa akan mengoptimalkan kehilangan distilasi, yaitu, hilangnya entropi silang, yang ditentukan untuk distribusi probabilitas guru dan siswa: L = Ξ£ t_i * log (s_i). Yaitu, untuk kata tertentu yang dihapus oleh simbol [MASK], dan yang harus diprediksi berdasarkan konteks, kami membandingkan dua distribusi probabilitas penampilan setiap kata dari kamus: {t_i} dan {s_i} - diprediksi, masing-masing, oleh model guru dan model siswa. Dengan demikian, sinyal pelatihan yang kaya diperoleh - model siswa pada setiap kata menerima sinyal yang dihitung tidak hanya dengan membandingkan vektor ramalannya dengan kata asli dalam sampel pelatihan, tetapi dengan membandingkannya dengan vektor proyeksi dari model guru.


Model DistilBERT
, β€” , . DistilBERT β€” BERT, . token-type embeddings pooler, , . , DistilBERT 40% β€” 66 . 110 BERT


DistilBERT
DistilBERT distillation loss β€” masked language modeling loss, BERT cosine embedding loss β€” ( , , "" - , "" ). : ablation studies, , masked language modeling loss, , .. distillation loss cosine embedding loss. , RoBERTa next sentence prediction dynamic masking.


, BERT (eng. wiki + Toronto Book Corpus) 90 8 V100 (16 GB). RoBERTa 1024 V100 (32 GB).



BERT β€” "it performed surprisingly well", DistilBERT β€” GLUE surprisingly well β€” 5 9 , BERT , SQuAD IMDb β€” . , DistilBERT 60% β€” .



DistilBERT iPhone 7 Plus. 70% , BERT-base ( ), 200 . ablation studies: , β€” distillation loss cosine embedding loss.


3 , DistilBERT β€” BERT, 40% , 60% "97% " BERT ( ML).


-, BERT, .


:
Jay Alammar
, DistilBERT + Catalyst:


7. Plug and Play Language Models: A Simple Approach To Controlled Text Generation


: Sumanth Dathathri, Andrea Madotto, Janice Lan, Jane Hung, Eric Frank, Piero Molino, Jason Yosinski, and Rosanne Liu (Uber AI, Caltech, HKUST, 2019)
β†’
: ( Egor Timofeev)


. , / / (, . https://arxiv.org/pdf/1909.05858.pdf ). , , , , .



( x_prev ), p(x), conditional LM (, β€” CTRL) p(x|a).


: p(x|a) ∝ p(x)p(a|x), p(x) , (, GPT2), p(a|x) β€” . β€” , /. , , .


:


  1. , log(p(a|x)) ( ). hidden state .
  2. , hidden state log(p(a|x)). H_new.
  3. : p(x). , : -, KL(H, H_new), -, .. post-norm fusion ( https://arxiv.org/pdf/1809.00125.pdf ), p(x) non conditional LM , .
  4. .

, p(a|x).



, - topic relevance. : (GPT2) < + << < + .





8. Deep Salience Representation for F0 Estimation in Polyphonic Music


: Rachel M. Bittner, Brian McFee, Justin Salamon, Peter Li, Juan Pablo Bello ( New York University, USA, 2017)
β†’
: ( nglaz)


. , . , – . , - . constant-Q , ( ) .



. constant-Q - f_min - F. f_min f_min * h, , , . h {0.5, 1, 2, 3, 4, 5}, . , 3- , 2- 3- (, , ). , , , , (0.5f, f, 2f, 3f, 4f, 5f), . ( 55) . , , dilated-.


, , constant-Q F, .


F0 estimation, , . 2017 , , state-of-the-art. , .


9. Analyzing and Improving the Image Quality of StyleGAN


: Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, Timo Aila (NVIDIA, 2019)
β†’
: ( shiron8bit)


GAN- , , . , , , , ( FID) :


  • droplet-like ( / ), AdaIN.
  • , ProGAN- / end-to-end MSG-GAN. , /, .
  • Menambahkan Regulasi Panjang Jalur.
  • Mereka menyarankan prosedur untuk mendeteksi gambar yang dihasilkan: kami menemukan proyeksi gambar ke ruang laten W, jika gambar yang direkonstruksi dekat dengan aslinya, maka kemungkinan besar dihasilkan melalui stylegan2.




Artefak Tetesan dan AdaIN
Para penulis artikel memberikan argumen berikut untuk tidak menggunakan lapisan AdaIN: adain menormalkan setiap peta fitur, sehingga menghancurkan informasi tentang nilai besarnya relatif satu sama lain, dan tetesan adalah upaya oleh generator untuk mendorong informasi ini dengan cara yang berbeda. Sebagai pilihan untuk melemahkan AdaIN, berikut ini diusulkan: kami akan melakukan semua penskalaan (modulasi / demodulasi) langsung dalam konvolusi, berdasarkan gaya yang berasal dari blok A, dan offset dari sinyal keluar (bukan mu (y) / y_ {b, i} di AdaIN) biarkan blok B mengubah kebisingan. Inovasi ini pada saat yang sama memungkinkan untuk mempercepat pelatihan di bawah kondisi yang sama.


Kegagalan dari ProGAN
Dalam artikel tentang MSG-GAN, diusulkan untuk menggunakan koneksi lewati, menghubungkan blok generator yang cocok dan blok diskriminator dengan resolusi. Penulis Stylegan mengembangkan ide ini dengan merangkum output dari blok generator dari semua resolusi (dengan upsampling) dan mengumpankan versi gambar downsampled yang sesuai ke input masing-masing blok diskriminator. Disarankan bahwa blok residu digunakan sebagai opsi kedua, sementara lewati koneksi di generator dan blok residual di diskriminator menunjukkan hasil terbaik (diskriminator mirip dengan LAPGAN, tetapi tanpa diskriminator untuk setiap resolusi, peta fitur diteruskan lebih lanjut). seperti dalam kasus ProGAN, dalam iterasi awal, bagian-bagian grid yang bertanggung jawab untuk resolusi yang lebih rendah dan gambaran keseluruhan memberikan kontribusi yang lebih besar, dan kemudian penekanannya ditransfer ke detail kecil.


Pengaturan panjang jalur
Memperhatikan bahwa nilai FID rendah tidak selalu memberikan gambar berkualitas tinggi, dan juga mencatat korelasi antara kualitas gambar dan metrik PPL (Perceptual Path Length - awalnya perbedaan antara fitur vgg-gambar dengan langkah-langkah kecil dalam Z, tetapi perbedaannya diganti dengan LPIPS), para penulis mengusulkan Path Regulator panjang, yaitu untuk meminimalkan fungsionalitas

JwTy= nablaw(g(w)y)


di mana g adalah generator itu sendiri, J_w adalah Jacobian dalam variabel ruang laten. Pada saat yang sama, perhitungan Jacobian dapat dilakukan melalui backprop, dan juga dikatakan bahwa untuk memfasilitasi perhitungan, regulator hanya dapat dihitung untuk setiap 16 batch. Angka a dihitung sebagai rata-rata bergerak eksponensial dari norma Jacobian.Penggunaan Regulasi Panjang Jalur memungkinkan untuk interpolasi yang lebih halus dari ruang tersembunyi W, yang, selain meningkatkan kualitas gambar, dapat meningkatkan reversibilitas (yaitu, menemukan w yang memberikan gambar tertentu setelah dijalankan melalui generator), dan juga membuka perspektif dalam hal animasi dan interpolasi antara bingkai kunci (dalam arsitektur baru, antara proyeksi gambar yang sama, harus ada titik yang bertanggung jawab untuk gambar dekat I). Pengenalan regularisasi ini juga memainkan peran dalam menyederhanakan deteksi gambar yang dihasilkan oleh arsitektur ini.

Waktu pelatihan untuk 8 GPU pada resolusi 1024 * 1024 adalah dari 2 hingga 9 hari untuk konfigurasi yang berbeda.

Source: https://habr.com/ru/post/id485122/


All Articles