• Neurális hálózatok és mesterséges intelligencia: a legnehezebb dolog megérteni, mit akarunk. Mesterséges intelligencia Neurális hálózatok intelligens tanulási rendszerekben

    08.03.2022

    December 19-én a Jegor Gaidar Alapítvány előadásprojektjének keretében Mihail Burtsev, Ph.D. dolgozik, mint az emberi agy. Az eseményt Borisz Grozovszkij gazdasági megfigyelő moderálta. A szakértő előadásának részletei a Kommerszant videójában és a jelentés átiratában olvashatók.


    A Jegor Gaidar Alapítvány a Kommerszant információs támogatásával elindította a „Közgazdaságtudományi Kar” „A jövő gazdaságtana” című előadási projektjét. A kurzus négy előadást tartalmazott a csúcstechnológiákról - kriptovaluták, blokklánc, mesterséges intelligencia és neurális hálózatok, big data.

    November 21-én került sor a kriptovalutáknak szentelt „A közelgő jövő gazdaságtana” ciklus első előadására. További részletek - a "Kommersant" anyagban „Kriptovaluták: új gazdaság vagy új piramis?”.

    A második előadásra december 5-én került sor, és a mesterséges intelligencia bevezetésének kilátásairól volt szó. További részletek - a "Kommersant" anyagban "Ember és gép – nyereséges szövetség vagy ádáz verseny?".

    Az előadás átirata


    Amikor meghívtak előadásra, nagyon tetszett a ciklus címe - "A jövő gazdasága". Több mint tíz éve foglalkozom neurális hálózatokkal, de az elmúlt két-három évben gyakran volt az az érzésem, hogy elkerülhetetlenül közeleg a jövő. Ezzel kapcsolatban a ciklus elnevezése tökéletesen tükrözi, hogy miről szeretnék beszélni, és miről beszélgethetnénk az előadás után. Ennek megfelelően azt tervezem, hogy elmesélem, mik azok a neurális hálózatok, és hogyan használják ma őket intelligens rendszerek létrehozására. Az is elhangzott, hogy „hogyan fogják megváltoztatni az életünket”, de erről inkább interaktívabban beszélhetünk, mert itt szerintem nyitott a kérdés. Engem is érdekel, hogy milyen lehetőségeket lát, amit én nem.

    Kezdjük azzal, hogy mi a mesterséges intelligencia. Próbáljuk meg meghatározni azt a témát, amelyről beszélünk. A mesterséges intelligencia klasszikus meghatározása néhány olyan gép felépítése, amelyek intelligenciája az emberéhez hasonló lesz. De felmerül a kérdés: miért tesszük ezt? Miért csinálja ezt a társadalom? Nekem úgy tűnik, hogy itt két oldal van. Az első szempont az alkalmazott cél, ami elsőként eszünkbe jut, ha a mesterséges intelligenciáról hallunk. Szeretnénk egy asszisztenst szerezni, aki, mondjuk, kiegészíti természetes intelligenciánkat, lehetővé téve néhány probléma megoldását. Mennyire leegyszerűsítette életünket egy számológép, lehetővé téve, hogy megtegyük azt, amit száz évvel ezelőtt még rendkívül intellektuálisnak tartottak - nagy számok szorzását, összeadását, osztását. Ez a mesterséges intelligencia őse. A második szempont - ha a mesterséges intelligenciát alapkutatási programként tekintjük, akkor valójában, mivel egy emberhez hasonló intelligenciát akarunk építeni, óhatatlanul feltesszük magunknak a kérdést: mi az emberi intelligencia? Ahogy Richard Feynman mondta: "Ahhoz, hogy megértsek valamit, tudnom kell, hogyan kell azt felépíteni." Ezért itt. A mesterséges intelligencia építése bizonyos értelemben jobban megérti a természetes intelligencia működését. És ebben az értelemben behatolunk a filozófia területére, vagyis az ember természetével foglalkozunk. Hogyan működik az ember, milyen indítékai vannak, miért viselkedik így vagy úgy. Vagyis kutatási szempontból nagyon érdekes. Úgy tűnik számomra, hogy ezek a fő okok arra, hogy miért foglalkozunk mesterséges intelligenciával.

    Vessünk egy pillantást arra, hogyan építhetünk általában mesterséges intelligenciát. Képzelje el, hogy Ön egy mesterséges intelligencia projekt szervezője. mihez kezdesz? Mik a lehetőségek? Az első a fej feltörése. Megvizsgáljuk, hogyan old meg egy neuronokból álló agy valamilyen problémát, majd megértve ezen összetevők kölcsönhatásának elveit, létrehozunk egy működő algoritmust. Vagyis neuronokból felépítjük az agy modelljét, és ennek megfelelően mesterséges neurális hálózatot kapunk. A második módja annak megértése, hogy mi az intelligencia. El tudjuk fogadni azokat az embereket, akik intellektuális problémákat oldanak meg, és ellenőrizzük a folyamatot. Hogyan csinálják, milyen trükköket alkalmaznak, melyik pillanatban van meg például egy matematikai tétel bizonyítása. Ezután megpróbálunk felépíteni egy bizonyos modellt az intellektuális problémák megoldására, formalizáljuk és megpróbáljuk futtatni egy számítógépen úgy, hogy ugyanazokat az intellektuális eredményeket generálja. Ez a két fő megközelítés az emberek mesterséges intelligenciájának általános működéséhez: az egyik az agy biológiai rendszerének modellezésén, a másik pedig az emberi gondolkodáson alapul. Ezt hívják „szimbolikus mesterséges intelligenciának”, és egészen a közelmúltig „hagyományos mesterséges intelligenciának” vagy „mesterséges intelligenciának” hívták, ma azonban a „szimbolikus mesterséges intelligencia” fogalmáról a „neurális hálózat” fogalmára való átmenet történik. ”.

    Röviden annak története, hogyan jelent meg általában egy olyan kutatási terület, mint a mesterséges intelligencia. A múlt század közepén Wiener Norbert előállt a kibernetika nevű tudománnyal. Ez egy olyan tudomány, amely megkísérelte formalizálni és felépíteni egy szervezeti modellt, miközben a szervezeti modellt elválasztja attól a szubsztráttól, amelyen ez a szervezet kibontakozhat. Vagyis ez lehet a test sejtjeinek szerveződése, lehet az emberek szervezete a társadalomban, vagy valamilyen mechanikai műtermék megszervezése, amit a mesterséges intelligencia hoz létre. Ennek megfelelően a mesterséges intelligencia megjelenése a kibernetikával kezdődött, bizonyos problémákat megoldó robotgépek megépítésével. Mehetnek a fény felé, vagy fordítva, elbújhatnak a fény elől, megkerülhetik az akadályokat. Amikor megjelentek a számítógépek, ez megnyílt a lehetőség a mesterséges intelligencia megjelenésére abban a formában, ahogy ma látjuk - mint valamiféle program, amely a számítógépet irányítja, és például értelmes válaszokat tud adni. Egy viharos kísérlet a mesterséges intelligencia algoritmusának gyakorlati problémák megoldására való alkalmazására azt mutatta, hogy néhány egyszerű feladatot meglehetősen gyorsan meg tudunk oldani az 1950-es évek közepén és a 60-as évek elején megjelent primitív számítógépeken is. Az akkori idők egyik közismert vívmánya volt a Logic Theorist program, amely az axióma alapján az iskolai geometria összes tételét be tudta bizonyítani.

    Az embereknek nagyon nagy elvárásaik voltak. Elmondhatjuk, hogy ekkora volt a mesterséges intelligencia felhajtása. A katonaság és a kormányok rengeteg pénzt öntöttek bele, és ez eredményezte azt, amit „a mesterséges intelligencia aranyéveinek” nevezünk. Ezzel párhuzamosan az árnyékban fejlődött a neurális hálózatunk mesterséges intelligenciája. Ha azonban elolvassuk, milyen jóslatokat fogalmaztak meg annak idején vezető kutatók, látni fogjuk, hogy az 1960-as években azt mondták, tíz év múlva egy számítógép képes elvégezni egy átlagember munkáját. Ilyen kijelentéseket mindenki rendszeresen tett, érthető, hogy miért adtak rá ennyi pénzt. Ki utasítaná el azt a robotot, amely tíz év múlva mindent megtesz, amit egy ember? Ezzel kapcsolatban az is érthető, hogy miért fagyasztották be a mesterséges intelligencia kutatását. Amikor tíz évvel később azok, akik pénzt adtak, nem látták, mit ígértek nekik, úgy döntöttek, hogy az egész üres, és elfedték a finanszírozást.

    Ennek ellenére kellően nagy számú algoritmus és megközelítés született a problémák megoldására. És kiderült, hogy néhány szűk területen alkalmazhatóak. Kiderült, hogy néhány, annak állapotát leíró bemeneti adat és tény alapján lehet szakértői rendszereket építeni, és például bizonyos betegségeket diagnosztizálni. Ennek eredményeként egy időre visszatértek a mesterséges intelligenciához, de magukat a rendszereket nem alkalmazták széles körben. Vagyis több tantárgyat sikerült lezárni, majd a plafont ütötte a fejlesztés. Ezzel párhuzamosan megélénkült az érdeklődés a mesterséges neurális hálózatok iránt, megjelentek a párhuzamos elosztott számítások mindenféle modellje stb. És itt különböző eredményeket sikerült elérni a klaszterezés és a neurális hálózati memória tekintetében. De ezek a vizsgálatok többnyire kutatólaboratóriumok keretein belül maradtak.

    Az 1990-es évek vége óta és egészen a közelmúltig húsz éven át láttunk olyan lomha helyzetet, amikor a „mesterséges intelligencia” szó kiesett a normális tudósok használatából. Azt hitték, hogy ha valaki azt mondja, hogy mesterséges intelligenciával foglalkozik, az valószínűleg nem hivatásos tudós, hanem egy ilyen lelkes amatőr gondolkodó, aki megpróbál valamit komponálni. Vagyis az ember nem ismerhetné be, még ha mesterséges intelligenciával is foglalkozott volna, hogy mesterséges intelligenciával foglalkozik. Ezért kezdték gépi tanulásnak nevezni. Mit jelent a gépi tanulás? Ez egy ilyen pragmatikus megközelítés. Tegyük fel, hogy van egy módszerünk – matematikai statisztika, optimalizálási módszerek és így tovább. Ezeket gyakorlati problémák megoldására fogjuk használni, és mindezt gépi tanulásnak nevezzük. Ezzel párhuzamosan számos érdekes alkalmazott probléma megoldása is megtörtént, és ez 2012-ig folytatódott. DE 2012-ben megjelent egy csodálatos kifejezés - „mély tanulás”.

    Kiderült, hogy a 2000-es évek közepétől a neurális hálózatok ismét elkezdtek hatékonyságot növelni, és jó eredményeket mutattak a laboratóriumokban. Akkor van képkategorizáló feladat, amikor több millió kép és ezer kategória van, és a képből meg kell határozni, hogy melyik kategóriába tartozik. Ennek megfelelően 2010-ben az ilyen osztályozás legjobb algoritmusa körülbelül 27%-os hibát adott. De 2010 és 2012 között ez a hiba nagyon erősen csökkent. Vagyis az algoritmusok minőségileg jobbak lettek a probléma megoldásában. És ha egy személy az esetek 5% -ában helytelenül osztályozza a képeket egy adott halmazban, akkor az algoritmus akkor 4,5% -ot hibázott, most pedig már 3%. Az ilyen gyors fejlődés ezen a területen annak volt köszönhető, hogy itt alkalmazták először a neurális hálózati módszereket. Aztán minden olyan megoldás, amely javította az előző évi eredményt, neurális hálózatokra épült. Hogy miért nevezik őket mélynek, azt később megtudjuk.

    Tehát mik azok a mesterséges neurális hálózatok? Próbáljuk meg kitalálni. Kezdjük azzal, hogy megvizsgáljuk a természetes neurális hálózatok működését. Általában a C57black6 laboratóriumi egerek agyát tanulmányozzák erre - egy ilyen fekete egersor. Az egyik agyterületet hippocampusnak nevezik. Miért érdekes? Az a tény, hogy ez egy olyan terület, amelytől az epizodikus memória nagyon függ. A hippocampusnak van egy alrégiója, amelyet fogazott fasciának neveznek. Lehetővé teszi olyan összefüggések felismerését, amelyek nagyon közel állnak egymáshoz, és ami a legérdekesebb, ezen a területen neurogenezis történik. Vagyis az idegsejtek egész életében ott születnek egy felnőtt állatban. Az az állítás, hogy a neuronok nem regenerálódnak, valójában téves. - az emberek és más állatok agyában a neuronok osztódnak és növekednek.

    Melyek a gyrus fogfoga szemcsés rétegének egyes neuronjai? A neuron három részből áll: egy megnyúlt sejttestből, egy dendritfából, amely más sejtektől kap jeleket, és egy vékony folyamatból, az úgynevezett axonból, amely lehetővé teszi az információ továbbítását más sejtekhez. Hogyan történik ez? A dendritfában tüskéknek nevezett folyamatok vannak. Ezeknek a tüskéknek a végein szinapszisok találhatók. Az axonokból egy neurotranszmitter nevű vegyi anyag szabadul fel. A neurotranszmitterekkel teli vezikulák a membránhoz kapcsolódnak, és az extracelluláris térbe kilökődnek. Ahhoz, hogy érezzük ezt a jelet, szükségünk van egy másik sejtre, amely befogadja ezeket a kémiai molekulákat, és valamilyen módon érzékeli őket. Ehhez a sejtek között úgynevezett szinapszis jön létre - egy tömítés, amelyben molekulák, speciális sejtadhéziók kötik össze két sejt membránját. Receptorokat is beillesztenek ide – ezek olyan molekulák, amelyek lehetővé teszik bizonyos vegyi anyagok jelenlétének meghatározását. Így a két membrán közötti szinaptikus résbe valamilyen kémiai anyag szabadul fel, a posztszinaptikus neuron membránján lévő molekulák ezt az anyagot érzik, és a jel a sejten belül továbbítódik. A dendritfánk különböző részeiből származó jelek összegyűlnek a testen, és egy sejt például egy bizonyos ponton úgy dönthet, hogy jelet kell küldenie az agyban lévő többi sejtnek.

    Most képzeld el, hogy az agyadban 80 milliárd sejt kémiai jeleket küld egymásnak, és te például örömöt érzed, hogy kitalálsz egy verset, vagy valami gyönyörű dallamban gyönyörködsz, vagy beleszerettél valakibe. Mindezt ezen sejtek közötti kölcsönhatás határozza meg. És amikor valami újat tanulsz, ennek az újnak az emléke és a megszerzett tudás a kapcsolatokban tárolódik. Vagyis a sejtek erősítik az egymással való kapcsolatokat, valahogy módosítják azokat, és ennek köszönhetően tanulhatunk, emlékezhetünk valamire, érezhetjük és irányíthatjuk viselkedésünket.

    Most próbáljuk meg szimulálni az agyunkat. Hogyan fog kinézni egy idegsejt legegyszerűbb, legprimitívebb modellje. Fent van egy dendrites fa, néhány algoritmusunk bemenetei is vannak. A bemenetre az X1, X2 X3, X4 és X5 értékek vonatkoznak. A szám arányos a neurotranszmitter mennyiségével, amelyet egy másik sejt dobott ránk. Nyilvánvaló, hogy egyes sejtek egyszerre többet dobhatnak ki ebből az anyagból, mások pedig kevesebbet. Ennek megfelelően ezek az X1, X2 X3, X4 és X5 minden alkalommal eltérőek lehetnek. De ahhoz, hogy érezzük ezeket a molekulákat, szükségünk van egy receptorra a másik oldalon. Mert ha nulla receptor van, akkor hiába dobják felénk ezt a vegyszert, sejtünk nem fog érezni semmit. Az anyagra való érzékenységünk modellezéséhez valamilyen W együtthatót használunk. Ezt kötéssúlynak nevezzük. Ennek megfelelően, ha az érték nagy és a súly nagy, akkor ezeket megszorozzuk, és ez a bemenet nagymértékben befolyásolja tevékenységünket. Ha a hozzánk küldött kémiai jel nulla, annak ellenére, hogy máshol lehet jó szinapszis, akkor ez a bemenet semmilyen módon nem befolyásolja tevékenységünket. Másrészt azonos mennyiségű neurotranszmitter mellett a nagyobb súlyú bemenet erősebben hat neuronunk aktivitására.

    Vagyis mit csinálunk? Megfontoljuk, hogy az egyes bemenetek mennyiben befolyásolták tevékenységünket - egyszerűen veszünk, összegezzük, megszorozzuk az egyes értékeket a súllyal, és kiszámítjuk az összegüket. Ezután meg kell határoznunk Y-t. A gépi tanulás során általában azt, amit a programunkba bemenetként kapunk, X-nek, amit pedig kimenetként kapunk, az Y. Az Y kiszámításához transzformációt végzünk, és kiszámítjuk a a hatás egy neuron küszöbhatásának modellezéséhez. Ez azt jelenti, hogy amíg az expozíciós küszöbünket át nem lépjük, a neuronunk nem aktív. Ha ez az összaktivitás meghaladja a küszöböt, akkor a függvénytől függően - ezt hívják aktiváló függvénynek - beállíthatjuk a küszöböt például egy offsettel, amit általában W-nek neveznek. Ebben az esetben kiszámíthatjuk, hogy a neuronunk milyen kimenettel rendelkezik.Általában, ha túllépjük a küszöbünket, amiről beszéltem, akkor Y értéke nagy lesz, jó, vagy hajlamos egyre, és ha kicsi, akkor vagy mínusz egy, vagy nulla, vagy megy. mínusz végtelenig, attól függően, hogy melyik aktiválási funkciót választjuk.

    Oké, megértjük, mi az egyetlen neuron. De az agy nem egyetlen neuronból áll – nekünk 80 milliárdunk van, az egérnek pedig több száz milliónk. Most össze kell kapcsolnunk ezeket a neuronokat egy hálózatba. mi történik velünk? Amikor elmerülünk a minket körülvevő világban, akkor ha a látórendszert nézzük, akkor pálcáink, kúpok, fotoaktivált sejtjeink vannak, amelyek attól függően, hogy mennyi fény éri őket, modellezik tevékenységüket. Természetesen ezek a jelek a láncon keresztül egyre mélyebbre jutnak az agyba, és az agy megpróbálja helyreállítani a minket körülvevő világ képét. Ennek megfelelően a hálózatunknak van egy bemeneti rétege, és van néhány rejtett rétege. Vagyis sétálsz az utcán, átmész az utcán, megfordultál és hirtelen láttad, hogy egy autó rohan feléd. Kaptál egy jelzést, átmentél a rejtett rétegre, a világmodell működött, és azt jósolta, hogy az autó beléd csapódhat, ha nem gyorsítasz, vagy nem pattansz vissza. És vannak kimeneti elemek. Ezek azok a motoros neuronok, amelyek irányítják a mozgást. Viselkedésbeli változáshoz vezetnek - nem jársz nyugodtan, hanem megpróbálsz oldalra ugrani, vagy valahogy megrázod az öklét a sofőr felé, vagyis teszel valamilyen intézkedést. Így neuronjainkból többrétegű neurális hálózatot építünk. Minél több réteg van benne, annál mélyebb. Ezért a mélyhálózatok azok a hálózatok, amelyekben ötnél több, esetleg több száz réteg és sok neuron található. Így hozunk döntéseket.

    Egyszerűsítsük le kicsit a feladatot, mondjuk a képosztályozás példáján. Hogyan tekintsünk rá? Van egy képünk. Mit fogunk alkalmazni a neurális hálózatunk bemenetére? A pixelekről leírást küldünk. Vagyis ha 10x10-es képünk van, akkor 100 pixel van. Tegyük fel, hogy van piros, zöld és kék - rendre 300 értékünk van: X1, X2 - X300-ig. Tegyük fel, hogy megoldunk egy problémát: sok képünk van, és a vállalkozásunkhoz meg kell különböztetnünk a macskákat a Dunnótól. Kihagyjuk a macskát, de nem hagyjuk ki Dunno-t. Mert a macskának egereket kell fognia a pincében, és Dunno eltörheti a vízvezetéket. Építünk egy videó megfigyelő rendszert, ahol bemenetként képet adunk, és két kimenet van - a rendszernek 1-et kell adnia, ha Dunno, és 0-t, ha macska.

    Mi határozza meg a hálózat megfelelő működését? Az aktiválási funkció általában fix, ezért vannak küszöbeink és W - ezek a súlyok. Kezdetben, amikor fényképeink vannak, nem tudjuk, hogy ebben a hálózatban melyik súlyok felelnek meg a helyes megoldásnak. Ezeket a súlyokat úgy kell megválasztanunk, hogy minimális legyen a hiba a Dunnó és a macska megkülönböztetésében. Itt láthatjuk, miben különbözik egy neurális hálózat a szabványos programozástól. Mert ha a programozás szabványos, akkor informatikai programozóként közelítjük meg ezt a feladatot: „Igen, ki kell találnom, miben különbözik a macska Dunnótól. Majd írok egy programot, ami megkeresi a macska vagy Dunno jeleit a képeken, és a feltételekkel - ez macska, ez Dunno - kiszámítja ezt a függvényt. Azt mondjuk, hogy nem akarjuk tudni, miben különbözik egy macska Dunnótól, nem érdekel minket. Készítünk egy speciális tanulási algoritmust, amely egy függvényt épít, amely megoldja a problémánkat. Azaz nem a kezünkkel írjuk meg a programot, hanem úgy betanítjuk a programot, hogy megkapja a szükséges funkcionalitást.

    Hogyan fogjuk csinálni? Van néhány példakészletünk, ezt képzési mintának hívják, minél több példa, annál jobb. Például van 10 000 képünk Dunnóról és 10 000 képünk egy macskáról, amelyet már lefényképeztünk, és amelyről már előre tudjuk, hol van a macska és hol van Dunno. Most ezekre a képekre alapozva szeretnénk a súlyokat úgy kiválasztani, hogy amikor új képeink vannak egy macskáról és Dunno-ról, amit még soha nem láttunk, a rendszer még mindig képes különbséget tenni közöttük. Mi így csináljuk. Először véletlenszerűen beállítjuk ezeket a súlyokat, és elkezdjük a képeket betáplálni a bemenetre. Mit gondolsz, mi lesz a kimenet, ha véletlenszerűen állítjuk be a súlyokat? Nevezheted rendetlenségnek. A rendszer véletlenszerűen megnevezi a választ. És itt áttérünk a neurális hálózatok legérdekesebb részére - az úgynevezett backpropagation algoritmusra.

    Hogyan változtathatjuk a súlyokat? Ezeket a következő módon változtathatjuk meg. Beküldtünk egy képet, kiszámoltuk az összes neuron aktivitását, először az egyik rétegben, majd a másikban, és így tovább az összes köztes rétegben, amíg el nem érjük a kimenetet. A kimeneten van néhány válaszunk, hol van Dunno, és hol van a macska. Összehasonlítjuk azt a választ, amelyet a neurális hálózat adott, azzal a válasszal, amelyik igaz. Mert a tréningkészlet összes képére már tudjuk a választ. És számolja ki a hibát. Ha például 0,5 volt a kimeneten, de egységre van szükségünk, akkor mínusz 0,5 hibánk van. Vagyis úgymond azt mondjuk, hogy hiányzik mínusz 0,5 ahhoz, hogy erre a kimenetre helyes választ adjunk. Vagy fordítva, ha túl kevés volt a kibocsátásunk, és növelni akarjuk, akkor pozitív hibánk lesz. Akkor valahogyan figyelembe kell vennünk a súlyok hozzájárulását ehhez a hibához. Most meg kell találnunk, hogy ez a két neuron és két súly hogyan befolyásolta a hibához való hozzájárulást. Milyen feltételezéseket tehetünk a különbség kiszámításához, mennyit kell változtatni az egyes súlyokon? Valójában egyrészt látjuk ezeknek a neuronoknak az aktivitását, másrészt a súlyát, és ki tudjuk számítani, hogy melyik neuron járult hozzá ehhez a hibához. Például, ha ez a neuron nem volt aktív, nullával egyenlő, akkor nem járult hozzá ehhez a hibához. Másrészt, minél aktívabb a neuron, annál nagyobb mértékben járult hozzá. De ha egyformán aktívak voltak, akkor a nagyobb súlyú nagyobb mértékben járult hozzá a hibához. Ennek megfelelően a súlyváltozásnak önmagával arányosnak kell lennie, plusz arányosnak kell lennie az előző rétegből származó neuron aktivitásával, és arányosnak kell lennie aktivációs függvényünk deriváltjával. Miért fontos a származék? Mert a súlyt növelhetjük és csökkenthetjük is. És ahhoz, hogy a helyes irányba haladjunk, figyelembe kell vennünk a származékot.

    Tehát korábban csak a kimeneten volt hiba. Most kiszámítottuk a neurális hálózatunk első rétegének hibáját. Most az a kérdés, hogyan számítjuk ki a következő réteg hibáját? Ugyanezt a módszert alkalmazzuk, amíg el nem érjük a legelső súlyokat. Így úgy tűnik, hogy hibánk átterjed a neurális hálózatunkra, és a súlyok korrigálódnak. Ezt az algoritmust backpropagation metódusnak nevezik, mert a hiba a kimenettől az elejéig terjed. És ez egy nagyon erős algoritmus.(error back propagation method. - “b”), mert az 1970-es évek elején találták fel, és azóta minden neurális hálózatot csak ezzel az algoritmussal tanítanak. Vagyis mindent, amit ma elmondok, egy olyan algoritmus képezi, amely alapvetően ugyanazon az elven működik. Mint mondtam, a neurális hálózatok az 1950-es években keletkeztek, de húsz évbe telt, mire feltalálták ezt az algoritmust. Aztán még húsz-harminc évnek kellett eltelnie ahhoz, hogy a mélyreható tanulás kialakuljon. Megvoltak a maguk problémái. Mindazok az architektúrák, amelyeket ma látni fogsz, nagyon összetettek. Mindegyiket a visszaszaporító algoritmus oktatja. A legbonyolultabbak még egy Turing-gépet is megpróbálnak szimulálni, vagyis univerzális számítógépet készíteni neurális hálózatokon.

    Miért váltak hirtelen ilyen hatékonysá a neurális hálózatok? Kiderült, hogy a neurális hálózati módszerek veszítenek a klasszikus statisztikai módszerekkel szemben, ha kevés az adat. Ha van tíz képed Dunnóról és tíz képed egy macskáról, akkor értelmetlen a neurális hálózatok használata. Nem fogja tudni kiképezni őket, és nem fog tudni jó minőségű munkát kapni. Viszont ha van 10 ezer Dunnos és 10 ezer macska, akkor itt a neurális hálózatok minden klasszikus módszerekre épített algoritmust legyőznek. Tizenöt évvel ezelőtt senkinek nem volt elegendő számítási teljesítménye nagy neurális hálózatok felépítéséhez és feldolgozásához, és nem volt nagy mennyiségű adat, amelyen betanítható lett volna. Ezért nem tudta senki, hogy ha mélyebbé teszi a hálózatot és több adatot ad meg, akkor ilyen lenyűgöző eredményeket érhet el. De megjelentek a grafikus gyorsítók, amelyek valós időben számolják a játékokat, és kiderült, hogy használhatók a neurális hálózatok betanításához, mert a mátrixban megsokszorozódnak az ilyen műveletek, amelyek ezeken a gyorsítókon nagyon jól párhuzamosak. Ez pedig a neurális hálózatok forradalmához vezetett, amiről most meg fogunk tanulni.

    A mély tanulás területén három fő terület van. Ez a számítógépes látással kapcsolatos irány, ahol a neurális hálózatok megpróbálnak látni valamit a külvilágban, a szekvencia-előrejelzéshez kapcsolódó irány, ahol a neurális hálózatok megpróbálják megérteni, mi történik a körülöttük lévő világban, és az úgynevezett megerősítéses tanulás. , ahol a neurális hálózatok megtanulnak valamit, majd kezelik. Tekintsük mindegyiket.

    A számítógépes látásban a fő algoritmus az úgynevezett konvolúciós neurális hálózat. Mi ez a neurális hálózat módosítása? Két függvénye van - f és g. E két függvény konvolúciójának funkciója az, hogy egyszerűen eltolja ezt a két függvényt egymáshoz képest egy bizonyos értékkel, megszorozza az összes értéket, és összeadja őket. Ennek megfelelően, ha van egy lépése és egy háromszöge, és ezek nem esnek egybe egymással, akkor a konvolúciós függvény nulla lesz, mivel ezek a függvények ezen a területen kívül egyenlők nullával. De van néhány eltolási tartomány, amelynél a konvolúciós függvény maximális értéke akkor van, ha a lehető legnagyobb mértékben egybeesik. Innentől kezdve világos, hogyan tudjuk ezt felhasználni képelemzésre. Van egy képed, és van valami minta, amit meg szeretnél találni ezen a képen, vagyis van például Dunno vagy egy macska, és meg szeretnéd találni, hol van ennek a macskának a szeme. Kódolhat néhány fényességi mintát, amely úgy néz ki, mint egy szem, majd ezzel a mintával beolvassa a teljes képet. Valójában egy szemmintával rendelkező kép konvolúcióját számítja ki. Ennek megfelelően a kép azon szakaszában, amely leginkább hasonlít a keresett mintára, a konvolúciós függvénye maximális lesz. Ott készíthet egy képtérképet, amelyen a maximális érték azokon a területeken lesz, ahol a mintája pontosan elhelyezkedik.

    Most képzelje el, hogy összetett képeket szeretne felismerni, amelyek sok jellemzőből állnak. Mit csinálsz? Valójában ez egy neuron. Egy neuronnak kilenc bemenete, egy kimenete és súlya van. A mintád súlyok. A bemenet valójában a fényerő értéke. Megszorozod a súlyokat ennek a neuronnak a bemenetével, összeadod őket, és kapsz némi értéket. Ez az érték a neuron kimenete, az a konvolúciós érték, amelyet kapni szeretne. Ennek megfelelően sok neuront készítesz, véletlenszerűen súlyokat rendelsz hozzájuk. Vagyis kezdetben, amikor megold egy problémát, nem tudja, milyen jelek teszik lehetővé, hogy megkülönböztesse a macskát Dunno-tól. Alapvetően tudod, hogy a macskának csíkos, és Dunnónak kalapja van. Egy másik feladatnak más jelei lesznek. És szeretne egy univerzális algoritmust, amely megtalálja azokat a funkciókat, amelyek a leginkább informatívak a két kategória elkülönítéséhez. Ennek megfelelően olyan hálózatot építesz, amelyben a felismerési feladat bemenetként van megadva, illetve meghatározott számú bemeneti konvolúciós neuronod van. Mindegyik saját tereptérképet készít. Ezután megtörténik egy bizonyos művelet ezeknek a jellemzőtérképeknek a tömörítésére, majd ezeket a jellemzőtérképeket betáplálják más konvolúciós neuronokhoz, és ezekben a jellemzőtérképekben már keresik a jellemzőket. És így ezt a műveletet többször is elvégezhetjük, fokozatosan keresve az egyre magasabb szintű absztrakció jeleit. Aztán ezek a jellemzőtérképek bekerülnek a feedforward teljesen összekapcsolt hálózatunkba, amelyben a jelünk a bemenetről a kimeneti neuronokra kerül, és a végén van egy osztályozónk. Tehát nagyon egyszerűen a konvolúciós neurális hálózatok vannak elrendezve.

    Mit tehetünk ma a legérdekesebb konvolúciós hálózatokkal? Először is lokalizálhatjuk az objektumokat. Vagyis a neurális hálózat meg tudja határozni, hogy mi van egy bizonyos keretben. Másodszor, megjelölhetjük és szegmentálhatjuk a képet. Harmadszor, az algoritmus képes meghatározni egy személy nemét és életkorát. Vagyis ha sok példánk van különböző nemű és életkorú emberekre, és neurális hálózatunkat arra tanítottuk, hogy előre jelezze az emberek korát és nemét, akkor a kép alapján megjósolja az emberek életkorát és nemét. Negyedszer, meg tudja határozni egy személy érzelmeit, ha rendelkezünk egy felcímkézett képzési adathalmazzal, amelyben tudtuk, hogy az illető milyen érzelmekkel van jelen. Ezek néhány nagyszerű alkalmazások. Mostantól bármelyik fejlesztő előfizethet a Microsoft Cloud szolgáltatásra, feltöltheti fotóit, és a szolgáltatás két perc alatt megadja az összes érzelmet vagy kort a nemekkel együtt. Vagyis ezek valójában olyan technológiák, amelyeket ma már bárki felhasználhat termékeiben.

    Más érdekes dolgokat is csinálhatsz. Biztosan mindenki hallott már a Prisma alkalmazásról. Mit tehetünk vele? Egy kép stílusát átvihetjük egy másik kép tartalmára. Konvolúciós rétegeink pontosan ezt teszik lehetővé. Megtalálhatjuk, hogyan kapcsolódnak egymáshoz a jellemzők egy képen, majd ezt a tulajdonság-korrelációt átvihetjük egy másik kép tartalmára. Nos, vannak példák arra, hogyan festhetjük meg a Szent Bazil-székesegyházat Khokhloma alatt. Egy ilyen gyors eszköz, amellyel a tervezők például két különböző ötletet kombinálhatnak. Megtaníthatjuk a neurális hálózatot az ajkak olvasására. Ha van feliratunk és videónk egy beszélő emberrel, akkor megjeleníthetjük a beszédét a szövegben, és felépíthetünk egy neurális hálózatot, amely előrejelzi a szöveget. Ha hang nélküli videója van, de láthatja, hogyan beszél a személy, akkor automatikusan visszaállíthatja a szöveget.

    De kiderül, hogy még őrültebb dolgokat is csinálhatsz. Van egy ilyen megközelítés - generatív versenyhálózatok (generative adversarial network - GAN). Ez egyfajta neurális hálózat, amely automatikus kódolókat használ – amikor először kódolunk egy képet, majd visszaállítjuk. Ezek segítségével trükkös képgenerátorokat képezhetünk. Azaz először a belső rejtett rétegünkből alakítjuk át valamilyen rejtett reprezentációvá a képet - ezt hívják kódoló résznek, majd a rejtett reprezentációnkat betápláljuk a dekóder bemenetére, és az elkészít egy képet. Egy szemüveges férfi arcáról három képet készíthetünk, mindegyikhez lesz egy látens képünk a neurális hálózatunkon belül. Valami vektor lesz valami képtérben. Most összeadjuk ezt a három vektort és az átlagot. Valami átlagos képet kapsz egy szemüveges férfiról. Ezután készítünk három képet szemüveg nélküli férfiakról, rejtett reprezentációikat tápláljuk a neurális hálózatunk bemenetére, átlagoljuk a vektorokat - és megkapjuk a szemüveg nélküli férfi átlagos képét. Ugyanezt megtehetjük egy szemüveg nélküli nő esetében is. Összesen három vektort kaptunk. Most vehetjük a szemüveges férfi vektorát, kivonhatjuk a szemüveg nélküli férfi vektorát, és hozzáadhatjuk a szemüveg nélküli nő vektorát. A kapott vektort betápláljuk a dekóderbe, és a hálózatunk maga generálja egy szemüveges nő képét, bár ő még soha nem látta ezt a képet. Lehetnek lehetőségek - különböző fényerősségű szemüvegek, a nő kissé eltér attól, amit hozzáadtunk, de általában a hatás nagyon érdekes lehet.

    Alig pár hete, a NIPS konferencián az InVideo bemutatta ennek a technológiának a fejlesztését, melyben a celebek jellemzői alapján egy átlagos képet lehet generálni ezekről a hírességekről, sőt videókat is szintetizálni ezekkel az emberekkel. Valójában létrehozhat néhány szintetikus személyiséget, amely jelen lesz a sorozatokban vagy filmekben. Így rengeteg pénzt spórolhatsz meg, mert nem kell valódi színészeket fizetni.

    A következő feladat a visszatérő neurális hálózatok. Megjósolhatják a sorozatokat. Egy sorozat előrejelzéséhez ismernünk kell egy kis előzményt. A szabványos neurális hálózatokban X van a bemeneten, van a neurális hálózatunknak valamilyen rétege, van egy kimenet, és az információ mindig közvetlenül kerül elosztásra. Ha más időszámítást veszünk, akkor a neurális hálózatunk elfelejti, amit az előző számláláskor tudott. De ahhoz, hogy előre jelezhessük, csak arra van szükségünk, hogy a neurális hálózat sokszor emlékezzen. Hogyan kell csinálni? Általában ezt a következőképpen oldják meg: vesszük a neurális hálózatunk előző időpontra vonatkozó kimenetét, és ezeket az értékeket betápláljuk a bemenetére, a neurális hálózat rétegére. Valami jött a T időpontban, de nem csak az, amit T adott az előző pillanatban, hanem az is, amit ő maga adott ki a T-1 időpontban. Így azonnal párhuzamosan táplálunk két vektort. És ez alapján kiszámítjuk a kimeneti értéket a T időre. Kiderül, hogy a neurális hálózat képes továbbítani magának azt, amit előző alkalommal „gondolt”. Ez lehetővé teszi a korábbi bejelentkezések adatainak mentését. Az ilyen típusú neurális hálózatokat ismétlődőnek nevezzük, mivel visszatérő kapcsolataik vannak. Ha egyenesen a probléma megoldásához megyünk, akkor az ismétlődő neurális hálózatok nem működnek túl jól, mert ha ezt a fordított hurkot telepítjük, akkor valójában megnöveljük a neurális hálózatunk rétegeit. A 0-tól kezdve a neurális hálózatunk egyre mélyebbre merül - 100-nál a neurális hálózatunk is 100. Mivel a hiba az ellenkező irányba terjed, folyamatosan terjed a hálózatunkon és elhalványul. Emiatt a neurális hálózatunk nagyon rosszul tanul, mivel minden alkalommal meg kell szorozni néhány együtthatóval, és a hibáink elhalványulnak.

    Ennek a gradiens-bomlásnak a megszüntetésére 1997-ben Jurgen Schmidhuber kutató azt javasolta, hogy egy neuront cseréljenek le egy öt neuronból álló alhálózattal. Vagyis most a neurális hálózati réteg „egységekből” áll. Szimuláljunk egy memóriacellát. Van néhány értékünk, amelyeket ebben a cellában tárolunk. Vannak neuronok, amelyek szabályozni tudják, hogy ebbe a memóriacellába írjunk valamit, kiolvassunk belőle valamit, és ki tudjuk hozni. Ebben az esetben a sejt irányítását egyénileg a saját neuronkészlete végzi. Ezeknek a neuronoknak a súlya is edzett – és ez az így létrejövő architektúra egész szépsége. Amikor ezekből a cellákból nagy neurális hálózatot építünk, mindegyiket a visszaterjesztési algoritmus segítségével képezzük. Vagyis az algoritmusunk ugyanaz marad, bár a hálózatunk sokkal bonyolultabbá vált.

    Ez lehetővé tette például egy gépi fordítórendszer létrehozását. Alig egy évvel ezelőtt a Google lecserélte régi gépi fordítórendszerét egy sokkal jobb neurális hálózatra. A régi, 2015-ös Google gépi fordítási verzióhoz képest az emberi fordítás sokkal magasabb értékelést kapott. A Google ma használt új neurális hálózati algoritmusához képest azonban az emberi fordítási pontszámok összehasonlíthatók. Valójában minden nap használod a fordítást – ha a keresésben elérsz valamit, akkor a második és harmadik legfontosabb jelzést, hogy az első oldalon milyen erőforrást kapsz a keresési eredmények között, szintén a neurális hálózatok határozzák meg. A Google képviselői folyamatosan mutatnak egy grafikont, amelyen évről évre egyre több belső projekt használ neurális hálózatokat és mély tanulást. Ha 2012-ben ez egy-két projekt volt, akkor ma körülbelül 5000 projekt van. Valójában a neurális hálózatok az a technológia, amelyet minden nap használ, bár lehet, hogy nem is sejti. Néhányan, akik ezt teszik, azt hirdették, hogy a neurális hálózatok és a mesterséges intelligencia az új elektromosság. Abban az értelemben, hogy ez az a technológia, amit észrevétlenül használunk, de szilárdan beépült az életünkbe.

    Milyen hatást érhetünk el ezekkel az ismétlődő neurális hálózatokkal? Megmutatom az eredményeket, amelyek a szívemig lenyűgöztek. Ha valaki egy hónappal korábban azt mondta volna, hogy ez lehetséges, és ez 2015 nyarán történt, azt válaszoltam volna, srácok, tíz éve dolgozom neurális hálózatokon, nem kell meséket mesélnem. De amikor magunk vettük a neurális hálózatot, betanítottuk, és láttuk az eredményt, amit ad, meg voltunk győződve arról, hogy valójában ez a helyzet. Megoldottuk a nyelvi modellezés problémáját. Formálisan ez a következő karakter előrejelzésének feladata. Van például egy csomó Dosztojevszkij-szövegünk. Neurális hálózatunkat Dosztojevszkij műveiből 100 karakterrel (betűkkel, szóközökkel és írásjelekkel) tápláljuk, feladata pedig a következő karakter előrejelzése. Ismét alkalmazhatjuk ezt a szimbólumot a bemenetre, és megjósolhatjuk a következőt - és így tovább. De nem akartunk Dosztojevszkijjal kísérletezni, ezért feliratot vettünk a sorozathoz – körülbelül 10 millió szót a Vámpírkrónikákból és még valami mást. Ezen anyag alapján a hálózat megtanulta megjósolni a következő szimbólumokat.

    Tehát a feladat: 100 karakter van, meg kell jósolnod a 101.-et. Feltettünk egy felületet az internetre, ahol be lehetett írni valamilyen kezdő kifejezést, és a neurális hálózat megpróbálta folytatni. Kiválasztottam a legérdekesebb eredményeket. A férfi azt írja: "Te hülye vagy." Vagyis mindezek a betűk, az "s" és "g" közötti szóköz, valamint a soremelés a neurális hálózat bemenetére kerül. És megjósolja a következő szimbólumot: "K" nagy. Ezt a „K”-t betápláljuk bemenetként, megjósolja a következő „a” karaktert, „a”-t adunk bemenetként stb. - ennek eredményeként a generált kifejezést kapjuk: „Hogy a „hello”? Ha elemezzük ezt a választ, teljesen logikusnak tűnik. Sőt, vannak funkciói is: miért köszönt a neurális hálózat? Ha ez egy párbeszéd kezdete, akkor logikus, hogy nem a „hülye vagy” kifejezéssel kezdődnek. Ezért a neurális hálózat ezt mondja: „Mit szólna a „hello”-hoz”, és a „hello” szót idézzük, egyértelművé téve, hogy ez a szó nem önmagára vonatkozik. Tehát még ha a mi neurális hálózatunknak nincs is filológusi végzettsége, mélyen ismeri az orosz nyelvet.

    Egy másik példa. Megpróbáltam összetettebb kontextust beállítani, hogy a neurális hálózat nehezen tudjon válaszolni. K: Milyen csodálatos este. Nem?" Elég hosszú karaktersorozat, két mondat, sok szóköz, kérdőjel. Íme a válasza: „Tényleg azt hiszi, hogy emlékezni fogok erre?” Az estéről itt nem esik szó, a válasz kérdés kérdésre. De ha megpróbáljuk értelmezni, teljesen logikus. Vagyis, ha az este csodálatos, akkor érthető, hogy az, akinek beszéltek róla, emlékezni akar rá. Innen a neurális hálózat válasza. És külön vegye figyelembe, hogy ő (a neurális hálózat. - „b”) is helyesen helyezi el az írásjeleket, és nem hibázik a szavakban. És ez annak ellenére, hogy nem adtuk bele az orosz nyelv szabályait, szótárat, nem nyelvtani alapokat - a neurális hálózatnak csak karaktersorozatot adtunk. Számomra úgy tűnik, hogy ilyen körülmények között az ilyen válaszok kiadása egyszerűen elképesztő jelenség. Még mindig kíváncsi vagyok: hogyan tudja ezt előállítani?

    Még egy példa. Nagyon élénk párbeszéd folyik itt. Férfi: "Hülye vagy." Gép: "Akkor miért érdekel?" Férfi: "Mert veled kell élnem!" Gép: "Te egyáltalán nem vagy olyan!" Férfi: "Megsértődtél?" Autó: "Aha." Hadd mutassak egy másik példát a munkájára. Human: "Vicces, de te csak egy program vagy, és soha nem fogsz tudni gondolkodni." Gép: "Persze, a lényeg az, hogy most nem a legjobb idő." Mindennek van értelme, nem? De ez a te értelmezésed, nem tudjuk, hogy valójában mit jelentett a neurális hálózat, ez mind a sorozatból származik.

    És most - a neurális hálózat által generált sokféleségről. Ez a neurális hálózat elvileg egy valószínűségi szövegmodell, megadja a következő karakter valószínűségét, de azt nem, hogy pontosan mi lesz a következő karakter. És ezzel a valószínűséggel arányosan választhatunk. Így különböző sorozatokat generálhatunk. Az egyik esetben ugyanarra a bemenetre egy betűt választunk, a másik esetben egy másikat . Beküldünk egy mondatot a bemenetre: "Alice most boldog."És kérjük a neurális hálózatot, hogy folytassa. Jósolja meg, hogyan folytatódik ez a sorozat. A folytatás mindenhol a „she” szóval kezdődik. Vagyis a neurális hálózat mintegy rögzíti, mi volt itt Alice-ről és a „boldogról”, a szóban forgó alany neméről. Néhány válaszban van valami, ami összefügg azzal, hogy boldog. Például: "Nagyon jól néz ki." Vagy koncerten volt, szóval boldog. Vagy gyönyörű, vagy szerelmes, tehát boldog. Vagy: "Veszélyben van." Úgy tűnik, a boldog emberek nagyobb valószínűséggel kerülnek veszélyes helyzetekbe, mint a boldogtalanok. Ilyen következtetést lehet levonni. Vagy például: "Alice bajban van." Itt látjuk, hogy a hangnem már megváltozott: „De ő nem tudja, ki vagy”, vagy „De megváltoztatta az életét”, vagy „Nem fog megölni senkit”. Ha egyszer bajba került, máris van valami zavaró a válaszokban. Hogy ezek a feljegyzések honnan származnak, nem tudjuk. Vagyis valamilyen oknál fogva a neurális hálózat beszúrta ezeket a jegyzeteket. Feliratokból. Jegyzetnyomok voltak.

    De úgy tűnik, a feliratok még mindig inkább a nőkről szólnak, mert ő értelmesebben válaszol a női magvakra, és valószínűleg nincs elegendő statisztika a férfiakra. John most boldog. - "Igen, az udvaron 800 font minden helyen", "Ezer fokos bűn egy meccsen", "Tényleg megengedtem magamnak, hogy mindent a helyére dobjak." Azaz a válaszok értelmessége sokat szenvedett, bár a javaslatok kezdetben hasonlóak. De a „John bajba került” nagyon nehéz: „A disznók Starlink Citybe mennek”, „És amikor visszatért, bedobtam az irodába”, „Nem volt olyan, mint tavaly”, „Nagyon felüli , tisztességed, nem mi voltunk."

    Nem tudom mennyire nyűgözött le, engem nagyon lenyűgözött. A jóslatom az lenne, hogy a neurális hálózat talán megtanulna néhány ötbetűs szót, és valamilyen véletlenszerű sorrendben lejátszhatja azokat. De azzal az előrejelzéssel, hogy képes lesz ilyen hosszú, értelmesen értelmezhető, hibamentes mondatokat generálni, őszintén szólva soha nem iratkoznék fel.

    Hadd beszéljek gyorsan arról, ami miatt mostanában mindenki aggódik. Neurális hálózat megerősítése tanulás. Ez az a fajta megközelítés, amelyre szükség van ahhoz, hogy bizonyos műveleteket megtanuljunk az ügynöktől. Az ügynök minden egyes tevékenysége valamilyen módon megváltoztatja a környezetet. Az előző feladatokban előre jeleztük, de magát a feladatot nem befolyásoltuk. Semmilyen módon nem befolyásoltuk az általunk osztályozott képeket, semmilyen módon nem befolyásoltuk az általunk generált sorozatot. És itt a feladatunk a következő: befolyásolni akarjuk a rendelkezésünkre álló inputot, hogy azt a szükséges célállapotba hozzuk. Az ügynök egy bizonyos alany, amely hatással lehet a környezetre. Nem tudjuk, hogyan oldjuk meg ezt az ügynökképzési problémát. De tudjuk, mi a jó és mi a rossz. Ezért azokban a pillanatokban, amikor az ügynök eléri az általunk kitűzött célt, adhatunk neki egy bizonyos összeget, amit jutalomnak vagy megerősítésnek nevezünk. Ezért olyan algoritmust kell szereznünk, amely sorrendben és jutalmak szerint megtanulja azokat a cselekvéseket, amelyek egy adott helyzetben maximalizálják a jutalmat.

    2016-ban megjelent egy cikk a Nature folyóiratban, amely egy meglehetősen univerzális algoritmust írt le, amelyet megtanítottak játszani Atari játékokkal. És ott volt a Nature magazin címlapján. Ha tudja, a Nature folyóirat a tudomány világának egyik legelismertebb és legrangosabb hetilapja, ahol valóban tudományos cikkek jelennek meg. Ha közzétett egy cikket a Nature-ben, akkor nagymértékben megnő a tekintélye a tudósok körében. Kivételek persze vannak, de alapvetően a tudomány szempontjából nagyon fontos művek jelennek meg ott. Hogyan készül a feladat? 49 Atari játékunk van, ezekből a játékokból tápláljuk a képeket a neurális hálózatunk bemenetére, de semmiképpen nem magyarázzuk el a szabályokat. Ugyanazt a neurális hálózatot fogjuk megtanulni különböző játékokban, és azt akarjuk, hogy minden játékban jól tanuljon. De csak egy neurális hálózat létezik, és csak a tanulási folyamat során alkalmazkodik egy adott játékhoz. Nem rendelünk előre semmit.

    Ennek megfelelően vannak képeink, amelyek a neurális hálózatunk bemenetére esnek, de mindenki tudja, mik azok a konvolúciós hálózatok – mondtam már fél órája. A konvolúciós neurális hálózatok képeket alakítanak át, jellemzőket vonnak ki, és a neurális hálózat kimenetén olyan műveletet adnak ki, amely vezérli a joystickot. Ennek megfelelően a joystick parancsai a játékszimulátorba kerülnek, és ez szabályozza a játék viselkedését. Amikor pontokat szerez, az ügynöke erősítést kap, és az ügynök feladata, hogy növelje ezeket a pontokat. Vagyis itt nem mondjuk meg neki közvetlenül, hogy milyen műveleteket válasszon, hanem egyszerűen abban a pillanatban, amikor növelte a pontjait, azt mondjuk, hogy ez jó. A feladat pedig ennek az algoritmusnak a betanítása. Például egy neurális hálózat irányít egy tengeralattjárót. Feladat: halak - pusztítani, búvárok - felszedni és időnként, ha elfogy az oxigén, felúsztatni és oxigénnel feltölteni. A neurális hálózat nem mindig sikerül, néha elhal. De kiderült, hogy ez az eredmény nem csak tudományos elismerésre talált és a Nature címlapjára került, hanem valami startup is megszerezte, és pár hónappal a megjelenés előtt ezt a startupot megvásárolta a Google. Ugyanakkor ennek az indulásnak az eredményeiből csak azok voltak, amelyeket a Nature folyóiratban publikáltak. Mit gondol, mennyiért vásárolta meg a Google ezt az indulást? 600 millióért.

    Következő kérdés. Mi köti össze Garri Kaszparovot és Lee Sedolt, a go-bajnokot (game.-"b")? Jobb. Mindkettőjüket legyőzte a mesterséges intelligencia. A DeepBlue 1997-ben legyőzte Kaszparovot, tavaly pedig a Go bajnokot. Miert van az? Egészen a közelmúltig a Go-t nagyon nehéz játéknak tartották. Ez annak köszönhető, hogy a játék összes lehetséges kimenetelének kiszámításához számos lehetőséget kell rendezni, és az úgynevezett elágazási tényező írja le. Vagyis hány lehetséges játékállapotba léphetünk az aktuális játékállapotból a játékban engedélyezett akciók végrehajtásával. A sakk esetében az átlagos elágazási tényező körülbelül 35. Go-ban pedig ez az elágazási tényező 250. Ennek megfelelően megérted, hogy ha mélyebbre megyünk, minden alkalommal ezzel a számmal szorozunk. És nyilvánvaló, hogy nagyon gyorsan olyan számú lehetőséget kapunk, amely meghaladja a megfigyelhető univerzum részecskéinek számát, és ezeket nem lehet felsorolni. A probléma más megoldására van szükség. Ha a sakkban nagyon sok pozícióra tudunk opciókat számolni, és hülyén tudjuk azokat a lépéseket, amelyeket meg kell tenni ahhoz, hogy nyerjünk vagy ne veszítsünk, akkor a Go-ban ez sokkal nehezebb. Sokan mondták, hogy minden helyzet felismeréséhez intuícióra van szükség.

    Ugyanaz a startup, amelyet 600 millió dollárért vásároltak, egy évvel később ismét megjelent a Nature címlapján. Most egy olyan algoritmust javasolt, amely a táblára nézve becslést adhat arra, hogy ez a pozíció mennyire jó, vagyis elég gyorsan megjósolható. Ezt az előrejelzést kombinálhatja egy fakereső algoritmussal, és neurális hálózat segítségével értékelheti ki a pozíciókat, és csak azokat fedheti fel, amelyek a legjobban nyertek. Így nem végez teljes keresést, hanem csak az adott pillanatban legígéretesebb fa alatt. Ez az algoritmus az AlphaGo egy verziója (a cikkben egy AlphaGo Fan verziót tettek közzé) – és legyőzte Lee Sedolt a Go-ban. Akkoriban a Go programokat jó amatőr, de nem profi szinten játszották. Ennek a verziónak a betanításához 176 GPU-ra volt szükség egy elosztott fürtön. Az Európa-bajnokot pedig 5:0-ra verte.

    Aztán megjelent a program adaptált verziója - AlphaGoLee. 48 Tensor Processing Unitsot használt – ez egyfajta TPU, de kifejezetten neurális hálózatokhoz lett adaptálva. Lee Sedolt verte 4-1-re. Aztán ott volt az AlphaGoMaster a 4 TPU-n, amely 60:0-ra verte a profi játékosokat. Szó szerint egy hónapja jelent meg az AlphaGoZero program, amely 4 TPU-n egy számítógépen (már nem klaszteren) 100:0-ra verte a program Lee Sedolt legyőző verzióját, és 89:11-re. - az AlphaGoMaster verziója. A következő verzió néhány napja jelent meg - AlphaZero. Ismét az AlphaGoZero ellen játszott négy TPU-n 60:40-es eredménnyel. Az AlphaGoLee program első verziója először valódi játékokon készült. Vagyis vettek egy adatbázist a játékokról, és a program megtanult emberként játszani rajta. De az AlphaGoZero és AlphaZero programok – miért a Zero? Mert egyáltalán nem használtak fel semmilyen személytől származó információt. Hogyan tanultak? Csak játszottak magukkal, és tanultak a játékaikból. És olyan jól képzett.

    Most egy kérdés. Miért vásárolta meg a Google ezt? Ezt az algoritmust használta a játékokhoz, és egy adatközpont hűtésének szabályozására alkalmazta. Most abban a pillanatban, amikor a neurális hálózati vezérlés be van kapcsolva, leesik a fogyasztás, ha kikapcsol, visszaáll a régi szintre. Átlagosan a megtakarítás körülbelül 40%. A Google rengeteg adatközpontot tart fenn, hogy biztosítsa a szolgáltatás minőségét, és 40%-os árammegtakarítást érjen el, az adatközpontok esetében pedig általában az elektromosság a fő költségtétel, ez nagyon jelentős. Nem tudom, hogy kifizetődött-e, de legalább egy jelentős részét talán megtérítették.

    Története során a mesterséges intelligencia hullámvölgyeket és hullámvölgyeket élt át, ma pedig az új mesterséges intelligencia hírverésének a legtetején állunk, ahol mindenki azt hiszi, hogy a mesterséges intelligencia az „új elektromosság” és így tovább. Talán hamarosan alábbhagy ez az izgalom, de most van a csúcs. Miért van olyan sok ember itt a teremben, akiknek többsége nem tudja, mi az a mély tanulás, és mégis eljöttek. Úgy tűnik, a téma az élet más területeiről érkezik, és vonzza ide az embereket. Az érdeklődés csúcsa annak köszönhető, hogy a régóta ismert neurális hálózati algoritmusok a big data és a nagy számítási képességek miatt elkezdték megoldani azokat a problémákat, amelyeket korábban nem lehetett megoldani, és nagyon érdekes, sok területen megvalósítható eredményeket adnak. a gazdaságé.

    Ennek megfelelően mit teszünk ezen a területen? Laboratóriumunkban a Nemzeti Technológiai Kezdeményezés által támogatott projektet valósítunk meg, elnökünk kezdeményezésére, hogy megpróbáljuk gazdaságunk egyes részeit a nyersanyagokról a high-tech felé tolni. A kezdeményezés egyrészt az innovatív vállalkozások támogatásához, másrészt ezen innovatív vállalkozások infrastruktúrájához kapcsolódik. Ennek megfelelően a nemzeti technológiai kezdeményezés keretében a Phystech a Sberbank társfinanszírozásával valósítja meg a projektet. A projekt célja pedig a mély gépi tanulás és a gépi intelligencia algoritmusainak fejlesztése valamilyen technológiai platform formájában a felhasználóval folytatott célzott párbeszéd automatizálására.

    Ma már a közgazdaságtan egész területe kapcsolódik a szöveges kommunikációhoz. Mobileszközöket használnak az emberek, és a mobilplatformokon a messenger felhasználók száma már meghaladta a közösségi médiát használók számát. Ez azt jelenti, hogy az emberek hatalmas mennyiségű kommunikációt folytatnak szöveges formátumban. Ugyanakkor ebben a világban nincsenek jó eszközök a cégeknek a felhasználókkal való kommunikációra. Nagy a megoldáskérés, amikor a cégek megkereshetnék Önt, valamilyen módon segíthetnének, vagy megoldhatnának néhány problémát chaten keresztül. Másrészt a párbeszédrendszerek létrehozására a közelmúltig létező megoldások nem túl hatékonyak, mert a programozó által megadott kódolt szkripteken alapulnak, és ezek a szkriptek, mint kiderült, nem skálázódnak jól, és nem tudják leírni a társalgó életünk sokfélesége. Különböző emberek különböző módon fejezik ki gondolataikat, vannak különböző helyzetek, és mindezt nagyon nehéz előre felfogni és előre látni. De amint láttuk, a neurális hálózatok nagyon jól kezelik az ilyen bizonytalanságokat. Az emberi válaszokhoz hasonló válaszokat tudnak generálni. Tudnak gépi fordítást csinálni. Ezért van remény arra, hogy képesek leszünk a neurális hálózati technológiákat használni a párbeszédes interfészek létrehozásával kapcsolatos problémák legalább egy részének megoldására.

    Így ennek a projektnek az a célja, hogy egy ilyen nyitott platformot hozzon létre, amelyet a cégek felhasználhatnak az ezen a területen lévő termékek létrehozására. Vagyis technológiát hozunk létre, átadjuk a cégeknek, és azt mondjuk: „Támogatni fogjuk Önt, segítünk megvalósítani ezt a technológiát, és kérem, tegye a dolgát és járuljon hozzá a gazdasághoz.” Kik a projektünk érintettjei? Az NTI szemszögéből a high-tech piacokon működő cégekről van szó. Például a Sberbank, amely ezt a technológiát kívánja alapul venni egyes szolgáltatások, például call centerek vagy támogatási szolgáltatások automatizálásához. Ez a Phystech, amely a mesterséges intelligencia kompetencia fejlesztésében érdekelt magában. A kutatóknak és a fejlesztőknek van szükségük az eszközökre az intelligens beszélgetőpartnerek gyors elkészítéséhez.

    Idén nyáron indítottuk el ezt a projektet, és iPavlovnak neveztük el Ivan Petrovics Pavlov, a híres orosz neurofiziológus tiszteletére, aki a kondicionált reflexeket tanulmányozta. Vagyis az agy. Ennek megfelelően tevékenységünk két fő eredménye technológiai szempontból egy nyílt könyvtár, amelyet DeepPavlovnak hívtunk, és ez csak egy eszközkészlet az interaktív rendszerek létrehozásához, valamint a Sberbank szolgáltatásai, amelyeket integrálni fognak termékek, például néhány pénzügyi asszisztens. Van kutatásunk, van könyvtárunk fejlesztése, vannak alkalmazásai ennek a könyvtárnak néhány konkrét üzleti esetre. Mit akarunk tenni? Szeretnénk összeállítani néhány neurális hálózati blokkot, amelyekből különböző ügynököket állíthatunk össze különböző feladatokhoz. Például ügynökök, akik bizonyos feladatokat, például jegyfoglalást végezhetnek, vagy olyan ügynökök, akik egy adott témával kapcsolatos kérdésekre tudnak válaszolni, vagy olyan ügynökök, akik csak folytatni tudják a beszélgetést. Ezután ezeket az ágenseket minden egyes területen kombinálni lehet a probléma optimális megoldása érdekében. Így tervezzük megvalósítani az architektúrát neurális hálózatát és feltáró tartalmát tekintve. És egyrészt a könyvtárunk olyan összetevőkből áll, amelyek ezeknek a robotoknak a létrehozásához szükségesek. Másrészt van valami Bildert eszközünk, amivel ezekből a botokból begyűjthetünk beszélgető ágenseket, vannak összekötők, amelyek összekötnek minket a messengerekkel, és vannak adatok, amelyeken edzünk. Vagyis ez egy bizonyos eszközkészlet, amellyel ilyen megoldásokat fejleszthet és valósíthat meg.

    Valószínűleg be is lehet fejezni rajta. Köszönöm mindenkinek.

    Jevgenyija Cserniseva


    A mesterséges intelligencia fejlesztésének sikerének kulcsa az idegtudomány. Hogyan próbálják pontosan reprodukálni a tudósok az emberi agy munkáját, és mi a sajátossága a neurális hálózatok munkájának - a "Futurista" anyagban.

    Neurobiológia és mesterséges intelligencia

    „A mesterséges intelligencia jövője az idegtudományban van” – mondja a Google DeepMind alapítója, az idegtudományok doktora. Demis Hassabis (Demis Hassabis) a Neuron folyóiratban megjelent cikkében. Khasabis létrehozta londoni székhelyű cégét, a DeepMind-et az emberi intelligencia technikai analógja, 2014-ben pedig a Google több mint 500 millió dollárért megvásárolta cégét.Tavaly a DeepMind által kifejlesztett AlphaGo program verte meg a világbajnokokat a Go logikai játékában. Az OpenAI non-profit AI-kutatóintézettel együttműködve, amelyet támogat Elon Musk , a vállalat fejlettebb intellektuális képességekkel rendelkező gépek létrehozásán is dolgozik.

    A DeepMind összes mesterséges intelligencia-algoritmusa olyan fogalmakon alapul, amelyeket először a saját agyunkban fedeztünk fel. A mély tanulás és a megerősített tanulás – a modern mesterséges intelligencia két pillére – az emberi agy biológiai idegi kapcsolatainak modelljének a formális matematika nyelvére való laza fordításának eredménye. Mély tanulás valójában csak egy új neve a mesterséges intelligencia megközelítésének, amely több mint 70 éve létezik, és neurális hálózatként ismert. A neurális hálózatokat először 1944-ben javasolták. Warren McCullough (Warren McCullough) és Walter Pits (Walter Pitts), a Chicagói Egyetem két kutatója, akik 1952-ben megalapították azt, amit néha a kognitív tudomány első osztályának neveznek.

    A neurális hálózatok voltak a fő kutatási terület mind az idegtudományban, mind a számítástechnikában 1969-ig, de aztán megszűnt az érdeklődés irántuk. Az 1980-as években a technológia újjáéledt, de az új évszázad első évtizedében ismét napfogyatkozásba esett, és szinte azonnal visszatért, a másodikban - elsősorban a grafikus chipek megnövekedett feldolgozási teljesítménye miatt.

    A neurális hálózati eszköz diagramja

    A neurális hálózatok jellemzői

    A neurális hálózatok olyan gépi tanulási eszközök, amelyekben a számítógép megtanulja, hogyan hajtson végre egy adott feladatot a képzési példák elemzésével. Ezek a példák általában manuálisan vannak előre felcímkézve. Például egy tárgyfelismerő rendszer több ezer címkézett képet tárolhat autókról, házakról, csészékről stb., és vizuális mintákat és jellemzőket találhat ezeken a képeken, hogy meghatározott címkékkel társítsa őket. Egyszerűen fogalmazva, a gyerekek ugyanúgy tanulnak - például egy gyermeknek különféle piros tárgyakat mutatnak be, hogy a jövőben önállóan társíthassa ezt a „címkét” az összes piros tárggyal.

    Ahhoz azonban, hogy agyunk kapcsolatainak akár távoli technikai analógját is kifejleszthessük, egy komplex mechanizmus létrehozására van szükség. A neurális hálózatok ezer vagy millió egyszerű, de egymással szorosan összefüggő információfeldolgozó csomópontból állnak, általában rétegekbe rendezve. A különböző típusú hálózatok különböznek a rétegeik számától, a csomópontok közötti kapcsolatok számától és az egyes rétegekben található csomópontok számától függően. A legtöbb modern neurális hálózat csomópontok rétegeibe szerveződik, amelyekben az adatok csak egy irányba mozognak. Egy adott csomópont több csomóponthoz kapcsolódhat az alatta lévő rétegben, ahonnan adatokat kap, és több csomóponthoz a felette lévő rétegben, amelyhez adatokat küld.


    Hálózati képzési példa

    A csomópont minden bejövő kapcsolatához hozzárendel egy számot, amelyet "súlynak" neveznek. Amikor a hálózat aktív, a csomópont újabb adatelemet kap tőlük, egy másik számot és megszorozza a már megadott súllyal, majd összeadja az összes bemenettől kapott értékeket, így egy számot kap. Ha a szám meghaladja a küszöbértéket, a csomópont "kiüzel", ami a modern neurális hálózatokban általában azt jelenti, hogy a számot - a súlyozott bemenetek összegét - elküldi az összes kimenő kapcsolatára.

    Oktatási módban a neurális hálózat összes súlya és küszöbértéke kezdetben véletlenszerű értékre van állítva. A betanítási adatok az alsó rétegbe, a bemeneti rétegbe kerülnek, és a következő rétegeken mennek keresztül, megszorozzák és összeadják, amíg el nem érik a kimeneti réteget. Edzés közben a súlyokat és a küszöbértékeket folyamatosan módosítják, amíg az azonos címkékkel ellátott edzésadatok hasonló eredményeket adnak.

    A jövő már itt van

    A neurális hálózatok működésének javításának és a technológia használatának elterjedésének lenyűgöző eredményei nem korlátozódnak az AlphaGo és az AI laboratóriumi kutatások győzelmére. Ha még mindig az „öntanuló gépek” kifejezést a sci-fi és a robotok felkelésével kapcsolatos horror világához köti, akkor üdvözöljük a jövőben.

    Az elmúlt években a leghatékonyabb mesterséges intelligencia rendszereket - olyan területeken, mint az autonóm vezetés, a beszédfelismerés, a számítógépes látás és az automatikus fordítás - a neurális hálózatoknak köszönhetően fejlesztették ki. Lehet, hogy mi magunk nem vesszük észre, de az öntanuló neurális hálózatok már beépültek a mindennapi életünkbe. Így például a Facebook hírfolyamában felkínált fordítás már nem történik meg automatikusan, ha minden egyes szót megkeres a szótárban. Most a cég elindított egy neurális hálózatot, amely teljes mondatokat fordít le, és egyre több hozzáértő koherens szöveget állít elő. Már most 11%-kal nőtt a fordítások pontossága a közösségi hálózaton.


    A Prisma alkalmazásban feldolgozott neuron modell

    Külön érdeklődési hullámot váltott ki az oroszországi lakosok technológiája iránt a Prizma alkalmazás megjelenése, amely a közönséges fényképeket a híres műalkotások hasonlóságává változtatja. Nem számít, hogy használta-e ezt az alkalmazást, vagy éppen ellenkezőleg, zavarba jött a közösségi hálózatok felhasználói általi visszaélése miatt – érdemes megjegyezni az alkotók kreativitását. A közönségesnek tűnő fotófeldolgozó eszköz sajátossága éppen az volt, hogy a program neurális hálózatok alapján dolgozott, különféle festési stílusok mintáit felhasználva új „remekműveket” alkotott.

    Azonban a legegyszerűbb neurális hálózatok is sok memóriát foglalnak el és hatalmas energiát fogyasztanak, így általában a felhőben lévő szervereken futnak, ahol asztali vagy mobil eszközökről kapnak adatokat, majd visszaküldik az elemzés eredményét. .

    A probléma megoldására tavaly Sze Vivienne, a Massachusetts Institute of Technology elektromérnöki és számítástechnikai adjunktusa és kollégái bemutattak egy új, energiahatékony, neurális hálózatokra optimalizált számítógépes chipet, amely lehetővé teszi a nagy teljesítményű mesterséges intelligencia rendszerek helyi működését. mobil eszközökön..

    Emellett kifejlesztettek egy analitikai módszert, amellyel meg lehet határozni, hogy egy neurális hálózat mennyi energiát fogyaszt, ha egy adott típusú hardveren fut. Ezután a technológia segítségével új módszereket értékeltek a neurális hálózatok megkerülésére, hogy hatékonyabban működhessenek kézi eszközökön.

    Hassabis azonban azzal érvel, hogy ez nem elég. A kutatók most azt a célt tűzték ki maguk elé, hogy olyan univerzális mesterséges intelligenciát hozzanak létre, amely képes gyorsan és rugalmasan gondolkodni, okoskodni és tanulni, olyan mesterséges intelligenciát, amely képes megérteni a valós világot és elképzelni egy jobbat.

    Ennek eléréséhez alaposabban meg kell vizsgálni az emberi elme működését, mivel ez az egyetlen bizonyíték arra, hogy egy ilyen intelligens rendszer elvileg lehetséges.

    AI tanulási probléma

    A gépi tanulási algoritmusok konkrét feladataiktól függően bizonyos matematikai struktúrák segítségével testreszabhatók. Millió példában elmondható, hogy a mesterséges neurális hálózatok megtanulják finomhangolni kapcsolataikat, amíg el nem érik azt az ideális állapotot, amely lehetővé teszi számukra a feladat legnagyobb pontosságú végrehajtását.

    Mivel minden algoritmus teljesen egy adott problémára van szabva, az új probléma újraképzése gyakran törli a korábban létrehozott kapcsolatokat. Így amikor az AI megtanul egy új feladatot, teljesen felülírja az előzőt.

    A folyamatos tanulás dilemmája csak egy probléma a mesterséges intelligenciában. Másokat még nem is határoztak meg ennyire pontosan, de talán komolyabbak lesznek a miénkhez hasonló rugalmas, találékony elmék létrehozásában.

    Például a megtestesült megismerés problémája – ahogy Hassabis kifejti – a tudás és az elvont gondolatok létrehozásának képessége a világgal való független érzékszervi interakción alapulva. Ez egyfajta józan ész, amellyel az emberek rendelkeznek, egy intuíció, amelyet nehéz leírni, de rendkívül hasznos a napi problémák kezelésében, amelyekkel szembesülünk.

    Még nehezebb olyan tulajdonságokat programozni, mint a képzelet. Ez az a hely, ahol az egy konkrét feladatra korlátozódó mesterséges intelligencia nagyon rossz, mondja Hassabis. A képzelet és az innováció azokon a modelleken alapszik, amelyeket már megalkottunk a világunkról – és képzeljünk el belőlük új forgatókönyveket. Ezek nagyon hatékony tervezési eszközök, de a mesterséges intelligencia kutatása még gyerekcipőben jár.

    A tudósok megjegyzik, hogy a neurális hálózatok működésével kapcsolatos problémák megoldása során az élőlények neurobiológiájához és fiziológiájához fordulnak. Tehát a legújabb felfedezések azt mutatják, hogy a hippocampus - az agy limbikus rendszerének azon része, amely a memóriáért felelős - pihenés és alvás közben "elveszíti" tapasztalatainkat és emlékeinket. Ez lehetővé teszi az agy számára, hogy „újra tanuljon a múltbeli sikerekből és kudarcokból” – mondja Hassabis.

    Az AI-kutatók átvették ezt az ötletet, és egy kezdetleges változatot építettek be egy algoritmusba – az eredmény pedig erőteljes, tapasztalattanuló neurális hálózatok. Összehasonlítják a jelenlegi helyzeteket a memóriában tárolt korábbi eseményekkel, és olyan cselekedeteket hajtanak végre, amelyek korábban sikerhez vagy jutalomhoz vezettek.

    De a legjobb még hátravan

    Az agyi képalkotó eszközök és a genetikai biomérnökség megjelenése példátlan pillantást vet arra, hogyan szerveződnek és kombinálódnak a biológiai neurális hálózatok a problémák megoldása érdekében. Miközben az idegtudósok azon dolgoznak, hogy megfejtsék a „neurális kódot” – az alapvető számításokat, amelyek fenntartják az agy működését –, az AI-kutatók egyre több eszköztárral rendelkeznek a tanulmányozásra.

    Érdemes megjegyezni, hogy nemcsak az MI-nek van sokat tanulnivalója az idegtudósoktól – az előnyök kölcsönösek. A modern idegtudomány, minden erőteljes képalkotásában és optogenetikájában, csak most kezdte megérteni, hogy a neurális hálózatok hogyan támogatják a magasabb szintű intelligenciát.

    "Az idegtudósoknak gyakran meglehetősen homályos elképzeléseik vannak az általuk tanulmányozott fogalmak mögött meghúzódó mechanizmusokról" - mondja Hassabis. Mivel az AI-kutatás szigorú matematikán alapul, módokat javasolhat ezeknek a homályos fogalmaknak a valós hipotézisekben való tisztázására.

    Persze nem valószínű, hogy a mesterséges intelligencia és az agy mindig egyformán fog működni. De az AI-t alkalmazott számítástechnikai idegtudománynak tekinthetjük, mondja Hassabis. A mesterséges intelligencia algoritmusainak az emberi aggyal való összehasonlítása „betekintést nyújthat az elme legmélyebb titkaiba”.

    Azt mondták, hogy az összes 47%-a
    a következő 20 éven belül automatizálni lehetne a munkahelyeket. Ennek a folyamatnak a fő mozgatórugója a mesterséges intelligencia használata, a nagy adatokkal való munka az ember hatékonyabb helyettesítéseként.

    A gépek ma már egyre több olyan folyamatot képesek megoldani, amely korábban az emberek felelőssége volt. Ráadásul jobban és sok esetben olcsóbban is csinálják. German Gref arról beszélt, hogy mit jelent ez a munkaerőpiac számára ez év júliusában a Balti Szövetségi Egyetem hallgatóinak. Kant:

    „Leállítjuk olyan ügyvédek alkalmazását, akik nem tudnak mit kezdeni egy neurális hálózattal.<...>Ti vagytok a tegnap diákjai. Ügyvédtársak, felejtsétek el a szakmájukat. Tavaly a múlté lett 450 pert előkészítő ügyvéd hazánkban, csökkentek. Neurális hálózatunk jobban elkészíti a keresetleveleket, mint a Balti Szövetségi Egyetemen képzett ügyvédek. Biztosan nem fogjuk felvenni őket.”

    Folytatva a #technofuture bemutatását, a DTI csapata mindent előkészített tudnod kell a neurális hálózatokba való első merüléshez: hogyan vannak elrendezve, miért részesíti előnyben egyre több cég a neurális hálózatokat az élő alkalmazottakkal szemben, és milyen lehetőségek rejlenek ebben a technológiában a különböző folyamatok optimalizálására.

    Mesterséges intelligencia, gépi tanulás és neurális hálózatok: mi a különbség?

    Neurális hálózat megvalósításának egyik módja mesterséges intelligencia (AI).

    A mesterséges intelligencia fejlesztésének hatalmas területe van - gépi tanulás. Olyan algoritmusok felépítésének módszereit tanulmányozza, amelyek képesek önállóan tanulni. Erre akkor van szükség, ha egyetlen problémára sincs egyértelmű megoldás. Ilyenkor egyszerűbb nem a megfelelő megoldást keresni, hanem olyan mechanizmust létrehozni, amely kitalál egy módszert a megtalálására.

    #referencia Sok cikk tartalmazza ezt a kifejezést "mély" - vagy "mély" - tanulás. Olyan gépi tanulási algoritmusokat értünk, amelyek sok számítási erőforrást használnak. A legtöbb esetben egyszerűen „neurális hálózatként” értelmezhető.

    Annak érdekében, hogy ne keveredjen össze a "mesterséges intelligencia", a "gépi tanulás" és a "mély tanulás" fogalma, javasoljuk, hogy nézze meg fejlődésük vizualizációját:

    #érdekes A mesterséges intelligenciának (AI) két típusa van: gyenge (szűk fókuszú) és erős (általános). A gyenge AI-t arra tervezték, hogy egy szűk feladatlistát teljesítsen. Ezek a Siri és a Google Asszisztens hangsegédek, valamint az összes többi példa, amelyet ebben a cikkben adunk meg. Az erős mesterséges intelligencia pedig bármilyen emberi feladat elvégzésére képes. Jelenleg az erős mesterséges intelligencia megvalósítása lehetetlen, ez utópisztikus ötlet.

    Hogyan működik egy neurális hálózat

    A neurális hálózat az emberi idegrendszer munkáját modellezi, melynek sajátossága a korábbi tapasztalatok alapján történő öntanulási képesség. Így minden alkalommal kevesebb hibát követ el a rendszer.

    Az idegrendszerünkhöz hasonlóan a neurális hálózat is különálló számítási elemekből áll - több rétegben elhelyezkedő neuronokból. A neurális hálózat bemenetére érkező adatok a hálózat minden rétegében szekvenciális feldolgozáson esnek át. Ugyanakkor minden neuronnak vannak bizonyos paraméterei, amelyek a kapott eredmények függvényében változhatnak - ez a hálózat képzése.

    Tegyük fel, hogy a neurális hálózat feladata a macskák és a kutyák megkülönböztetése. A neurális hálózat létrehozásához macskákról és kutyákról készült, aláírt képek nagy sorát táplálják be. A neurális hálózat elemzi a képek jellemzőit (beleértve a vonalakat, formákat, méretüket és színüket), és felállít egy felismerési modellt, amely minimalizálja a hibák százalékos arányát a referencia eredményekhez képest.

    Az alábbi ábra egy neurális hálózat folyamatát mutatja be, melynek feladata a kézzel írt irányítószám felismerése.


    A neurális hálózatok története

    Annak ellenére, hogy a neurális hálózatok a közelmúltban kerültek a figyelem középpontjába, ez az egyik legrégebbi gépi tanulási algoritmus. A formális neuron első változatát, a neurális hálózati sejtet Warren McCulloch és Walter Pitts javasolta 1943-ban.

    És már 1958-ban Frank Rosenblatt kifejlesztette az első neurális hálózatot. Egyszerűsége ellenére már képes volt megkülönböztetni például a kétdimenziós térben lévő tárgyakat.

    Mark I Perceptron - Rosenblatt gép

    Az első sikerek felkeltették a figyelmet a technológiára, de aztán más gépi tanulási algoritmusok kezdtek jobb eredményeket felmutatni, és a neurális hálózatok háttérbe szorultak. A következő érdeklődési hullám az 1990-es években jött, utána 2010-ig keveset lehetett hallani a neurális hálózatokról.

    Miért ismét népszerűek a neurális hálózatok?

    2010-ig egyszerűen nem volt akkora adatbázis, hogy minőségileg betanítsa a neurális hálózatokat bizonyos feladatok megoldására, elsősorban a képfelismeréssel és osztályozással kapcsolatban. Ezért a neurális hálózatok gyakran követtek el hibákat: összetévesztették a macskát egy kutyával, vagy ami még rosszabb, egy egészséges szerv képét egy daganat által érintett szerv képével.

    2010-ben azonban megjelent az ImageNet adatbázis, amely 15 millió képet tartalmaz 22 000 kategóriában. Az ImageNet sokszorosa volt a meglévő képadatbázisoknak, és bármely kutató számára elérhető volt. Ilyen mennyiségű adat birtokában a neurális hálózatok megtaníthatók szinte hibamentes döntéshozatalra.


    Az ImageNet mérete a 2010-ben létező többi képadatbázishoz képest

    Ezt megelőzően egy másik, nem kevésbé jelentős probléma akadályozta a neurális hálózatok fejlődését: a hagyományos tanítási módszer nem volt hatékony. Bár a rétegek száma egy neurális hálózatban fontos szerepet játszik, fontos a hálózat betanítási módja is. A korábban használt fordított titkosítási módszer csak a hálózat utolsó rétegeit tudta hatékonyan betanítani. A tanulási folyamat túl hosszúnak bizonyult a gyakorlati alkalmazáshoz, és a mély neurális hálózatok rejtett rétegei nem működtek megfelelően.

    A probléma megoldásában 2006-ban három független tudóscsoport ért el eredményeket. Először Geoffrey Hinton valósította meg a hálózati előképzést egy Boltzmann-gép segítségével, minden réteget külön tanítva. Másodszor, Yan LeKan konvolúciós neurális hálózat használatát javasolta a képfelismerési problémák megoldására. Végül Joshua Bengio kifejlesztett egy lépcsőzetes autoencodert, amely lehetővé tette egy mély neurális hálózat összes rétegének használatát.

    Példák a neurális hálózatok sikeres alkalmazására az üzleti életben

    A gyógyszer

    A Nottinghami Egyetem kutatóiból álló csapat négy gépi tanulási algoritmust fejlesztett ki a betegek szív- és érrendszeri megbetegedésének kockázatának felmérésére. A képzéshez 378 000 brit beteg adatait használták fel. A képzett mesterséges intelligencia hatékonyabban határozta meg a szívbetegségek kockázatát, mint az igazi orvosok. Az algoritmus pontossága 74 és 76,4 százalék között van (az American College of Cardiology által kifejlesztett szabványos nyolctényezős rendszer mindössze 72,8 százalékos pontosságot biztosít).

    Pénzügy

    A japán Fukoku Mutual Life Insurance biztosítótársaság szerződést írt alá az IBM-mel. Szerinte, A japán cég 34 alkalmazottját az IBM Watson Explorer AI rendszer váltja fel. A neurális hálózat több tízezer orvosi igazoláson fog átnézni, és figyelembe veszi a kórházi látogatások számát, a rendelők számát és egyéb tényezőket az ügyfelek biztosítási feltételeinek meghatározásához. A Fukoku Mutual Life Insurance úgy véli, hogy az IBM Watson használata 30%-kal növeli a termelékenységet, és két éven belül megtérül.

    Gépi tanulás segít felismerni a lehetséges csalási eseteket az élet különböző területein. Hasonló eszközt használ például a PayPal is - a pénzmosás elleni küzdelem részeként a cég több millió tranzakciót hasonlít össze, és gyanúsakat észlel köztük. Ennek eredményeként a PayPal csalárd tranzakciói minden idők mélypontján, 0,32%-on állnak, míg a pénzügyi szektorban 1,32%-os a standard.

    Az elemző jegyzet folytatása az alábbi linken érhető el:

    A mesterséges intelligencia kutatásának másik területe a neurális hálózatok. Az emberi idegrendszer természetes neurális hálózataihoz hasonlóan tervezték őket.

    Mesterséges idegi hálózat

    Az első neuroszámítógép feltalálója, Dr. Robert Hecht-Nielsen a következő fogalmat adta a neurális hálózatról: „A neurális hálózat olyan számítástechnikai rendszer, amely számos egyszerű, egymással szorosan összefüggő feldolgozóelemből áll, amelyek az információkat a rájuk dinamikusan reagálva dolgozzák fel. külső hatások."

    A mesterséges neurális hálózatok alapstruktúrája (ANN)

    Az ANN ötlete azon a meggyőződésen alapul, hogy lehetséges az emberi agy munkáját utánozni a szükséges kapcsolatok létrehozásával szilícium és vezetékek, például élő neuronok és dendritek segítségével.

    Az emberi agy 100 milliárd idegsejtből, úgynevezett neuronból áll. Több ezer sejthez kapcsolódnak axonokkal. A külső környezet ingereit vagy az érzékszervekből érkező jeleket a dendritek fogadják. Ezek a bemenetek elektromos impulzusokat hoznak létre, amelyek gyorsan haladnak keresztül a neurális hálózaton. A neuron ezután üzeneteket küldhet más neuronoknak, amelyek továbbküldhetik az üzenetet, vagy egyáltalán nem küldhetik el.


    A mesterséges neurális hálózatok több csomópontból állnak, amelyek utánozzák az emberi agy biológiai neuronjait. A neuronok összekapcsolódnak és kölcsönhatásba lépnek egymással. A csomópontok fogadhatnak bemenetet, és egyszerű műveleteket hajthatnak végre az adatokon. E műveletek eredményeként az adatok más idegsejtekbe kerülnek. Az egyes csomópontok kimenetét aktiválásnak nevezzük.

    Minden hivatkozáshoz egy súly tartozik. Az ANN-ok képesek tanulni, ami a súlyérték megváltoztatásával valósul meg. A következő ábra egy egyszerű ANN-t mutat:

    A mesterséges neurális hálózatok típusai

    Kétféle mesterséges neurális hálózati topológia létezik – előrecsatolt és visszacsatolás.

    Az információáramlás egyirányú. A blokk információt továbbít más egységeknek, amelyektől nem kap információt. Nincs visszacsatolási hurok. Fix bemenetekkel és kimenetekkel rendelkeznek.


    Itt a visszacsatolási hurkok megengedettek.

    Hogyan működnek a mesterséges neurális hálózatok

    A topológia áramköröket mutat, mindegyik nyíl két neuron közötti kapcsolatot jelöl, és az információáramlás irányát jelzi. Minden kapcsolatnak súlya van, egy egész szám, amely szabályozza a két neuron közötti jelet.

    Ha a hálózat "jó" és "kívánt" kimenetet produkál, akkor nincs szükség a súly módosítására. Ha azonban a hálózat "rossz" vagy "nem kívánt" kimenetet vagy hibát produkál, akkor a rendszer módosítja a súlyait a későbbi eredmények javítása érdekében.

    Gépi tanulás mesterséges neurális hálózatokban

    Az ANN-ok képesek tanulni, és képezni kell őket. Számos tanulási stratégia létezik

    Képzés – egy tanárt foglal magában, aki egy képzési mintát továbbít a hálózatnak, amelyre a tanár tudja a válaszokat. A hálózat összehasonlítja eredményeit a tanár válaszaival, és módosítja a súlyozását.

    A felügyelet nélküli tanulásra akkor van szükség, ha nincs ismert válaszokkal rendelkező képzési minta. Például a klaszterezési problémáknál, pl. elemek halmazának csoportokra bontása bizonyos kritériumok szerint.

    A megerősítő tanulás megfigyelésen alapuló stratégia. A hálózat a környezetének megfigyelésével hoz döntéseket. Ha a megfigyelés negatív, a hálózat úgy módosítja a súlyozását, hogy képes legyen különböző szükséges döntéseket hozni.

    Visszaterjesztési algoritmus

    Bayesi hálózatok (BN)

    Ezek grafikus struktúrák a valószínűségi változók halmaza közötti valószínűségi kapcsolatok ábrázolására.

    Ezekben a hálózatokban minden csomópont véletlenszerű változó, konkrét ajánlatokkal. Például az orvosi diagnózisban a Rák csomópont arra utal, hogy a páciens rákos.

    A csomópontokat összekötő élek valószínűségi függőségek e valószínűségi változók között. Ha két csomópont közül az egyik a másikat érinti, akkor azokat közvetlenül kell csatlakoztatni. A változók közötti kapcsolat erősségét az egyes csomópontokhoz társított valószínűség számszerűsíti.

    A BN-ben csak az ívekre van korlátozás, nem lehet csak az ív irányát követve visszamenni egy csomóponthoz. Ezért a BNS-t aciklikus gráfnak nevezik.

    A BN struktúra ideális a tudás és a megfigyelt adatok kombinálására. A BN segítségével adatok hiányában is tanulhatunk ok-okozati összefüggéseket és megérthetjük a különböző problémákat, megjósolhatjuk a jövőt.

    Hol használják a neurális hálózatokat

      Képesek olyan feladatokat végrehajtani, amelyek az emberek számára könnyűek, de a gépek számára nehézek:

      Aerospace – repülőgép robotpilóta;

      Gépjárműipar – autóipari irányítási rendszerek;

      Katonai - célkövetés, robotpilóta, jel / kép felismerés;

      Elektronika - előrejelzés, hibaelemzés, gépi látás, hangszintézis;

      Pénzügyi – ingatlanértékelés, hiteltanácsadók, jelzáloghitelek, kereskedelmi cég portfóliója stb.

      Jelfeldolgozás – A neurális hálózatok taníthatók audiojel feldolgozására.

    A gépi tanulás egy tág fogalom, amely mindent magában foglal, amit akkor tesz, amikor meg akarja tanítani a gépet, hogy önmagában fejlődjön. Ez különösen vonatkozik minden olyan rendszerre, amelyben a számítógép teljesítményét egy feladat végrehajtása során csak az adott feladat végrehajtásában szerzett tapasztalat javítja. A neurális hálózatok a gépi tanulás példái, de nem ez az egyetlen módja a számítógép betanításának.

    Például a gépi tanulás egyik alternatív módszerét megerősítéses tanulásnak nevezik. Ennél a módszernél a számítógép végrehajt egy feladatot, majd kiértékeli annak eredményét. Ha például a számítógép sakkban nyer, akkor a játék során használt lépéssorozathoz rendeli a nyerőértéket. Több millió játék után a rendszer az előző játékok eredményei alapján meg tudja határozni, hogy mely lépések vezetnek a legvalószínűbben a győzelemhez.

    Míg a neurális hálózatok jók olyan dolgokra, mint például a képek mintafelismerése, más típusú gépi tanulás hasznosabb lehet olyan feladatoknál, mint például a kedvenc zenék megtalálása. A Google azt állítja, hogy a zenealkalmazása megtalálja a zenét, amit hallgatni szeretne. Ezt a korábbi lejátszási listák elemzésével teszi. Ha nem tetszik az eredmény, a gép hibának tekinti. De ha kiválaszt egyet a javasolt listák közül, azt sikeresnek fogja minősíteni, és elemzi azokat a nyerő lépéseket, amelyek a szívéhez vezették.

    Az ilyen esetekben nem fogja kihasználni a gépi tanulás előnyeit, ha nem használja gyakran a funkciót. Amikor először nyitja meg a Google Zene alkalmazást, az ajánlások valószínűleg túlzásba esnek. De minél többet használja, annál jobbak lesznek az ajánlatok. Elméletileg legalábbis. A gépi tanulás sem csodaszer. A gépi tanulás homályosabb, mint a neurális hálózatok, de azt is jelenti, hogy az Ön által használt szoftver teljesítményének javítása érdekében az Ön visszajelzéseire támaszkodik.

    A mesterséges intelligencia minden az "okos" előtaggal


    Ahogy a neurális hálózatok a gépi tanulás egyik formája, a gépi tanulás a mesterséges intelligencia egyik formája. De a „mesterséges intelligencia” kategóriája olyan rosszul van meghatározva, hogy ennek a kifejezésnek nincs gyakorlati jelentése. Igen, a technológiailag fejlett jövő képeit varázsolja, de a valóságban még nem jutottunk a közelébe. Réges-régen az optikai karakterfelismerés túl bonyolult volt egy gép számára, de ma már a telefonon lévő alkalmazás képes dokumentumokat beolvasni és szöveggé alakítani. A mesterséges intelligencia bravúrjának nevezni valahogy semmit sem ér.

    A telefon alapvető képességei azért tekinthetők mesterséges intelligenciának, mert valójában kétféle mesterséges intelligencia létezik. A gyenge vagy szűk AI minden olyan rendszert ír le, amelyet szűk feladatlista elvégzésére terveztek. Például a Google Assistant vagy a Siri, bár meglehetősen erős AI, mégis meglehetősen szűk feladatlistát hajt végre. Hangutasításokat kapnak, válaszokat adnak vissza, vagy alkalmazásokat indítanak el. Az AI-kutatás táplálja ezeket a funkciókat, de „gyengének” tartják őket.

    Ezzel szemben az erős mesterséges intelligencia – más néven mesterséges általános intelligencia vagy „teljes mesterségesintelligencia” – olyan rendszer, amely bármilyen emberi feladat elvégzésére képes. És ő nem létezik. Ezért minden "okos" alkalmazás még mindig gyenge mesterséges intelligencia.

    És bár a jelentés nagyon homályos, a mesterséges intelligencia gyakorlati kutatása annyira hasznos, hogy valószínűleg már a mindennapi életed része. Minden alkalommal, amikor telefonja automatikusan megjegyzi, hol parkolt, felismeri az arcokat a fotóin, keresési javaslatokat kap, vagy automatikusan csoportosítja az összes hétvégi felvételt, Ön így vagy úgy megérinti a mesterséges intelligenciát. A „mesterséges intelligencia” bizonyos mértékig csak azt jelenti, hogy az alkalmazások egy kicsit okosabbak lesznek, mint amit megszoktunk. Nem valószínű, hogy az "AI" címke most gyakorlati szempontból érthetőt jelent.



    Hasonló cikkek