Neurális hálózatok: példa, meghatározás, jelentés, hatókör

A mesterséges intelligencia és a neurális hálózatok hihetetlenül izgalmas és hatékony, gépi tanuláson alapuló módszerek, amelyeket számos valós probléma megoldására használnak. A neurális hálózat legegyszerűbb példája az írásjelek és a nyelvtan tanulmányozása automatikus teljesen új szöveg létrehozása az összes helyesírási szabály végrehajtásával.

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

A számítógépes tudósok már régóta próbálják modellezni az emberi agyat. 1943-Ban Warren. McCulloch és Walter Pitts kifejlesztette a mesterséges neurális hálózat első koncepcionális modelljét. A "neurális aktivitással kapcsolatos ötletek logikai Kalkulusa" című cikkben egy neurális hálózat példáját, egy neuron fogalmát írták le - egy közös hálózatban élő egyetlen sejtet, amely bemeneti adatokat fogad, feldolgozza őket és kimeneti jeleket generál.

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

Munkájuk, mint sok más tudós, nem volt célja, hogy pontosan leírja a biológiai agy munkáját. A mesterséges neurális hálózatot számítási modellként fejlesztették ki, amely tovább működik az elv az agy működése a feladatok széles körének megoldására.

Nyilvánvaló, hogy vannak olyan gyakorlatok, amelyeket könnyű megoldani egy számítógép számára, de nehéz egy személy számára, például a négyzetgyök kivonása egy tízjegyű számból. A neurális hálózat kevesebb, mint egy milliszekundum alatt kiszámítja ezt a példát, és egy személynek percekbe telik. Másrészt vannak olyanok, amelyeket hihetetlenül könnyű megoldani egy személy számára, de a számítógép például nem tudja kiválasztani a kép hátterét.

Tudósok, akik felfedezték az AI-t

A tudósok sok időt töltöttek komplex megoldások kutatásával és megvalósításával. A leggyakoribb példa egy neurális hálózatra a számítástechnikában a mintafelismerés. Az alkalmazási kör a következőktől függ optikai karakterfelismerés fotó, nyomtatott vagy kézzel írott beolvasás digitális szöveggé az arcfelismerés érdekében.

Biológiai számítástechnikai gépek

Biológiai számítástechnikai gépek

Az emberi agy egy rendkívül összetett és a legerősebb ismert számítógép. Belső működését a neuronok és azok hálózatainak fogalma köré modellezik, amelyeket biológiai neurális hálózatoknak neveznek. Az agy körülbelül 100 milliárd neuront tartalmaz, amelyeket ezek a hálózatok kötnek össze.

Magas szinten kölcsönhatásba lépnek egymással egy interfészen keresztül, amely axon terminálokból áll, amelyek egy résen - szinapszison keresztül kapcsolódnak a dendritekhez. Egyszerűen fogalmazva, az egyik üzenetet továbbít a másiknak ezen az interfészen keresztül, ha a súlyozott bemeneti jelek összege egy vagy több Neuron meghaladja a küszöböt az átvitel kiváltásához. Ezt nevezzük aktiválásnak, amikor a küszöbértéket túllépik, és az üzenet továbbadódik a következő neuronnak.

Az összegzési folyamat matematikailag összetett lehet. A bemeneti jel az ilyen jelek súlyozott kombinációja, és mindegyik mérlegelése azt jelenti, hogy ez a bemenet különböző módon befolyásolhatja a későbbi számításokat és a hálózat végső kimenetét.

A neurális modell elemei

A mély tanulás egy olyan kifejezés, amelyet több rétegből álló komplex neurális hálózatokra használnak. A rétegek csomópontokból állnak. A csomópont egyszerűen az a hely, ahol a számítás megtörténik, amely elegendő számú ingerrel szembesül. A csomópont egyesíti a bemeneti adatokat olyan együtthatókból vagy súlyokból, amelyek erősítik vagy gyengítik ezt a jelet, ezáltal jelentőséget tulajdonítva nekik a feladathoz.

A mély tanulási hálózatok egyetlen rejtett réteggel különböznek a közös neurális hálózatoktól. Példa a neurális hálózati képzésre-Kohonen networks.

A neurális modell elemei

A mély tanulási hálózatokban minden réteg megtanul egy adott funkciókészletet az előző szint kimeneti információi alapján. Minél tovább lép be a neurális hálózatba, annál összetettebbek azok a tárgyak, amelyeket a csomópontok felismerhetnek, mivel az előző szintről származó objektumokat egyesítik és rekombinálják.

A Deep learning hálózatok a legtöbb hagyományos algoritmussal ellentétben emberi beavatkozás nélkül hajtják végre a funkciók automatikus kinyerését, és kimeneti szinttel zárulnak: logikai vagy softmax osztályozó, amely valószínűséget rendel egy adott eredményhez, és előrejelzésnek nevezik.

ANN fekete doboza

A mesterséges neurális hálózatok (ins) statisztikai modellek, amelyek részben biológiai neurális hálózatokra épülnek. Képesek párhuzamosan feldolgozni a bemenetek és kimenetek közötti nemlineáris kapcsolatokat. Az ilyen modelleket az adaptív súlyok jelenléte jellemzi az idegsejtek közötti utak mentén, amelyeket egy tanulási algoritmus konfigurálhat a teljes modell javítása érdekében.

Építészetileg mesterséges neurális (ANN)

A neurális hálózat egyszerű példája egy építészetileg mesterséges neurális ANN hálózat, ahol:

  • A bemeneti réteg a bemeneti réteg.
  • Rejtett réteg-rejtett réteg.
  • Kimeneti réteg-kimeneti réteg.

Mesterséges idegsejtek vagy bemeneti adatok fogadására képes számítási egységek rétegei segítségével modellezik, valamint egy aktiválási funkciót egy küszöbértékkel együtt annak meghatározására, hogy üzeneteket továbbítanak-e.

Egy egyszerű modellben az első réteg a bemenet, majd a rejtett, végül a kimenet. Mindegyik tartalmazhat egy vagy több neuront. A modellek egyre összetettebbé válhatnak az absztrakció növekvő lehetőségeivel és problémák megoldása, a rejtett rétegek száma, a neuronok száma Egy adott rétegben és a köztük lévő utak száma.

Az architektúra és a modellbeállítás az ANN módszerek fő alkotóelemei, maguk a tanulási algoritmusok mellett. Rendkívül erősek és fekete doboz algoritmusoknak számítanak, ami azt jelenti, hogy belső működésüket nagyon nehéz megérteni és megmagyarázni.

Mély Tanulási Algoritmusok

Mély tanulás - Ez a koncepció elég hangosan hangzik, valójában csak egy kifejezés, amely bizonyos típusú neurális hálózatokat és kapcsolódó algoritmusokat ír le, amelyek nyers bemeneti adatokat fogyasztanak a nemlineáris transzformációk sok rétegén keresztül a cél kimenet kiszámításához.

A felügyelet nélküli funkciókinyerés olyan terület is, ahol a mély tanulás meghaladja az elvárásokat. Példa a neurális hálózatok képzésére-SKIL networks.

Mély Tanulási Algoritmusok

Hagyományosan egy adattudós vagy programozó felelős a funkciókinyerési folyamat elvégzéséért a legtöbb más gépi tanulási megközelítésben, a funkciók kiválasztásával és tervezésével együtt.

Optimális algoritmus paraméterek

A tanulási funkciók algoritmusai felhatalmazzák a gépet egy adott feladat megtanulására, csiszolt tanulási lehetőségek felhasználásával. Más szavakkal, tanulnak tanulni. Ezt az elvet számos alkalmazásban sikeresen alkalmazzák, és a mesterséges intelligencia egyik legfejlettebb módszerének tekintik. A megfelelő algoritmusokat gyakran használják ellenőrzött, ellenőrizetlen és részben ellenőrzött feladatokhoz.

Neurális hálózat alapú modellekben a rétegek száma nagyobb, mint a felszíni tanulási algoritmusokban. A kis algoritmusok kevésbé bonyolultak, és az optimális funkciók mélyebb ismeretét igénylik, beleértve a kiválasztást és a fejlesztést. Éppen ellenkezőleg, a mély tanulási algoritmusok jobban támaszkodnak az optimális modellválasztásra és optimalizálásra a hangolással. Alkalmasabbak a problémák megoldására, ha a funkciók előzetes ismerete kevésbé kívánatos vagy szükséges, és a rögzített adatok nem állnak rendelkezésre, vagy nem szükségesek a felhasználáshoz.

A bemeneti adatok minden rétegben átalakulnak mesterséges neuronok vagy processzorblokkok segítségével. A neurális hálózati kód példáját CAP-nak hívják.

A KAP

A kap értéket a mély tanulási modell architektúrájában mérik. A legtöbb kutató ezen a területen egyetért abban, hogy kettőnél több nemlineáris réteg van a CAP számára, és egyesek úgy vélik, hogy a tíznél több rétegű sapkák túl mély tanulást igényelnek.

Felső határérték

A részletes vita sok különböző architektúrák modellek és algoritmusok az ilyen típusú tanulás nagyon térbeli és ellentmondásos. A legtöbbet tanulmányozták:

  1. Közvetlen neurális hálózatok.
  2. Visszatérő neurális hálózat.
  3. Többrétegű Perceptronok (MLP).
  4. Konvolúciós neurális hálózatok.
  5. Rekurzív neurális hálózatok.
  6. Mély Hit Hálózatok.
  7. A mély hiedelmek konvolúciós hálózatai.
  8. Önszerveződő térképek.
  9. Mély Boltzmann Gépek.
  10. Hajtogatott zajszűrő automatikus kódolók.

Top modern építészet

A perceptronokat első generációs neurális hálózatoknak tekintik, egyetlen neuron számítási modelljeinek. 1956-ban Frank Rosenblatt találta fel "Perceptron: javasolt modell az információk tárolására és szervezésére az agyban"című munkájában. A perceptron, más néven közvetlen kommunikációs hálózat, információt továbbít az elejétől a hátsó részig.

Ismétlődő neurális hálózatok RNN kapcsolja be a bemeneti szekvenciát egy kimeneti szekvenciává, amely egy másik területen van, például, megváltoztatja a hangnyomások sorozatát szóazonosítók sorozatává.

John Hopfield bemutatta a Hopfield Net-et egy 1982-es tanulmányban "neurális hálózatok és fizikai rendszerek feltörekvő kollektív számítási képességekkel". A Hopfield hálózatban (HN) minden neuron kapcsolódik bármely máshoz. Ezeket úgy képzik, hogy értékeiket a kívánt sémára állítják be, majd kiszámíthatók a súly együtthatók.

Boltzmann Gép

A Boltzmann gép egyfajta sztochasztikus visszatérő neurális hálózat, amely a Hopfield hálózatok analógjának tekinthető. Ez volt az egyik első változat, amely belső reprezentációkat tanulmányozott komplex kombinatorikus problémák megoldásában. A bemeneti neuronok a teljes frissítés végén kimeneti neuronokká válnak.

Ian Goodfellow generatív kontradiktórius hálózata (Gan) két hálózatból áll. Gyakran ez a takarmány előre és konvolúciós neurális hálók kombinációja. Az egyik generatív tartalmat generál, a másiknak pedig a diszkriminatív tartalmat kell értékelnie.

Az első lépések a Skil Python

Egy neurális hálózat mély tanulása Python használatával összehasonlítja a bemeneteket a kimenetekkel és megtalálja a korrelációkat. Univerzális közelítőként ismert, mert megtanulhatja közelíteni egy ismeretlen függvényt f (x) = y bármely bemenet között " x "és bármely kimenet "y", feltételezve, hogy korrelációval vagy ok-okozati összefüggéssel állnak kapcsolatban.

A tanulási folyamatban van egy helyes "f", vagy egy módja annak, hogy az "x" - et "y" - re fordítsuk, függetlenül attól, hogy f (x) = 3x + 12 vagy f (x) = 9x-0,1.

Az osztályozási feladatok az adatkészletekhez kapcsolódnak, így a neurális hálózatok korrelációt végeznek a címkék és az adatok között. A következő típusok felügyelt tanulása ismert:

  • arcfelismerés;
  • az emberek azonosítása a képeken;
  • az arckifejezés meghatározása: dühös, örömteli;
  • objektumok azonosítása a képeken: stop táblák, gyalogosok, sávtáblák;
  • gesztusfelismerés a videóban;
  • a hangszórók hangjának meghatározása;
  • a spam szöveg osztályozása.

Példa egy konvolúciós neurális hálózatra

A konvolúciós neurális hálózat hasonló a többrétegű perceptron hálózathoz. A fő különbség az, hogy a CNN tanulmányozza, hogyan épül fel és milyen célra használják. A CNN inspirációi biológiai folyamatok voltak. Szerkezetük az állatban jelen lévő vizuális kéreg megjelenése. Ezeket használják a számítógépes látás területén, és sikeresen elérik a modern a teljesítmény szintje a kutatás különböző területein.

Mielőtt elkezdenék kódolni a CNN-t, egy könyvtárat használnak a modell felépítéséhez, például Keras a Tensorflow háttérprogrammal. Először hajtsa végre a szükséges importálást. A könyvtár segít egy konvolúciós neurális hálózat kiépítésében. Töltse be az mnist adatkészletet a keras segítségével. Importáljon egy szekvenciális keras modellt, amelyhez konvolúciós és unionrétegeket, sűrű rétegeket adhat hozzá, mivel ezek a címkék előrejelzésére szolgálnak. A legördülő réteg csökkenti az utólagos felszerelést, a szintező réteg pedig a háromdimenziós vektort egydimenziósvá alakítja. Végül importáljuk a numpy-t a mátrix műveletekhez:

  • Y = 2 # a 2 érték azt jelenti, hogy a képnek 2 számjegye van;
  • Y = [0,0,1,0,0,0,0,0,0,0] # a vektor 3. pozíciója 1;
  • # Itt az osztály értéke bináris osztálymátrixmá alakul.

Építési algoritmus:

  1. Adjon ultra-pontos rétegeket és maximális készletet a szekvenciális modellhez.
  2. Adjon hozzá legördülő rétegeket közöttük. A legördülő menü véletlenszerűen letiltja a hálózat egyes neuronjait, ami arra kényszeríti az adatokat, hogy új utakat találjanak, és csökkenti a túlterhelést.
  3. Sűrű rétegeket adunk hozzá, amelyek az osztály (0-9)előrejelzésére szolgálnak.
  4. Modell összeállítása kategorikus kereszt-entrópia veszteségfüggvénnyel, Adadelta optimizerrel és pontossági mutatóval.
  5. Az edzés után a modell veszteségeit és pontosságát a tesztadatok és annak adatai alapján becsülik meg.
az építési algoritmus kinyomtatásra kerül

Modellezés a Matlab-ban

Mutassunk be egy egyszerű példát a MATLAB modellezés neurális hálózataira.

Feltételezve, hogy "a" a modellnek három bemenete van "a", "b" és "c" és kimenetet generál "y".

Szimuláció a Matlab-ban

Adatgenerálási célokra: y = 5a + bc + 7c.

Először egy kis szkriptet írnak elő az adatok előállításához:

  • a = Rand (11000);
  • b = Rand (1,1000);
  • c = Rand (1,1000);
  • n = Rand (1,1000) * 0,05;
  • y = a * 5 + B * c + 7 * c + n,

ahol n zaj, speciálisan hozzáadva, hogy valós adatnak tűnjön. A zaj értéke 0,1, egyenletes.

Tehát a bemenet egy készlet "a", "b" és "c", a kimenet pedig:

  • I = [a; b; c];
  • O = y.

Ezután használja a beépített Matlab newff funkciót a modell létrehozásához.

Példák neurális hálózati feladatokra

Először hozzon létre egy 3 * 2 méretű r mátrixot. Az első oszlop mindhárom bemenet minimumát, a második pedig a legfeljebb három bemenetet mutatja. Ebben az esetben a három bemenet 0-tól 1-ig terjed, tehát:

R = [0 1; 0 1; 0 1].

Most hozzon létre egy méretmátrixot, amely rendelkezik v-az összes réteg mérete: S = [51].

Most a newff függvényt a következőképpen hívják:

net = newff ([0 1; 0 1; 0 1], S, {`tansig`,`purelin`}).

A neurális modell {`tansig`,` purelin`} két réteg megjelenítésének funkcióját mutatja.

Képezze a korábban létrehozott adatokkal: net = vonat (net, I, O).

A hálózat képzett, láthatja a teljesítménygörbét, ahogy képzett.

Teljesítmény görbe

Most újra modellezik ugyanazokat az adatokat, és összehasonlítják a kimeneti adatokat:

O1 = sim (net, I);

telek (1: 1000,O, 1:1000,O1).

Tehát a bemeneti mátrix lesz:

  • nettó.IW{1}
  • -0.3684 0.0308 -0.5402
  • 0.4640 0.2340 0.5875
  • 1.9569 -1.6887 1.5403
  • 1.1138 1.0841 0.2439
  • nettó.L{2,1}
  • -11.1990 9.4589 -1.0006 -0.9138

Mesterséges Intelligencia Alkalmazások

A neurális hálózat megvalósításának példái közé tartoznak az önkiszolgáló online megoldások és megbízható munkafolyamatok létrehozása. Vannak mély tanulási modellek, amelyeket a chatbotokhoz használnak, és ahogy tovább fejlődnek, várható, hogy ezt a területet inkább a vállalkozások széles körében fogják használni.

Alkalmazási területek:

  1. Automatikus gépi fordítás. Ez nem valami új, a mély tanulás segít javítani a szöveg automatikus fordítását halmozott hálózatok segítségével, és lehetővé teszi a képek lefordítását.
  2. A neurális hálózatok használatának egyszerű példája a fekete-fehér képek és videók színének hozzáadása. Ez automatikusan elvégezhető a mélyreható tanulmányokkal rendelkező modellek segítségével.
  3. A gépek megtanulják a szövegtöredék írásjeleit, nyelvtanát és stílusát, és használhatják az általuk kifejlesztett modell automatikusan hozzon létre egy teljesen új szöveget a szöveg helyesírásával, nyelvtanával és stílusával.

A mesterséges neurális hálózatok ANN és a kifinomultabb mély tanulási technikák a legfejlettebb eszközök a komplex problémák megoldására. Bár az alkalmazások fellendülése nem valószínű a közeljövőben, a mesterséges intelligencia technológiák és alkalmazások fejlődése minden bizonnyal izgalmas lesz.

Annak ellenére, hogy a deduktív érvelés, a logikai következtetések és döntéshozatal a számítógép használata még mindig nagyon messze van a tökéletestől, jelentős előrelépés történt már az alkalmazásban mesterséges intelligencia módszerek kapcsolódó algoritmusok.

Cikkek a témában