Autoencoder

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 25 mai 2022; verificarea necesită 1 editare .

Autoencoder ( în engleză  autoencoder , de asemenea - autoassociator ) [1]  - o arhitectură specială a rețelelor neuronale artificiale care vă permite să aplicați învățarea nesupravegheată [2] atunci când utilizați metoda de backpropagation . Cea mai simplă arhitectură de autoencoder este o rețea feed-forward, fără feedback, cel mai asemănătoare cu un perceptron și care conține un strat de intrare, un strat intermediar și un strat de ieșire. Spre deosebire de un perceptron, stratul de ieșire al unui autoencoder trebuie să conțină la fel de mulți neuroni ca stratul de intrare.

Principiul principal de funcționare și antrenament al rețelei de autoencoder este obținerea unui răspuns la nivelul de ieșire care este cel mai apropiat de cel de intrare. Pentru a preveni ca soluția să fie banală, se impun restricții asupra stratului intermediar al autoencoderului: stratul intermediar trebuie fie să fie de o dimensiune mai mică decât straturile de intrare și de ieșire, fie numărul de neuroni din stratul intermediar activ simultan este limitat artificial - rar activare . Aceste restricții obligă rețeaua neuronală să caute generalizări și corelații în datele de intrare și să efectueze comprimarea acestora. Astfel, rețeaua neuronală este antrenată automat pentru a extrage caracteristici comune din datele de intrare, care sunt codificate în valorile de greutate ale rețelei neuronale artificiale. Deci, atunci când antrenează o rețea pe un set de imagini de intrare diferite, rețeaua neuronală poate învăța în mod independent să recunoască linii și dungi în unghiuri diferite.

Cel mai adesea, codificatoarele automate sunt utilizate în cascadă pentru a antrena rețele profunde (multistrat) . Codificatoarele automate sunt folosite pentru antrenamentul prealabil nesupravegheat al rețelei profunde . Pentru a face acest lucru, straturile sunt antrenate unul după altul, începând de la primul. Un strat de ieșire suplimentar este conectat la fiecare nou strat neantrenat pentru perioada de antrenament, suplimentând rețeaua arhitecturii autoencoder, după care un set de date pentru antrenament este alimentat la intrarea rețelei. Greutățile stratului neantrenat și stratul suplimentar al autoencoderului sunt antrenate folosind metoda de backpropagation. Apoi stratul de codificare automată este dezactivat și este creat unul nou corespunzător următorului strat de rețea neantrenat. Același set de date este din nou alimentat la intrarea în rețea, primele straturi antrenate ale rețelei rămân neschimbate și funcționează ca intrare pentru următorul auto-coder antrenat. Așadar, antrenamentul continuă pentru toate straturile rețelei, cu excepția ultimelor. Ultimele straturi ale rețelei sunt de obicei antrenate fără utilizarea unui autoencoder folosind aceeași metodă de backpropagation și date etichetate (învățare supravegheată).

Aplicații ale autoencoderului

Recent, codificatoarele automate au fost puțin utilizate pentru pregătirea „lacomă” în straturi descrisă a rețelelor neuronale profunde. După ce această metodă a fost propusă în 2006 de Jeffrey Hinton și Ruslan Salakhutdinov [3] [4] , s-a dovedit rapid că noi metode de inițializare cu greutăți aleatorii sunt suficiente pentru formarea ulterioară a rețelelor adânci [5] . Normalizarea loturilor propusă în 2014 [6] a făcut posibilă antrenarea rețelelor și mai profunde, în timp ce metoda de învățare reziduală propusă la sfârșitul anului 2015 [7] a făcut posibilă antrenarea rețelelor de adâncime arbitrară [5] .

Principalele aplicații practice ale autoencoderelor rămân reducerea zgomotului în date, precum și reducerea dimensionalității datelor cu dimensiuni înalte pentru vizualizare. Cu anumite avertismente privind dimensionalitatea și rarătatea datelor, autoencoderele pot face posibilă obținerea de proiecții de date multidimensionale care se dovedesc a fi mai bune decât cele date prin metoda componentelor principale sau altă metodă clasică [5] .

Cu toate acestea, gama de aplicații posibile ale autoencoderilor nu este în niciun caz limitată la aceasta. Deci, ele pot fi utilizate pentru a detecta anomalii [8] [9] [10] [11] [12] , deoarece modelul învață să restabilească datele de intrare conform celor mai caracteristice caracteristici, iar în prezența abaterilor, restaurarea precizia scade. În 2019, a fost demonstrată și aplicarea cu succes a autoencoderului în proiectarea medicamentelor [13] [14] .

Note

  1. Autoencoder for Words, Liou, C.-Y., Cheng, C.-W., Liou, J.-W. și Liou, D.-R., Neurocomputing, volumul 139, 84-96 (2014), doi : 10.1016/j.neucom.2013.09.055
  2. Training a multilayer sparse auto-encoder on large-scale images, Khurshudov A. A., Bulletin of Computer and Information Technologies 02.2014 doi : 10.14489/vkit.2014.02.pp.027-030
  3. G. E. Hinton, R. R. Salakhutdinov. Reducerea dimensionalității datelor cu rețele neuronale   // Știință . — 28-07-2006. — Vol. 313 , iss. 5786 . — P. 504–507 . — ISSN 1095-9203 0036-8075, 1095-9203 . - doi : 10.1126/science.1127647 . Arhivat din original pe 23 decembrie 2015.
  4. De ce pre-formarea nesupravegheată ajută la învățarea profundă? . Arhivat din original pe 13 decembrie 2016.
  5. ↑ 1 2 3 Construirea de codificatoare automate în Keras . blog.keras.io. Consultat la 25 iunie 2016. Arhivat din original pe 23 iunie 2016.
  6. Serghei Ioffe, Christian Szegedy. Normalizare lot: Accelerarea antrenamentului în rețea profundă prin reducerea deplasării covariatelor interne  // arXiv:1502.03167 [cs]. — 2015-02-10. Arhivat din original pe 3 iulie 2016.
  7. Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun. Învățare reziduală profundă pentru recunoașterea imaginilor  // arXiv:1512.03385 [cs]. — 2015-12-10. Arhivat din original pe 3 septembrie 2016.
  8. Morales-Forero A., Bassetto S. Case Study: A Semi-Supervised Methodology for Anomaly Detection and Diagnosis  // 2019 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM). — Macao, Macao: IEEE, 2019-12. — S. 1031–1037 . - ISBN 978-1-7281-3804-6 . - doi : 10.1109/IEEM44572.2019.8978509 .
  9. Sakurada Mayu, Yairi Takehisa. Detectarea anomaliilor folosind codificatoare automate cu reducere a dimensionalității neliniare  //  Proceedings of the MLSDA 2014 2nd Workshop on Machine Learning for Sensory Data Analysis - MLSDA'14. — Gold Coast, Australia QLD, Australia: ACM Press, 2014. — P. 4–11 . — ISBN 978-1-4503-3159-3 . doi : 10.1145 / 2689746.2689747 .
  10. Jinwon An, Sungzoon Cho. [ http://dm.snu.ac.kr/static/docs/TR/SNUDM-TR-2015-03.pdf Detectarea anomaliilor bazată pe autoencoder variațional folosind probabilitatea de reconstrucție] // Lectură specială despre IE. - 2015. - Nr 2 . - S. 1-18 .
  11. Chong Zhou, Randy C. Paffenroth. Detectarea anomaliilor cu autoencodere profunde robuste  //  Proceedings of the 23th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. — Halifax NS Canada: ACM, 2017-08-04. — P. 665–674 . — ISBN 978-1-4503-4887-4 . - doi : 10.1145/3097983.3098052 .
  12. Manassés Ribeiro, André Eugênio Lazzaretti, Heitor Silvério Lopes. Un studiu al codificatoarelor automate convoluționale profunde pentru detectarea anomaliilor în videoclipuri  //  Litere de recunoaștere a modelelor. — 2018-04. — Vol. 105 . — P. 13–22 . - doi : 10.1016/j.patrec.2017.07.016 .
  13. Alex Zhavoronkov, Yan A. Ivanenkov, Alex Aliper, Mark S. Veselov, Vladimir A. Aladinskiy. Învățarea profundă permite identificarea rapidă a inhibitorilor puternici ai kinazei DDR1  //  Nature Biotechnology. — 2019-09. — Vol. 37 , iss. 9 . — P. 1038–1040 . - ISSN 1546-1696 1087-0156, 1546-1696 . - doi : 10.1038/s41587-019-0224-x .
  14. Gregory Barber. O moleculă concepută de AI prezintă calități „ca droguri”   // Wired . — ISSN 1059-1028 .

Link -uri