Autopenyandi adalah jenis jaringan saraf tiruan yang digunakan untuk mempelajari penyandian data tidak berlabel yang efisien ( pembelajaran tak terarah ). [1] [2] 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. [3] Contohnya adalah autopenyandi yang diatur ( Sparse, Denoising, dan Contractive ), yang efektif dalam mempelajari representasi untuk tugas klasifikasi selanjutnya, [4] dan autopenyandi variabel, dengan aplikasi sebagai model generatif . [5] Autopenyandi diterapkan pada banyak masalah, termasuk pengenalan wajah, [6] deteksi fitur, [7] deteksi anomali, dan perolehan makna kata. [8] [9] Autopenyandi juga merupakan model generatif yang dapat menghasilkan data baru secara acak yang serupa dengan data masukan (data pelatihan). [7]

Prinsip matematika sunting

Definisi sunting

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 sunting

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 sebagai

 
Autopenyandi 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  , sehingga
 
dimana dan   adalah ukuran Dirac, dan fungsi kualitas hanyalah kerugian L2:  ,   adalah norma Euclidean. Maka masalah pencarian autopenyandi yang optimal hanyalah optimasi kuadrat terkecil :
 

Penafsiran sunting

 
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 . [1] [10]

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 . [11]

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. [3]

Sejarah sunting

Autopenyandi pertama kali diusulkan sebagai generalisasi nonlinier dari analisis komponen utama (PCA) oleh Kramer. [1] Autopenyandi juga disebut autopenghimpun, [12] atau jaringan Diabolo. [13] [11] Penerapan pertamanya dimulai pada awal tahun 1990an. [3] [14] [15] Penerapannya yang paling tradisional adalah reduksi dimensi atau pembelajaran fitur, tetapi konsep ini digunakan secara luas untuk mempelajari model data generatif . [16] Beberapa AI paling kuat di tahun 2010-an melibatkan autopenyandi yang ditumpuk di dalam jaringan saraf dalam . [17]

Referensi sunting

  1. ^ a b c Kramer, Mark A. (1991). "Nonlinear principal component analysis using autoassociative neural networks" (PDF). AIChE Journal. 37 (2): 233–243. doi:10.1002/aic.690370209. 
  2. ^ Kramer, M. A. (1992-04-01). "Autoassociative neural networks". Computers & Chemical Engineering. Neutral network applications in chemical engineering (dalam bahasa Inggris). 16 (4): 313–328. doi:10.1016/0098-1354(92)80051-A. ISSN 0098-1354. 
  3. ^ a b c Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). Deep Learning. MIT Press. ISBN 978-0262035613. 
  4. ^ Vincent, Pascal; Larochelle, Hugo (2010). "Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion". Journal of Machine Learning Research. 11: 3371–3408. 
  5. ^ Welling, Max; Kingma, Diederik P. (2019). "An Introduction to Variational Autoencoders". Foundations and Trends in Machine Learning. 12 (4): 307–392. arXiv:1906.02691 . Bibcode:2019arXiv190602691K. doi:10.1561/2200000056. 
  6. ^ 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.
  7. ^ a b Géron, Aurélien (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. Canada: O’Reilly Media, Inc. hlm. 739–740. 
  8. ^ Liou, Cheng-Yuan; Huang, Jau-Chi; Yang, Wen-Chie (2008). "Modeling word perception using the Elman network". Neurocomputing. 71 (16–18): 3150. doi:10.1016/j.neucom.2008.04.030. 
  9. ^ Liou, Cheng-Yuan; Cheng, Wei-Chen; Liou, Jiun-Wei; Liou, Daw-Ran (2014). "Autoencoder for words". Neurocomputing. 139: 84–96. doi:10.1016/j.neucom.2013.09.055. 
  10. ^ Hinton, G. E.; Salakhutdinov, R.R. (28 July 2006). "Reducing the Dimensionality of Data with Neural Networks". Science. 313 (5786): 504–507. Bibcode:2006Sci...313..504H. doi:10.1126/science.1127647. PMID 16873662. 
  11. ^ a b Bengio, Y. (2009). "Learning Deep Architectures for AI" (PDF). Foundations and Trends in Machine Learning. 2 (8): 1795–7. doi:10.1561/2200000006. PMID 23946944. 
  12. ^ Japkowicz, Nathalie; Hanson, Stephen José; Gluck, Mark A. (2000-03-01). "Nonlinear Autoassociation Is Not Equivalent to PCA". Neural Computation. 12 (3): 531–545. doi:10.1162/089976600300015691. ISSN 0899-7667. PMID 10769321. 
  13. ^ Schwenk, Holger; Bengio, Yoshua (1997). "Training Methods for Adaptive Boosting of Neural Networks". Advances in Neural Information Processing Systems. MIT Press. 10. 
  14. ^ Schmidhuber, Jürgen (January 2015). "Deep learning in neural networks: An overview". Neural Networks. 61: 85–117. arXiv:1404.7828 . doi:10.1016/j.neunet.2014.09.003. PMID 25462637. 
  15. ^ 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).
  16. ^ Generating Faces with Torch, Boesen A., Larsen L. and Sonderby S.K., 2015 torch.ch/blog/2015/11/13/gan.html
  17. ^ Domingos, Pedro (2015). "4". The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World. Basic Books. "Deeper into the Brain" subsection. ISBN 978-046506192-1.