Autoencoder ( englanniksi autoencoder , myös - autoassociator ) [1] - keinotekoisten hermoverkkojen erityinen arkkitehtuuri , jonka avulla voit soveltaa valvomatonta oppimista [2] käytettäessä backpropagation menetelmää . Yksinkertaisin autoenkooderiarkkitehtuuri on myötäkytkentäverkko, ilman palautetta, eniten perceptronin kaltainen ja sisältää tulokerroksen, välikerroksen ja lähtökerroksen. Toisin kuin perceptronin, autoenkooderin lähtökerroksen tulee sisältää yhtä monta hermosolua kuin syöttökerroksessa.
Autoenkooderiverkon toiminnan ja koulutuksen pääperiaate on saada vastaus lähtökerrokseen, joka on lähimpänä tulokerrosta. Jotta ratkaisu ei olisi triviaali, autoenkooderin välikerrokseen asetetaan rajoituksia: välikerroksen tulee olla joko pienempi kuin tulo- ja lähtökerros tai samanaikaisesti aktiivisten välikerroksen hermosolujen määrää on keinotekoisesti rajoitettu - harva . aktivointi . Nämä rajoitukset pakottavat hermoverkon etsimään yleistyksiä ja korrelaatioita syöttötiedoista ja suorittamaan niiden pakkaamisen. Siten hermoverkko koulutetaan automaattisesti poimimaan yhteisiä piirteitä syöttötiedoista, jotka on koodattu keinotekoisen hermoverkon painoarvoihin. Joten kun verkkoa opetetaan joukolla erilaisia syöttökuvia, hermoverkko voi itsenäisesti oppia tunnistamaan viivoja ja raitoja eri kulmista.
Useimmiten autoenkoodeja käytetään peräkkäin syvien (monikerroksisten) verkkojen kouluttamiseen . Autoenkoodeja käytetään syväverkon valvomattomaan esiopetukseen . Tätä varten kerrokset koulutetaan peräkkäin ensimmäisestä alkaen. Jokaiseen uuteen kouluttamattomaan kerrokseen liitetään koulutusjakson ajaksi lisälähtökerros, joka täydentää verkkoa autoencoder-arkkitehtuuriin, minkä jälkeen verkkotuloon syötetään koulutusta varten tarkoitettu tietojoukko. Harjoittamattoman kerroksen ja autoenkooderin lisäkerroksen painoja harjoitellaan backpropagation menetelmällä. Sitten automaattinen kooderikerros poistetaan käytöstä ja luodaan uusi, joka vastaa seuraavaa kouluttamatonta verkkokerrosta. Sama tietojoukko syötetään jälleen verkkosyötteeseen, verkon koulutetut ensimmäiset kerrokset pysyvät muuttumattomina ja toimivat syötteenä seuraavan koulutetun kerroksen automaattiselle kooderille. Joten koulutus jatkuu kaikille verkon kerroksille viimeisiä lukuun ottamatta. Verkon viimeiset kerrokset opetetaan yleensä ilman autoenkooderia käyttämällä samaa takaisinetenemismenetelmää ja merkittyjä tietoja (ohjattu oppiminen).
Viime aikoina autoenkoodereita on käytetty vain vähän kuvattuun "ahneeseen" kerrostettuun syvän hermoverkkojen esikoulutukseen. Kun Jeffrey Hinton ja Ruslan Salakhutdinov [3] [4] ehdottivat tätä menetelmää vuonna 2006 , kävi nopeasti ilmi, että uudet alustusmenetelmät satunnaisten painojen avulla ovat riittäviä syvien verkkojen jatkokoulutukseen [5] . Vuonna 2014 ehdotettu eränormalisointi [6] mahdollisti vielä syvempien verkkojen kouluttamisen, kun taas vuoden 2015 lopulla ehdotettu jäännösoppimismenetelmä [7] mahdollisti mielivaltaisen syvyisten verkkojen harjoittamisen [5] .
Autoenkooderien tärkeimmät käytännön sovellukset ovat edelleen datan kohinan vähentäminen sekä korkeadimensionaalisen datan mittasuhteiden vähentäminen visualisointia varten. Tietyillä tietojen dimensiota ja harvalukuisuutta koskevin varoin autoenkooderit voivat mahdollistaa moniulotteisen datan projektioiden saamisen, jotka osoittautuvat paremmiksi kuin pääkomponenttimenetelmällä tai jollain muulla klassisella menetelmällä [5] .
Autoenkooderien mahdollisten sovellusten valikoima ei kuitenkaan rajoitu tähän. Niillä voidaan siis havaita poikkeavuuksia [8] [9] [10] [11] [12] , koska malli oppii palauttamaan syöttötiedot tyypillisimpien ominaisuuksien mukaan ja poikkeamien esiintyessä palautus. tarkkuus heikkenee. Vuonna 2019 esiteltiin myös autoenkooderin onnistunut sovellus lääkesuunnittelussa [13] [14] .
Keinotekoisten neuroverkkojen tyypit | |
---|---|
|
Koneoppiminen ja tiedon louhinta | |
---|---|
Tehtävät | |
Opettajan kanssa oppimista | |
ryhmäanalyysi | |
Mittasuhteiden vähentäminen | |
Rakenteellinen ennustaminen | |
Anomalian havaitseminen | |
Piirrä todennäköisyysmallit | |
Neuroverkot | |
Vahvistusoppiminen |
|
Teoria | |
Lehdet ja konferenssit |
|