Mélytanulás ( deep learning ; eng. Deep learning ) - gépi tanulási módszerek összessége ( tanárral , tanár részleges bevonásával, tanár nélkül , megerősítéssel ) tanulási reprezentációkon ( angol jellemző/reprezentációs tanulás ) alapul, és nem speciális algoritmusok meghatározott feladatok alatt. Sok mély tanulási módszert ismertek már az 1980-as években (és még korábban is [1] ), de az eredmények nem voltak lenyűgözőek [2], míg a mesterséges neurális hálózatok elméletének fejlődése (neurális hálózatok előképzése egy nem irányított grafikus modell speciális esetével, az úgynevezett korlátozott Boltzmann-géppel ) és a 2000-es évek közepén elért számítási teljesítmény (beleértve a grafikus gyorsítók használatát is) , a felhasználó által programozható kaputömbök és a neurális processzorok különféle formái ) nem tették lehetővé a neurális hálózatok komplex technológiai architektúráinak létrehozását , amelyek kellő teljesítménnyel rendelkeznek, és lehetővé teszik számos olyan probléma megoldását, amelyeket korábban például számítógépen nem lehetett hatékonyan megoldani. látás , gépi fordítás , beszédfelismerés és a megoldás minősége ma már sok esetben összehasonlítható, és néhány esetben meghaladja az emberi hatékonyságot [3] .
Annak ellenére, hogy a „ mély tanulás ” kifejezés csak 1986-ban jelent meg a gépi tanulás tudományos közösségében Rina Dekhter [4] munkája után , a szovjet könyvben megjelent az első általános munkaalgoritmus a mélyen előrecsatolt többrétegű perceptronokhoz. Alekszej Grigorjevics Ivakhnenko és Valentin Grigorievich Lapa tudósok „Kibernetikus előrejelző eszközök”, még 1965-ben [5]
Más mély architektúrák, különösen a mintafelismerésre szakosodottak , a Kunihiko Fukushima által kifejlesztett neokognitronból származnak .1980-ban. 1989-ben Jan LeCunnak sikerült a backpropagation algoritmust használnia mély neurális hálózatok betanítására, hogy megoldja a kézzel írt irányítószámok felismerésének problémáját [6] . A sikeres tapasztalatok ellenére a modell betanítása három napot vett igénybe, ami jelentősen korlátozta ennek a módszernek az alkalmazhatóságát. Az alacsony tanulási ráta számos tényezőhöz kapcsolódik, többek között a gradiensek eltűnésének problémájával a tanítható paraméterek értékeinek nagy szórása miatt, amelyet 1991-ben Jörgen Schmidhuber és Sepp Hochreiter elemzett. E problémák miatt az 1990-es években a neurális hálózatok átadták a helyét a vektorgépek támogatásának .
1991-re az ilyen rendszereket az elszigetelt 2D-s kézzel írt számjegyek felismerésére használták, a 3D-s objektumfelismerést pedig úgy valósították meg, hogy a 2D-s képeket egy kézzel készített 3D-s objektummodellhez illesztették. 1992- ben létrehoztak egy kreszceptron modellt [7] [8] [9] a háromdimenziós objektumok felismerésére zsúfolt jelenetekben.
1994-ben André de Carvalho, Mike Fairhursttel és David Bisset-tel együtt publikálták egy többrétegű Boole-féle neurális hálózat, más néven súlytalan neurális hálózat kísérleti eredményeit, amely háromrétegű, önszerveződő neurális hálózati modulból áll a jellemzők kinyerésére. SOFT), majd egy réteges neurális hálózati modul osztályozást (GSN). Minden modul önálló képzésen esett át. A modul minden rétege az előző réteghez képest egyre bonyolultabb objektumokat kért le. [tíz]
1995-ben Brendan Frey bemutatta, hogy lehetséges (két nap alatt) egy hat teljesen összekapcsolt réteget és több száz rejtett egységet tartalmazó hálózat betanítása Peter Dayan és Hinton által kifejlesztett alvás-ébrenlét algoritmus segítségével [11] . A lassú sebességhez számos tényező hozzájárul, köztük az eltűnő gradiens probléma, amelyet 1991-ben Sepp Hochreiter elemzett [12] [13] .
Az 1990-es és 2000-es években az egyszerűbb, feladatspecifikus kézi munkát használó modellek, mint például a Gabor-szűrők és a támogató vektorgépek (SVM-ek) népszerűek voltak a mesterséges neurális hálózatok (ANN-ok) számítási költsége miatt. .ANN. annak megértése, hogy az agy hogyan kapcsolja össze biológiai hálózatait.
A felszíni és a mély tanulást (pl. visszatérő hálózatok) egyaránt sok éve tanulmányozzák [14] [15] [16] . Ezek a módszerek soha nem teljesítették jobban a heterogén vegyes Gauss- és rejtett Markov -modelleket, amelyek diszkriminatívan képzett generatív beszédmodelleken alapulnak [17] . Elemezték a fő nehézségeket, beleértve a gradiens redukciót [12] és a gyenge időbeli korrelációs struktúrát az idegi prediktív modellekben [18] [19] . További nehézséget jelentett a képzési adatok hiánya és a korlátozott számítási teljesítmény.
A mélytanulás a 2000-es évek közepén vált népszerűvé, amikor minden összeállt: a számítógépek elég erősek lettek a nagy neurális hálózatok betanításához (megtanulták a számításokat GPU -kra delegálni , ami nagyságrenddel felgyorsította a tanulási folyamatot), az adatkészletek elég nagyok lettek ahhoz, hogy a nagy hálózatok betanításának volt értelme, és újabb előrelépés történt a mesterséges neurális hálózatok elméletében – Hinton , Osinderero és Tae [20] , valamint Bengio [21] cikkei , amelyekben a szerzők megmutatták, hogy lehetséges hatékonyan előképezni. többrétegű neurális hálózat, ha minden réteget külön-külön képeznek egy korlátozott Boltzmann-gép használatára, majd az újraképzésre a backpropagation módszerrel .
2012-ben egy George E. Dahl vezette csapat megnyerte a Merck Molecular Activity Challenge versenyt, amely többfeladatos mély neurális hálózatok segítségével előre jelezte egyetlen gyógyszer biomolekuláris célpontját [22] . 2014-ben Hochreiter csoportja mély tanulást alkalmazott a tápanyagokban, háztartási termékekben és gyógyszerekben előforduló környezeti vegyi anyagok nem célzott és mérgező hatásainak azonosítására, és megnyerte a "Tox21 Data Challenge" versenyt az Egyesült Államok Nemzeti Egészségügyi Intézetétől , az Egyesült Államok Élelmiszer- és Gyógyszerügyi Hivatalától . élelmiszer- és gyógyszerminőség és NCATS [23] .
2011 és 2012 között jelentős fejlődés tapasztalható a kép- vagy tárgyfelismerés terén. Míg a visszapropagált konvolúciós neurális hálózatok (CNN-ek) évtizedek óta léteznek, a GPU-k pedig sok éve megvalósítanak neurális hálózatokat, beleértve a CNN-eket is, a CNN-ek GPU-n történő gyors implementációit használták a számítógépes látás fejlesztésére. 2011-ben ez a megközelítés először ért el emberfeletti teljesítményt egy vizuális mintafelismerő versenyen. Ugyancsak 2011-ben megnyerte az ICDAR kézírási versenyt, 2012 májusában pedig az ISBI képszegmentációs versenyt [24] . 2011-ig a CNN-ek nem játszottak jelentős szerepet a számítógépes látási konferenciákon, de 2012 júniusában Ciresan [25] előadása a zászlóshajó CVPR konferencián bemutatta, hogy a CNN-ek maximális integrálása a GPU-ba hogyan javíthat számos benchmark eredményt. 2012 októberében egy hasonló rendszert fejlesztett ki Krizsevszkij [26] , akinek csapata jelentős előnnyel nyerte meg a nagyszabású ImageNet versenyt a felületi gépi tanulási módszerekkel szemben. 2012 novemberében a Ciresan csapata megnyerte a rák kimutatására szolgáló nagyméretű orvosi képelemzést célzó ICPR-versenyt, a következő évben pedig a MICCAI Grand Challenge-t ugyanebben a témában [27] . 2013-ban és 2014-ben a mélytanulást alkalmazó ImageNet feladat hibaaránya tovább csökkent a nagyléptékű beszédfelismerés hasonló trendje miatt. Steven Wolfram ezeket a fejlesztéseket az Image Identification Project [28] részeként tette közzé .
A képosztályozást ezt követően kiterjesztették a képekhez leírások (feliratok) létrehozásának összetettebb feladatára , gyakran a CNN és az LSTM kombinációjaként [29] [30] [31] [32] .
Egyes kutatók úgy vélik, hogy az ImageNet 2012 októberi győzelme egy „mély tanulási forradalom” kezdetét jelentette, amely megváltoztatta az AI-ipart [33] .
2019 márciusában Yoshua Bengio , Geoffrey Hinton és Yann LeCun elnyerték a Turing-díjat azokért a koncepcionális és mérnöki áttörésekért, amelyek a mély neurális hálózatokat a számítástechnika kritikus elemévé tették.
A mesterséges neurális hálózatok (ANN-ok) olyan számítási rendszerek , amelyek az állati agyat alkotó biológiai neurális hálózatok elvein alapulnak . Az ilyen rendszerek megtanulják (fokozatosan fejlesztik képességeiket) a feladatok elvégzésére, általában anélkül, hogy konkrét feladatok megoldására programoznák őket. Például a macskák képfelismerése során megtanulhatják felismerni a macskákat tartalmazó képeket, ha olyan képeket elemeznek, amelyeket kézzel „macska” vagy „nincs macska” címkével láttak el, és az elemzés eredményeit felhasználják a macskák azonosítására más képeken. Az ANN-okat leginkább olyan szoftveralkalmazásokban használják, amelyeket nehéz kifejezni a szabályalapú programozást használó hagyományos számítógépes algoritmusokkal .
Az ANN-ok mesterséges neuronoknak nevezett összekapcsolt egységek halmazán alapulnak (hasonlóan a biológiai agy biológiai neuronjaihoz). A neuronok közötti minden kapcsolat (szinapszis) jelet továbbíthat egy másik neuronnak. A fogadó (posztszinaptikus) neuron képes feldolgozni a jel(eke)t, majd jelezni tudja a hozzá kapcsolódó neuronokat. A neuronoknak általában valós számokkal ábrázolt állapotuk lehet, általában 0 és 1 között. A neuronok és szinapszisok súlya is változhat a tanulás során, ami növelheti vagy csökkentheti az általuk kiküldött jel erősségét.
Jellemzően a neuronok rétegekbe szerveződnek. A különböző rétegek különböző típusú átalakításokat hajthatnak végre. A jelek az első (bemeneti) rétegtől az utolsó (kimeneti) rétegig terjednek, esetleg többszöri áthaladást követően a rétegeken.
A neurális hálózatos megközelítés eredeti célja az volt, hogy a problémákat ugyanúgy megoldja, mint az emberi agy. Az idő múlásával a figyelem bizonyos intellektuális képességek kiválasztására összpontosult, ami a biológiától való eltérésekhez vezetett, mint például a visszaszaporodás, vagy az információ ellenkező irányú továbbítása és egy hálózat felállítása ezen információk tükrözésére.
A neurális hálózatokat számos feladatra használják, beleértve a gépi látást, a beszédfelismerést, a gépi fordítást, a közösségi média szűrését, a videojátékokat és az orvosi diagnosztikát.
2017-től a neurális hálózatok jellemzően néhány ezer-néhány millió egységgel és több millió kapcsolattal rendelkeznek. Annak ellenére, hogy ez a szám több nagyságrenddel kisebb, mint az emberi agy neuronjainak száma, ezek a hálózatok számos feladatot képesek ellátni az ember képességeit meghaladó szinten (például arcfelismerés, go -játék ) [34] .
A mély neurális hálózat (DNN, DNN - Deep neural network) egy mesterséges neurális hálózat (ANN), amelynek több rétege van a bemeneti és kimeneti rétegek között [35] [36] . A GNN megtalálja a helyes matematikai transzformációs módszert a bemenet kimenetté alakításához, függetlenül attól, hogy a korreláció lineáris vagy nemlineáris . A hálózat áthalad a rétegeken, és kiszámítja az egyes kilépések valószínűségét. Például egy kutyafajták felismerésére kiképzett DNN végigmegy egy adott képen, és kiszámítja annak valószínűségét, hogy a képen látható kutya egy adott fajtához tartozik. A felhasználó megtekintheti az eredményeket, kiválaszthatja, hogy a hálózat milyen valószínűségeket jelenítsen meg (például egy bizonyos küszöb felett), és visszaküldheti a javasolt címkét a hálózatnak. Minden matematikai transzformációt rétegnek tekintünk, és az összetett GNN-eknek sok rétegük van, innen ered a „mély” vagy „mély” hálózatok elnevezés.
A GNN-ek komplex nemlineáris kapcsolatokat tudnak modellezni. A GNN architektúrák kompozíciós modelleket hoznak létre, amelyekben egy objektumot primitívek többszintű összetételeként fejeznek ki [37] . A további rétegek lehetővé teszik az elemek összeállítását alacsonyabb szintekről, potenciálisan összetett adatokat modellezve kevesebb egységgel, mint egy finom hálózat hasonló mérőszámokkal [35] .
A mély architektúra több alapvető megközelítés számos változatát tartalmazza. Mindegyik architektúra bizonyos területeken sikert aratott. Nem mindig lehet több architektúra teljesítményét összehasonlítani, kivéve, ha azokat ugyanazon az adatkészleten értékelték ki.
A GNN-ek jellemzően előrecsatolt hálózatok, amelyekben az adatok visszacsatolás nélkül kerülnek átvitelre a bemeneti rétegből a kimeneti rétegbe. Először is, a GNN létrehozza a virtuális neuronok térképét, és véletlenszerű számértékeket vagy "súlyokat" rendel a köztük lévő kapcsolatokhoz. A súlyok és a bemeneti adatok megszorozódnak, és 0-tól 1-ig tartó kimeneti jelet adnak vissza. Ha a hálózat nem ismer fel pontosan egy adott mintát, az algoritmus addig módosítja a súlyokat, amíg meg nem határozza az adatokat helyesen feldolgozó együtthatókat. [38]
A mélytanulást gépi tanulási algoritmusok osztályaként jellemzik, amelyek [39] :
Minden definíció kimondja
A konkrét nemlineáris rétegek összetétele a megoldandó feladattól függ. Mind a neurális hálózat rejtett rétegeit , mind a komplex logikai transzformációk rétegeit használják [40] . A rendszer tartalmazhat rejtett változókat rétegekbe rendezve mély generatív modellekben, például csomópontokat a bizalom mély hálózatában és egy mélyen korlátozott Boltzmann-gépet .
A mély tanulási algoritmusok szemben állnak a sekély tanulási algoritmusokkal a paraméterezett transzformációk száma tekintetében, amelyekkel a jel találkozik, amikor a bemeneti rétegből a kimeneti rétegbe terjed, ahol a paraméterezett transzformációt olyan adatfeldolgozó egységnek tekintik, amely tanítható paraméterekkel rendelkezik, mint pl. súlyként vagy küszöbként [41] . A bemenettől a kimenetig tartó transzformációk láncolatát CAP-nak nevezzük - a felelősség átruházásával ( angolul credit assignment path, CAP ). A CAP-ok potenciális ok-okozati összefüggéseket írnak le a hálózat mentén a bemenettől a kimenetig, és a különböző ágakban az útvonal eltérő hosszúságú lehet. Egy előrecsatolt neurális hálózat esetén a CAP mélysége nem tér el a hálózat mélységétől, és egyenlő a rejtett rétegek számával plusz egy (a kimeneti réteg is paraméterezett). Az ismétlődő neurális hálózatok esetében, amelyekben a jel átugorhat a köztes rétegeket megkerülve, a CAP a visszacsatolás miatt potenciálisan korlátlan hosszúságú. Nincs általánosan elfogadott küszöbérték a sekély tanulás mélységi tanulásból való felosztásának mélységére, de a mély tanulást általában több nemlineáris réteg jellemzi (CAP > 2). Jorgen Schmidhuber a "nagyon mély tanulást" is kiemeli, ha a CAP > 10 [41] .
A Deep learning egy gépi tanulási algoritmus magas szintű absztrakciók modellezésére több nemlineáris transzformáció segítségével [39] [40] [41] [42] [43] .
Először is a mélytanulás a következő módszereket és azok variációit foglalja magában:
Ezeket a módszereket kombinálva komplex rendszerek jönnek létre, amelyek megfelelnek a különféle mesterséges intelligencia feladatoknak .
A mély tanulás a gépi tanulási módszerek széles családjából származó validált válogatás a probléma természetének leginkább megfelelő adatok megjelenítésére. Egy képet például sokféleképpen lehet ábrázolni, például pixelenkénti értékek intenzitásvektorával, vagy (elvontabb formában) primitívek halmazaként, bizonyos alakú régiókként stb. Sikeres adatábrázolások megkönnyíti a konkrét problémák megoldását – például az arcfelismerést és az arckifejezéseket [44] ). A mélytanulási rendszerekben automatizálja a jellemzők kiválasztásának és hangolásának folyamatát, a jellemzők tanulását tanár nélkül vagy tanár részleges bevonásával hajtja végre , ehhez hatékony algoritmusokat és hierarchikus jellemzők kivonását [45] használ .
Az ezen a területen végzett kutatás továbbfejlesztett modelleket a nagy mennyiségű címkézetlen adattal való munkavégzéshez. Egyes megközelítések az idegtudomány területén elért haladásból , az információfeldolgozás értelmezése terén elért fejlődésből, az idegrendszeri kommunikációs modellek felépítéséből fakadtak , mint például az idegi kódolás , amely az inger és az idegi válaszok közötti kapcsolat meghatározásához kapcsolódik, és az elektromos aktivitás kapcsolata neuronok az agyban [46] .
A mélytanulási rendszerek olyan területeken találtak alkalmazásra, mint a számítógépes látás , beszédfelismerés , természetes nyelvi feldolgozás , hangfelismerés, bioinformatika , ahol számos feladat esetében a korábbinál lényegesen jobb eredményeket sikerült felmutatni.
A mélytanulás sikere ellenére még mindig van egy alapvető korlátja: a mély tanulási modellek korlátozottak abban, hogy mit tudnak reprezentálni, és a legtöbb program nem fejezhető ki különféle adatok folytonos geometriai átalakításaként [47] .
Továbbra is megmaradt azonban az a szkeptikus elképzelés, hogy a mély tanulás nem más, mint a neurális hálózatok divatszója vagy márkaneve [48] [49] .
Gépi tanulás és adatbányászat | |
---|---|
Feladatok | |
Tanulás tanárral | |
klaszteranalízis | |
Dimenziócsökkentés | |
Strukturális előrejelzés | |
Anomália észlelése | |
Grafikon valószínűségi modellek | |
Neurális hálózatok | |
Megerősítő tanulás |
|
Elmélet | |
Folyóiratok és konferenciák |
|