Tartalom
- A neurális hálózat története
- Biológiai számítástechnikai gépek
- A neurális modell elemei
- ANN fekete doboza
- Mély Tanulási Algoritmusok
- Optimális algoritmus paraméterek
- A KAP
- Top modern építészet
- Az első lépések a Skil Python
- Példa egy konvolúciós neurális hálózatra
- Modellezés a Matlab-ban
- Példák neurális hálózati feladatokra
- Mesterséges Intelligencia Alkalmazások
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.

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.

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

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 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.

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.

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.

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:
- Közvetlen neurális hálózatok.
- Visszatérő neurális hálózat.
- Többrétegű Perceptronok (MLP).
- Konvolúciós neurális hálózatok.
- Rekurzív neurális hálózatok.
- Mély Hit Hálózatok.
- A mély hiedelmek konvolúciós hálózatai.
- Önszerveződő térképek.
- Mély Boltzmann Gépek.
- 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.

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:
- Adjon ultra-pontos rétegeket és maximális készletet a szekvenciális modellhez.
- 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.
- Sűrű rétegeket adunk hozzá, amelyek az osztály (0-9)előrejelzésére szolgálnak.
- Modell összeállítása kategorikus kereszt-entrópia veszteségfüggvénnyel, Adadelta optimizerrel és pontossági mutatóval.
- Az edzés után a modell veszteségeit és pontosságát a tesztadatok és annak adatai alapján becsülik meg.

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".

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.

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:
- 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.
- 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.
- 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.