Syväoppiminen ( syväoppiminen ; eng. Deep learning ) - joukko koneoppimismenetelmiä ( opettajan kanssa , opettajan osittaisella osallistumisella , ilman opettajaa , vahvistuksella ) , joka perustuu oppimisrepresentaatioihin ( eng. feature / representation learning ), eivätkä erikoistuneet algoritmit tiettyihin tehtäviin. 1980-luvulla (ja jopa aikaisemmin [1] ) tunnettiin monia syvän oppimisen menetelmiä , mutta tulokset eivät olleet vaikuttavia [2] ennen kuin keinotekoisten hermoverkkojen teoriassa edistyttiin (hermoverkkojen esikoulutus käyttämällä erityistapausta suuntaamaton graafinen malli, ns. rajoitettu kone Boltzmann ) ja 2000-luvun puolivälin laskentateho (mukaan lukien grafiikkakiihdyttimiä , käyttäjän ohjelmoitavat porttitaulukot ja erilaiset hermoprosessorit ) eivät mahdollistaneet monimutkaisten teknologioiden luomista. hermoverkkojen arkkitehtuurit, jotka ovat riittävän suorituskykyisiä ja mahdollistavat monien sellaisten ongelmien ratkaisemisen, joita ei aikaisemmin voitu tehokkaasti ratkaista, esimerkiksi tietokonenäössä , konekäännöksessä , puheentunnistuksessa ja ratkaisun laatu on nyt monissa tapauksissa vertailukelpoinen, ja joissakin tapauksissa ylittää ihmisen tehokkuuden [3] .
Huolimatta siitä, että termi " syväoppiminen " ilmestyi koneoppimisen tiedeyhteisöön vasta vuonna 1986 Rina Dekhterin [4] työn jälkeen , ensimmäinen yleinen työalgoritmi syväsyöttöisille monikerroksisille perceptroneille julkaistiin Neuvostoliiton kirjassa. tutkijat Aleksei Grigorievich Ivakhnenko ja Valentin Grigorievich Lapa "Kyberneettiset ennustavat laitteet", jo vuonna 1965 [5]
Muut syvät arkkitehtuurit, erityisesti hahmontunnistukseen erikoistuneet , ovat peräisin Kunihiko Fukushiman kehittämästä neokognitronista .vuonna 1980. Vuonna 1989 Jan LeCun onnistui käyttämään backpropagation- algoritmia opettamaan syviä hermoverkkoja ratkaisemaan käsinkirjoitettujen postinumeroiden tunnistamisongelman [6] . Onnistuneesta kokemuksesta huolimatta mallin kouluttaminen kesti kolme päivää, mikä rajoitti merkittävästi menetelmän soveltuvuutta. Alhainen oppimisnopeus liittyy moniin tekijöihin, mukaan lukien ongelmaan katoavat gradientit, jotka johtuvat koulutettavien parametrien arvojen suuresta hajautumisesta, jonka vuonna 1991 analysoivat Jörgen Schmidhuber ja Sepp Hochreiter. Näiden ongelmien vuoksi hermoverkot väistyivät vektorikoneiden tukemiselle 1990-luvulla .
Vuoteen 1991 mennessä tällaisia järjestelmiä käytettiin tunnistamaan eristettyjä 2D-käsin kirjoitettuja numeroita, ja 3D-objektien tunnistus suoritettiin sovittamalla 2D-kuvia käsin valmistettuun 3D-objektimalliin. Vuonna 1992 luotiin kresseptronin malli [7] [8] [9] kolmiulotteisten kohteiden tunnistamiseksi sekavissa kohtauksissa.
Vuonna 1994 André de Carvalho julkaisi yhdessä Mike Fairhurstin ja David Bissetin kanssa kokeelliset tulokset monikerroksisesta Boolen hermoverkosta, joka tunnetaan myös painottomana hermoverkona ja joka koostuu kolmikerroksisesta itseorganisoituvasta hermoverkkomoduulista piirteiden poimimista varten ( SOFT) ja sitten kerrostettu neuroverkkomoduuliluokitus (GSN). Jokainen moduuli kävi itsenäisen koulutuksen. Jokainen moduulin kerros haki objekteja entistä monimutkaisemmin edelliseen tasoon verrattuna. [kymmenen]
Vuonna 1995 Brendan Frey osoitti, että oli mahdollista kouluttaa (kahdessa päivässä) kuusi täysin yhdistettyä kerrosta ja useita satoja piilotettuja yksiköitä sisältävä verkko käyttämällä Peter Dayanin ja Hintonin kanssa kehitettyä uni-herätysalgoritmia [11] . Monet tekijät vaikuttavat hitaan nopeuteen, mukaan lukien katoava gradienttiongelma, jonka Sepp Hochreiter analysoi vuonna 1991 [12] [13] .
Yksinkertaisemmat mallit, jotka käyttävät tehtäväkohtaista manuaalista työtä, kuten Gabor-suodattimet ja tukivektorikoneet (SVM:t), olivat suosittuja valintoja 1990- ja 2000-luvuilla keinotekoisten hermoverkkojen (ANN) laskennallisten kustannusten vuoksi. ymmärtämään, kuinka aivot yhdistävät biologiset verkostonsa.
Sekä pinta- että syväoppimista (esim. toistuvia verkkoja) ANN:ita on tutkittu useiden vuosien ajan [14] [15] [16] . Nämä menetelmät eivät ole koskaan voittaneet heterogeenisia sekoitettuja Gaussin ja piilotettuja Markov -malleja, jotka perustuvat erottelevasti koulutettuihin generatiivisiin puhemalleihin [17] . Keskeisiä vaikeuksia analysoitiin, mukaan lukien gradienttivähennys [12] ja heikko ajallinen korrelaatiorakenne hermosolujen ennustavissa malleissa [18] [19] . Muita ongelmia olivat harjoitustietojen puute ja rajallinen laskentateho.
Syväoppiminen saavutti suosiota 2000-luvun puolivälissä, kun kaikki sulautui yhteen: tietokoneista tuli tarpeeksi tehokkaita suurien hermoverkkojen kouluttamiseen (ne oppivat delegoimaan laskelmia GPU :ille , mikä nopeuttai oppimisprosessia suuruusluokkaa), tietojoukoista tuli tarpeeksi suuria suurten verkkojen kouluttaminen oli järkevää, ja toinen edistysaskel tapahtui keinotekoisten hermoverkkojen teoriassa - Hintonin , Osindereron ja Taen [20] artikkelit sekä Bengio [21] , joissa kirjoittajat osoittivat, että on mahdollista tehokkaasti esikouluttaa monikerroksinen hermoverkko, jos jokainen kerros opetetaan erikseen käyttämään rajoitettua Boltzmann-konetta , ja sitten uudelleenkoulutus käyttäen backpropagation menetelmää .
Vuonna 2012 George E. Dahlin johtama tiimi voitti Merck Molecular Activity Challengen käyttämällä moniajosyviä hermoverkkoja ennustaakseen yksittäisen lääkkeen biomolekyylisen kohteen [22] . Vuonna 2014 Hochreiterin ryhmä käytti syväoppimista tunnistaakseen ympäristökemikaalien kohde- ja myrkyllisiä vaikutuksia ravintoaineissa, kotitaloustuotteissa ja lääkkeissä, ja voitti "Tox21 Data Challenge" -kilpailun Yhdysvaltain kansallisilta terveysinstituuteilta , Yhdysvaltain elintarvike- ja lääkevirastolta . elintarvikkeiden ja lääkkeiden laatu ja NCATS [23] .
Merkittävä kehitys kuvien tai esineiden tunnistamisessa tapahtui vuosina 2011–2012. Vaikka taaksepäin levitetyt konvoluutiohermoverkot (CNN) ovat olleet olemassa vuosikymmeniä, ja GPU:t ovat toteuttaneet hermoverkkoja useiden vuosien ajan, mukaan lukien CNN:t, CNN-verkkojen nopeita toteutuksia GPU:ssa on käytetty tietokonenäön edistämiseen. Vuonna 2011 tämä lähestymistapa saavutti yli-inhimillisen suorituskyvyn ensimmäistä kertaa visuaalisessa kuviontunnistuskilpailussa. Myös vuonna 2011 hän voitti ICDAR-käsinkirjoituskilpailun ja toukokuussa 2012 ISBI-kuvasegmentointikilpailun [24] . Vuoteen 2011 asti CNN:illä ei ollut merkittävää roolia tietokonenäkökonferensseissa, mutta kesäkuussa 2012 Ciresanin [25] esitys lippulaiva CVPR-konferenssissa osoitti, kuinka CNN-verkkojen maksimaalinen integrointi GPU:hun voi parantaa merkittävästi monia vertailutuloksia. Lokakuussa 2012 samanlaisen järjestelmän kehitti Krizhevsky [26] , jonka tiimi voitti laajan ImageNet -kilpailun merkittävällä erolla pintakoneoppimismenetelmiin verrattuna. Marraskuussa 2012 Ciresan-tiimi voitti myös ICPR-kilpailun laajasta lääketieteellisestä kuva-analyysistä syövän havaitsemiseksi, ja seuraavana vuonna MICCAI Grand Challengen samasta aiheesta [27] . Vuosina 2013 ja 2014 syväoppimista käyttävän ImageNet-tehtävän virheprosentti pieneni entisestään johtuen samankaltaisesta laajamittaisen puheentunnistuksen trendistä. Steven Wolfram julkaisi nämä parannukset osana Image Identification Projectia [28] .
Kuvien luokittelu laajennettiin sitten monimutkaisempaan tehtävään luoda kuvaukset (tekstit) kuville, usein CNN:n ja LSTM:n yhdistelmänä [29] [30] [31] [32] .
Jotkut tutkijat uskovat, että ImageNetin voitto lokakuussa 2012 merkitsi alkua "syvän oppimisen vallankumoukselle", joka muutti tekoälyteollisuutta [33] .
Maaliskuussa 2019 Yoshua Bengio , Geoffrey Hinton ja Yann LeCun saivat Turing Award -palkinnon käsitteellisistä ja teknisistä läpimurroista, jotka ovat tehneet syvähermoverkoista laskennan kriittisen osan.
Keinotekoiset hermoverkot (ANN:t) ovat laskennallisia järjestelmiä, jotka perustuvat eläinten aivot muodostavien biologisten hermoverkkojen periaatteisiin. Tällaiset järjestelmät oppivat (parantavat asteittain kykyjään) suorittamaan tehtäviä, yleensä ilman, että niitä on ohjelmoitu ratkaisemaan tiettyjä tehtäviä. Esimerkiksi kissojen kuvantunnistuksessa he voivat oppia tunnistamaan kissoja sisältäviä kuvia analysoimalla esimerkkejä kuvista, joihin on manuaalisesti merkitty "kissa" tai "ei kissa", ja käyttämällä analyysin tuloksia kissojen tunnistamiseen muista kuvista. ANN:t ovat löytäneet suurimman käyttönsä ohjelmistosovelluksissa, joita on vaikea ilmaista perinteisellä tietokonealgoritmilla sääntöpohjaista ohjelmointia käyttäen .
ANN:t perustuvat joukkoon yhdistettyjä yksiköitä, joita kutsutaan keinotekoisiksi neuroneiksi (samanlaiset kuin biologisten aivojen biologiset neuronit). Jokainen neuronien välinen yhteys (synapsi) voi lähettää signaalin toiselle neuronille. Vastaanottava (postsynaptinen) neuroni voi käsitellä signaalia (signaaleja) ja sitten signaloida siihen liitetyille neuroneille. Neuronilla voi olla tila, joka esitetään yleensä reaaliluvuilla, yleensä välillä 0 ja 1. Neuronilla ja synapseilla voi myös olla painoja, jotka muuttuvat oppimisen aikana, mikä voi lisätä tai vähentää sen lähettämän signaalin voimakkuutta.
Tyypillisesti neuronit on järjestetty kerroksiin. Eri kerrokset voivat suorittaa erilaisia muunnoksia. Signaalit kulkevat ensimmäisestä (tulo) viimeiseen (lähtö) kerrokseen, mahdollisesti sen jälkeen, kun ne ovat kulkeneet kerrosten läpi useita kertoja.
Neuroverkkolähestymistavan alkuperäinen tavoite oli ratkaista ongelmia samalla tavalla kuin ihmisaivot. Ajan myötä huomio on keskittynyt tiettyjen älyllisten kykyjen valintaan, mikä on johtanut poikkeamiin biologiasta, kuten takaisin leviämiseen tai tiedon välittämiseen päinvastaiseen suuntaan ja verkoston perustamiseen tätä tietoa heijastamaan.
Neuraaliverkkoja käytetään monenlaisiin tehtäviin, kuten konenäköön, puheentunnistukseen, konekääntämiseen, sosiaalisen median suodatukseen, videopeleihin ja lääketieteelliseen diagnostiikkaan.
Vuodesta 2017 lähtien neuroverkoilla on tyypillisesti muutama tuhat - muutama miljoonaa yksikköä ja miljoonia yhteyksiä. Huolimatta siitä, että tämä luku on useita suuruusluokkia pienempi kuin ihmisen aivojen neuronien lukumäärä, nämä verkostot voivat suorittaa monia tehtäviä tasolla, joka ylittää ihmisen kyvyt (esimerkiksi kasvojen tunnistus, play go ) [34] .
Syvä hermoverkko (DNN, DNN - Deep neural network) on keinotekoinen hermoverkko (ANN), jossa on useita kerroksia tulo- ja lähtökerroksen välissä [35] [36] . GNN löytää oikean matemaattisen muunnosmenetelmän syötteen muuttamiseksi ulostuloksi riippumatta siitä, onko korrelaatio lineaarinen vai epälineaarinen . Verkko liikkuu kerrosten läpi laskeen kunkin poistumisen todennäköisyyden. Esimerkiksi DNN, joka on koulutettu tunnistamaan koirarodut, kävelee tietyn kuvan läpi ja laskee todennäköisyyden, että kuvassa oleva koira kuuluu tiettyyn rotuun. Käyttäjä voi tarkastella tuloksia ja valita todennäköisyydet, jotka verkon tulee näyttää (esim. tietyn kynnyksen ylittäessä) ja palauttaa verkkoon ehdotetun nimiön. Jokainen matemaattinen muunnos katsotaan kerrokseksi, ja monimutkaisilla GNN:illä on useita kerroksia, mistä johtuu nimi "syvät" tai "syvät" verkot.
GNN:t voivat mallintaa monimutkaisia epälineaarisia suhteita. GNN-arkkitehtuurit luovat kompositiomalleja, joissa objekti ilmaistaan primitiivien monitasoisena koostumuksena [37] . Lisäkerrokset mahdollistavat elementtien muodostamisen alemmilla tasoilla, mikä mahdollisesti mallintaa monimutkaista dataa vähemmällä yksiköllä kuin hieno verkko, jolla on samanlaiset mittarit [35] .
Syväarkkitehtuuri sisältää monia muunnelmia useista peruslähestymistapoista. Jokainen arkkitehtuuri on saavuttanut menestystä tietyillä alueilla. Aina ei ole mahdollista verrata useiden arkkitehtuurien suorituskykyä, ellei niitä ole arvioitu samoilla tietojoukoilla.
GNN:t ovat tyypillisesti myötäkytkentäverkkoja, joissa dataa siirretään tulokerroksesta lähtökerrokselle ilman palautetta. Ensin GNN luo kartan virtuaalisista neuroneista ja määrittää niiden välisille yhteyksille satunnaisia numeerisia arvoja tai "painoja". Painot ja syöttötiedot kerrotaan ja ne palauttavat lähtösignaalin 0:sta 1:een. Jos verkko ei tunnista tarkasti tiettyä kuviota, algoritmi säätää painotuksia, kunnes se määrittää kertoimet, jotka käsittelevät dataa oikein. [38]
Syväoppiminen on luonnehdittu koneoppimisalgoritmien luokkaksi , joka [39] :
Kaikki määritelmät sanovat
Tiettyjen epälineaaristen kerrosten koostumus riippuu ratkaistavasta ongelmasta. Käytetään sekä hermoverkon piilotettuja kerroksia että monimutkaisten loogisten muunnosten kerroksia [40] . Järjestelmä voi sisältää latentteja muuttujia, jotka on järjestetty kerroksiin syviin generatiivisiin malleihin, kuten solmuja syvässä luottamusverkossa ja syvästi rajoitettuun Boltzmannin koneeseen .
Syväoppimisalgoritmit vastustavat matalia oppimisalgoritmeja niiden parametrisoitujen muunnosten lukumäärän suhteen, joita signaali kohtaa, kun se etenee syöttökerroksesta lähtökerrokseen, jolloin parametroitua muunnosa pidetään tietojenkäsittely-yksikkönä, jolla on koulutettavia parametreja, kuten painoina tai kynnysarvoina [41] . Muutosketjua syötteestä tuotoksi kutsutaan CAP - siirtämällä vastuu ( englanniksi credit assignment path, CAP ). CAP:t kuvaavat mahdollisia kausaalisia suhteita verkon varrella syötteestä lähtöön, ja eri haarojen polulla voi olla eripituisia. Forward-hermoverkossa CAP-syvyys ei eroa verkon syvyydestä ja on yhtä suuri kuin piilotettujen kerrosten lukumäärä plus yksi (lähtökerros on myös parametroitu). Toistuvissa hermoverkoissa , joissa signaali voi hypätä kerrosten läpi ohittaen välitasot, CAP on potentiaalisesti rajaton palautteen vuoksi. Ei ole olemassa yleisesti hyväksyttyä kynnystä syvän oppimisen matalan oppimisen jakautumissyvyydelle, mutta syvälle oppimiselle katsotaan yleensä ominaista useat epälineaariset kerrokset (CAP > 2). Jorgen Schmidhuber korostaa myös "erittäin syvää oppimista", kun CAP > 10 [41] .
Deep learning on koneoppimisalgoritmi korkean tason abstraktioiden mallintamiseen käyttämällä useita epälineaarisia muunnoksia [39] [40] [41] [42] [43] .
Ensinnäkin syväoppiminen sisältää seuraavat menetelmät ja niiden muunnelmat:
Näitä menetelmiä yhdistämällä syntyy monimutkaisia järjestelmiä, jotka vastaavat erilaisia tekoälytehtäviä .
Syväoppiminen on validoitu valikoima laajasta koneoppimismenetelmien valikoimasta, joka edustaa ongelman luonteeseen parhaiten sopivaa dataa. Esimerkiksi kuva voidaan esittää monin tavoin, kuten arvojen intensiteettivektorina pikseliä kohden tai (abstraktemmassa muodossa) primitiivien joukkona, tietyn muotoisina alueina jne. Onnistuneet dataesitykset helpottaa tiettyjen ongelmien ratkaisemista – esimerkiksi kasvojentunnistusta ja ilmeitä [44] ). Syväoppimisjärjestelmissä se automatisoi ominaisuuksien valinta- ja viritysprosessin suorittaen ominaisuusoppimisen [ ilman opettajaa tai opettajan osittaisella osallistumisella käyttämällä tähän tehokkaita algoritmeja ja hierarkkista ominaisuuspoimintaa [45] .
Tämän alueen tutkimus on parantanut malleja suurten määrittämättömien tietojen käsittelyyn. Joitakin lähestymistapoja on syntynyt neurotieteen alan edistymisestä, tiedonkäsittelyn tulkinnan edistymisestä, viestintämallien rakentamisesta hermostoon , kuten hermokoodauksesta , joka liittyy ärsykkeen ja hermovasteiden välisen suhteen määrittämiseen, sekä sähköisen toiminnan suhdetta hermostoon. neuronit aivoissa [46] .
Syväoppimisjärjestelmät ovat löytäneet sovelluksen muun muassa tietokonenäön , puheentunnistuksen , luonnollisen kielen käsittelyn , äänentunnistuksen, bioinformatiikan aloilla , joissa useissa tehtävissä on saatu huomattavasti parempia tuloksia kuin aiemmin.
Huolimatta syväoppimisen menestyksestä, sillä on edelleen perustavanlaatuinen rajoitus: syväoppimismallit ovat rajallisia sen suhteen, mitä ne voivat edustaa, eikä useimpia ohjelmia voida ilmaista useiden tietojen jatkuvana geometrisena muodonmuutoksena [47] .
Säilyttää kuitenkin skeptinen käsitys siitä, että syväoppiminen ei ole muuta kuin muotisana tai hermoverkkojen tuotemerkki [48] [49] .
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 |
|