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ă).
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] .
Tipuri de rețele neuronale artificiale | |
---|---|
|
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|