Autopenyandi

Autopenyandi adalah jenis jaringan saraf tiruan yang digunakan untuk mempelajari penyandian data tidak berlabel yang efisien ( pembelajaran tak terarah ).   Autopenyandi mempelajari dua fungsi: fungsi penyandian yang mengubah data masukan, dan fungsi pengawasandian yang membuat ulang data masukan dari representasi yang disandikan. Autopenyandi mempelajari representasi (penyandian) yang efisien untuk sekumpulan data, biasanya untuk pengurangan dimensi.

Ada varian yang bertujuan untuk memaksa representasi yang dipelajari untuk mengambil properti yang berguna.  Contohnya adalah autopenyandi yang diatur ( Sparse, Denoising, dan Contractive ), yang efektif dalam mempelajari representasi untuk tugas klasifikasi selanjutnya,  dan autopenyandi variabel, dengan aplikasi sebagai model generatif.  Autopenyandi diterapkan pada banyak masalah, termasuk pengenalan wajah, Hinton GE, Krizhevsky A, Wang SD. Transforming auto-encoders. In International Conference on Artificial Neural Networks 2011 Jun 14 (pp. 44-51). Springer, Berlin, Heidelberg. deteksi fitur,  deteksi anomali, dan perolehan makna kata.   Autopenyandi juga merupakan model generatif yang dapat menghasilkan data baru secara acak yang serupa dengan data masukan (data pelatihan). 

 Prinsip matematika 

 Definisi 
Auto penyandi ditentukan oleh komponen berikut:

Dua set: ruang pesan yang diawasandikan  ; ruang pesan yang disandikan . Hampir selalu, keduanya  Dan  adalah ruang Euclidean, yaitu,  untuk beberapa .

Dua kelompok fungsi yang diparametrikan: keluarga penyandi , diparametrikan oleh  ; keluarga pengawasandi , diparametrikan oleh .

Untuk apa pun , kami biasanya menulis , dan menyebutnya sebagai sandi, variabel laten, representasi laten, vektor laten, dll. Sebaliknya, untuk setiap , kami biasanya menulis , dan menyebutnya sebagai pesan (yang diterjemahkan).

Biasanya, penyandi dan pengawasandi didefinisikan sebagai perseptron mutilapis. Misalnya,penyandi  MLP satu lapis  adalah:



Di mana  adalah fungsi aktivasi berdasarkan elemen seperti fungsi sigmoid atau unit linier yang disearahkan,  adalah matriks yang disebut "bobot", dan  adalah vektor yang disebut "bias".

 Melatih autopenyandi 
Autopenyandi, dengan sendirinya, hanyalah kumpulan dari dua fungsi. Untuk menilai kualitasnya, kita memerlukan tugas. Sebuah tugas ditentukan oleh penyebaran peluang rujukan  lebih , dan fungsi "kualitas rekonstruksi". , seperti yang  mengukur berapa banyak  berbeda dari .

Dengan itu, kita dapat mendefinisikan fungsi kerugian untuk autopenyandi sebagaiAutopenyandi optimal untuk tugas yang diberikan  adalah kemudian . Pencarian autopenyandi yang optimal dapat dilakukan dengan teknik optimasi matematis apa pun, tetapi biasanya dengan penurunan gradien. Proses pencarian ini disebut sebagai "melatih autopenyandi". Dalam kebanyakan situasi, persebaran rujukan hanyalah persebaran empiris yang diberikan oleh kumpulan data , sehinggadimana dan  adalah ukuran Dirac, dan fungsi kualitas hanyalah kerugian L2: ,  adalah norma Euclidean. Maka masalah pencarian autopenyandi yang optimal hanyalah optimasi kuadrat terkecil :

 Penafsiran 
jmpl| Skema autopenyandi dasar
Autopenyandi memiliki dua bagian utama: penyandi yang memetakan pesan ke sandi, dan pengawasandi yang merekonstruksi pesan dari sandi. Autopenyandi yang optimal akan melakukan rekonstruksi sedekat mungkin dengan sempurna, dengan "mendekati sempurna" ditentukan oleh fungsi kualitas rekonstruksi .

Cara termudah untuk melakukan tugas penyalinan dengan sempurna adalah dengan menduplikasi sinyal. Untuk menekan perilaku ini, ruang kode  biasanya memiliki dimensi yang lebih kecil dibandingkan ruang pesan .

Autopenyandi seperti ini disebut undercomplete. Hal ini dapat diartikan sebagai mengempa pesan, atau mengurangi dimensinya.  

Pada batas autopenyandi ideal yang kurang lengkap, setiap sandi yang mungkin  di ruang sandi digunakan untuk menyandikan pesan  yang benar-benar muncul dalam distribusi , dan pengawasandinya juga sempurna: . Autopenyandi ideal ini kemudian dapat digunakan untuk menghasilkan pesan yang tidak dapat dibedakan dari pesan sebenarnya, dengan memasukkan sandi arbitrer pengawasandinya  dan memperoleh , yaitu pesan yang benar-benar muncul dalam pendistribusian .

Jika ruang kode  memiliki dimensi lebih besar dari ( overcomplete ), atau sama dengan, ruang pesan , atau unit tersembunyi diberi kapasitas yang cukup, autopenyandi dapat mempelajari fungsi identitas dan menjadi tidak berguna. Namun, hasil eksperimen menemukan bahwa autopenyandi yang terlalu lengkap mungkin masih mempelajari fitur-fitur yang berguna. 

Dalam kondisi ideal, dimensi sandi dan dayatampung model dapat diatur berdasarkan kerumitan persebaran data yang akan dimodelkan. Cara baku untuk melakukannya adalah dengan menambahkan modifikasi pada autopenyandi dasar, yang akan dirinci di bawah. 

 Sejarah 
Autopenyandi pertama kali diusulkan sebagai generalisasi nonlinier dari analisis komponen utama (PCA) oleh Kramer.  Autopenyandi juga disebut autopenghimpun,  atau jaringan Diabolo.   Penerapan pertamanya dimulai pada awal tahun 1990an.   Hinton, G. E., & Zemel, R. S. (1994). Autoencoders, minimum description length and Helmholtz free energy. In Advances in neural information processing systems 6 (pp. 3-10). Penerapannya yang paling tradisional adalah reduksi dimensi atau pembelajaran fitur, tetapi konsep ini digunakan secara luas untuk mempelajari model data generatif.  Generating Faces with Torch, Boesen A., Larsen L. and Sonderby S.K., 2015  Beberapa AI paling kuat di tahun 2010-an melibatkan autopenyandi yang ditumpuk di dalam jaringan saraf dalam. 

 Referensi