Autoencoder ( engelsk autoencoder , også - autoassociator ) [1] - en speciel arkitektur af kunstige neurale netværk , der giver dig mulighed for at anvende uovervåget læring [2] , når du bruger tilbagepropageringsmetoden . Den enkleste autoencoder-arkitektur er et feed-forward-netværk uden feedback, mest ligner en perceptron og indeholder et inputlag, et mellemlag og et outputlag. I modsætning til en perceptron skal outputlaget af en autoencoder indeholde lige så mange neuroner som inputlaget.
Hovedprincippet for drift og træning af autoencoder-netværket er at få en respons på det outputlag, der er tættest på inputlaget. For at forhindre løsningen i at være triviel, pålægges der restriktioner på det mellemliggende lag af autoencoderen: Mellemlaget skal enten være af en mindre dimension end input- og outputlagene, eller antallet af samtidigt aktive mellemlagsneuroner er kunstigt begrænset - sparsomt aktivering . Disse begrænsninger tvinger det neurale netværk til at lede efter generaliseringer og korrelationer i inputdataene og udføre deres komprimering. Således trænes det neurale netværk automatisk til at udtrække fællestræk fra inputdataene, som er indkodet i vægtværdierne af det kunstige neurale netværk. Så når du træner et netværk på et sæt af forskellige inputbilleder, kan det neurale netværk uafhængigt lære at genkende linjer og striber i forskellige vinkler.
Oftest bruges autoencodere i kaskade til at træne dybe (flerlags) netværk . Autoencodere bruges til uovervåget fortræning af det dybe netværk . For at gøre dette trænes lagene efter hinanden, startende fra den første. Et ekstra outputlag er forbundet til hvert nyt utrænet lag for træningsperioden, hvilket supplerer netværket til autoencoder-arkitekturen, hvorefter et datasæt til træning føres til netværksinputtet. Vægten af det utrænede lag og det ekstra lag af autoencoderen trænes ved hjælp af tilbagepropageringsmetoden. Derefter deaktiveres autoencoder-laget, og der oprettes et nyt svarende til det næste utrænede netværkslag. Det samme datasæt føres igen til netværksinputtet, de trænede første lag af netværket forbliver uændrede og fungerer som input til den næste trænede lag auto-encoder. Så træningen fortsætter for alle lag af netværket undtagen de sidste. De sidste lag af netværket trænes normalt uden brug af en autoencoder ved hjælp af den samme backpropagation-metode og mærkede data (supervised learning).
For nylig er autoencodere blevet brugt lidt til den beskrevne "grådige" lagdelte fortræning af dybe neurale netværk. Efter at denne metode blev foreslået i 2006 af Jeffrey Hinton og Ruslan Salakhutdinov [3] [4] , viste det sig hurtigt, at nye metoder til initialisering med tilfældige vægte er tilstrækkelige til videre træning af dybe netværk [5] . Batchnormaliseringen foreslået i 2014 [6] gjorde det muligt at træne endnu dybere netværk, mens den resterende læringsmetode foreslået i slutningen af 2015 [7] gjorde det muligt at træne netværk af vilkårlig dybde [5] .
De vigtigste praktiske anvendelser af autoencodere forbliver reduktionen af støj i data, såvel som reduktionen af dimensionaliteten af højdimensionelle data til visualisering. Med visse forbehold vedrørende datadimensionalitet og sparsomhed kan autoenkodere gøre det muligt at opnå projektioner af multidimensionelle data, der viser sig at være bedre end dem, der er givet af principal komponent metoden eller en anden klassisk metode [5] .
Udvalget af mulige anvendelser af autoencodere er dog på ingen måde begrænset til dette. Så de kan bruges til at detektere anomalier [8] [9] [10] [11] [12] , da modellen lærer at gendanne inputdata i overensstemmelse med de mest karakteristiske træk, og i nærvær af afvigelser, gendannelsen nøjagtigheden falder. I 2019 blev den vellykkede anvendelse af autoencoderen i lægemiddeldesign også demonstreret [13] [14] .
Typer af kunstige neurale netværk | |
---|---|
|
Machine learning og data mining | |
---|---|
Opgaver | |
At lære med en lærer | |
klyngeanalyse | |
Dimensionalitetsreduktion | |
Strukturel prognose | |
Anomali detektion | |
Grafer sandsynlighedsmodeller | |
Neurale netværk | |
Forstærkende læring |
|
Teori | |
Tidsskrifter og konferencer |
|