A neurális hálózat [1] (más néven mesterséges neurális hálózat , ANN ) egy matematikai modell , valamint annak szoftveres vagy hardveres megvalósítása, amely biológiai neurális hálózatok - egy élő szervezet idegsejtjeinek hálózatai - szerveződésének és működésének elvén épül fel. Ez a fogalom az agyban lezajló folyamatok tanulmányozása során , illetve e folyamatok modellezésekor merült fel . Az első ilyen kísérlet W. McCulloch és W. Pitts neurális hálózatai volt [2] . A tanulási algoritmusok kidolgozása után a kapott modelleket gyakorlati célokra kezdték használni:előrejelzési problémák , mintafelismeréshez , vezérlési problémákhoz stb.
Az ANN összekapcsolt és kölcsönhatásban lévő egyszerű processzorok ( mesterséges neuronok ) rendszere . Az ilyen processzorok általában meglehetősen egyszerűek (főleg, ha összehasonlítjuk a személyi számítógépekben használt processzorokkal). Egy ilyen hálózatban minden processzor csak az általa periodikusan vett jelekkel foglalkozik, illetve azokkal a jelekkel, amelyeket időszakosan küld a többi processzornak. És mégis, egy kellően nagy hálózatba kapcsolva, szabályozott interakcióval, az ilyen külön-külön egyszerű processzorok együtt képesek meglehetősen összetett feladatok elvégzésére.
A neurális hálózatokat nem a szó szokásos értelmében programozzák , hanem betanítják [a] . A tanulási képesség a neurális hálózatok egyik fő előnye a hagyományos algoritmusokkal szemben . Technikailag a tanulás az idegsejtek közötti kapcsolatok együtthatóinak megtalálásáról szól. A tanulási folyamat során a neurális hálózat képes azonosítani a bemenetek és kimenetek közötti összetett függőséget, valamint általánosítást végezni . Ez azt jelenti, hogy sikeres képzés esetén a hálózat képes lesz a helyes eredményt visszaadni a képzési mintában hiányzó adatok, valamint a hiányos és/vagy „zajos”, részben torz adatok alapján.
Különböző jellegű objektumok képként működhetnek: szövegszimbólumok, képek, hangminták stb. A hálózat betanítása során különféle képmintákat kínálnak fel, jelezve, hogy melyik osztályba tartoznak. A mintát általában jellemzőértékek vektoraként ábrázolják. Ebben az esetben az összes jellemző összességének egyértelműen meg kell határoznia azt az osztályt , amelyhez a minta tartozik. Ha nincs elég szolgáltatás, a hálózat ugyanazt a mintát több osztályhoz is társíthatja, ami nem igaz. A hálózati tréning végén korábban ismeretlen képekkel lehet bemutatni, és választ kapni egy bizonyos osztályhoz való tartozásról.
Egy ilyen hálózat topológiáját az jellemzi, hogy a kimeneti rétegben a neuronok száma általában megegyezik a meghatározott osztályok számával. Ez megfeleltetést hoz létre a neurális hálózat kimenete és az általa képviselt osztály között. Amikor egy hálózatot egy képpel jelenítenek meg, az egyik kimenetének jelet kell mutatnia, hogy a kép ebbe az osztályba tartozik. Ugyanakkor a többi kimeneten legyen egy jel, hogy a kép nem tartozik ebbe az osztályba [18] . Ha két vagy több kimeneten van egy osztályhoz való tartozás jele, akkor a hálózat „nem biztos” a válaszában.
Használt neurális hálózati architektúrákEz a probléma közel áll az osztályozás problémájához. A helyzetek osztályozás tárgyát képezik, amelyek jellemzőit a neurális hálózat bemenetére táplálják. A hálózat kimenetén meg kell jelennie a meghozott döntés jelének. Ebben az esetben a vezérelt rendszer állapotának leírására szolgáló különféle kritériumok bemeneti jelként [19] .
A klaszterezés a bemeneti jelek halmazának osztályokra bontását jelenti, annak ellenére, hogy sem az osztályok száma, sem a jellemzői nem ismertek előre. A betanítás után egy ilyen hálózat képes meghatározni, hogy a bemenő jel melyik osztályba tartozik. A hálózat azt is jelezheti, hogy a bemeneti jel nem tartozik a kiválasztott osztályok egyikéhez sem - ez annak a jele, hogy új adatok hiányoznak a betanítási mintából. Így egy ilyen hálózat képes új, korábban ismeretlen jelosztályokat észlelni . A hálózat által azonosított osztályok és a tantárgyi területen létező osztályok közötti megfelelést egy személy állapítja meg. A klaszterezést például Kohonen neurális hálózatok végzik .
A neurális hálózatok Kohonen egyszerű változatában nem lehetnek hatalmasak, ezért hiperrétegekre (hiperoszlopokra) és magokra (mikrooszlopokra) osztják őket. Az emberi aggyal összehasonlítva a párhuzamos rétegek ideális száma nem haladhatja meg a 112-t. Ezek a rétegek pedig hiperrétegeket (hiperoszlopokat) alkotnak, amelyekben 500-2000 mikrooszlop (mag) található. Ezen túlmenően minden réteg egy sor hiperoszlopra van felosztva, amelyek áthatolnak ezeken a rétegeken. A mikrooszlopok számjegyekkel és egységekkel vannak kódolva a kimeneten kapott eredménnyel. Szükség esetén további rétegeket és neuronokat távolítanak el vagy adnak hozzá. Ideális szuperszámítógép használata a neuronok és rétegek számának kiválasztásához. Egy ilyen rendszer lehetővé teszi, hogy a neurális hálózatok plasztikusak legyenek.
Használt neurális hálózati architektúrákA neurális hálózat előrejelzési képessége közvetlenül következik abból, hogy képes általánosítani és kiemelni a bemeneti és kimeneti adatok közötti rejtett függőségeket. A képzés után a hálózat képes megjósolni egy bizonyos sorozat jövőbeli értékét több korábbi érték és (vagy) néhány jelenleg meglévő tényező alapján. Előrejelzés csak akkor lehetséges, ha a korábbi változások bizonyos mértékig valóban előre meghatározzák a jövőt . Például a részvényárfolyamok előrejelzése a múlt heti részvényárfolyamok alapján lehet, de lehet, hogy nem, míg a holnapi lottóeredmények előrejelzése az elmúlt 50 év adatai alapján szinte biztosan nem sikerül.
Használt neurális hálózati architektúrákA neurális hálózatok közelíthetik a folytonos függvényeket. Egy általánosított közelítési tételt [20] bizonyítottak : lineáris műveletek és kaszkád kapcsolat segítségével tetszőleges nemlineáris elemből olyan eszközt lehet előállítani, amely előre meghatározott pontossággal bármilyen folytonos függvényt kiszámít . Ez azt jelenti, hogy egy neuron nemlineáris karakterisztikája tetszőleges lehet: szigmoidtól tetszőleges hullámcsomagig vagy hullámhalmazig , szinuszig vagy polinomig . Egy adott hálózat összetettsége függhet a nemlineáris függvény megválasztásától , de bármilyen nemlinearitás mellett a hálózat univerzális közelítő marad , és a megfelelő szerkezetválasztással pontosan közelítheti bármely folytonos automata működését.
Használt neurális hálózati architektúrákA neurális hálózatok azon képessége, hogy azonosítsák a különböző paraméterek közötti kapcsolatokat, lehetővé teszi a nagy dimenziós adatok tömörebb kifejezését, ha az adatok szorosan összekapcsolódnak egymással. A fordított folyamatot - az eredeti adathalmaz visszaállítását egy információból - (auto)asszociatív memóriának nevezzük. Az asszociatív memória azt is lehetővé teszi, hogy visszaállítsa az eredeti jelet/képet a zajos/sérült bemeneti adatokból. A heteroasszociatív memória problémájának megoldása lehetővé teszi a tartalom-címezhető memória megvalósítását [19] .
Ezen lépések közül néhányat részletesebben meg kell fontolni.
A hálózati betanításhoz szükséges adatok kiválasztása és feldolgozása a probléma megoldásának legnehezebb lépése. A képzési adatkészletnek több kritériumnak kell megfelelnie:
A kezdeti adatokat a rendszer olyan formába konvertálja, amelyben elküldhető a hálózat bemeneteire. Az adatfájl minden bejegyzését edzéspárnak vagy edzésvektornak nevezzük . A betanítási vektor minden hálózati bemenethez egy értéket tartalmaz, és a betanítás típusától függően (felügyelt vagy nem felügyelt) minden hálózati kimenethez egy értéket. A hálózat „nyers” készleten történő betanítása általában nem ad jó minőségű eredményeket. Számos módja van a hálózat „érzékelésének” javításának.
Emellett fontos szerepet játszik mind a bemeneti, mind a kimeneti adatok bemutatása. Tegyük fel, hogy a hálózat képzett betűk felismerésére a képeken, és van egy numerikus kimenete - a betű száma az ábécében. Ebben az esetben a hálózat azt a hamis benyomást fogja kelteni, hogy az 1-es és 2-es betűk jobban hasonlítanak az 1-es és 3-as betűkre, ami általában nem igaz. Az ilyen helyzetek elkerülése érdekében nagy számú kimenettel rendelkező hálózati topológiát használnak, amikor minden kimenetnek megvan a maga jelentése. Minél több kimenet van a hálózatban, annál nagyobb a távolság az osztályok között, és annál nehezebb összekeverni őket.
A hálózat típusát a problémafelvetés és a rendelkezésre álló képzési adatok alapján kell kiválasztani. A felügyelt tanuláshoz a minta minden eleméhez „szakértői” értékelés szükséges. Néha egyszerűen lehetetlen ilyen becslést kapni nagy mennyiségű adatra. Ezekben az esetekben természetes választás egy felügyelet nélküli tanulási hálózat (pl. Kohonen önszerveződő térkép vagy Hopfield neurális hálózat ). Egyéb problémák megoldásakor (például idősoros előrejelzés) a szakértői vélemény már az eredeti adatokban is megtalálható, és a feldolgozás során kinyerhető. Ebben az esetben többrétegű perceptront használhat[ tisztázni ] vagy a Word hálózatot .
Az általános struktúra kiválasztása után kísérletileg kell kiválasztani a hálózati paramétereket. Az olyan hálózatok esetében, mint a perceptron, ez a rétegek száma, a rejtett rétegekben lévő blokkok száma (Word hálózatok esetén), a bypass kapcsolatok megléte vagy hiánya, valamint a neuronok átviteli funkciói. A bennük lévő rétegek és neuronok számának megválasztásakor abból kell kiindulni, hogy minél nagyobb a hálózat általánosító képessége, minél több a neuronok közötti kapcsolatok száma . Másrészt a kapcsolatok számát felülről korlátozza a betanítási adatok rekordjainak száma.
Egy adott topológia kiválasztása után ki kell választani a neurális hálózat betanítási paramétereit. Ez a lépés különösen fontos felügyelt hálózatok esetén . A paraméterek helyes megválasztása nemcsak azt határozza meg, hogy a hálózat válaszai milyen gyorsan konvergálnak a helyes válaszokhoz. Például, ha alacsony tanulási arányt választ, megnő a konvergencia ideje, de néha elkerülhető a hálózati bénulás . A tanulási momentum növelése növelheti vagy csökkentheti a konvergencia időt, a hibafelület alakjától függően . A paraméterek ilyen ellentmondásos befolyása alapján megállapítható, hogy értékeiket kísérleti úton kell megválasztani, a tanulási teljesítési kritérium (például a hiba minimalizálása vagy a képzési idő korlátozása) alapján.
A tanulási folyamat során a hálózat meghatározott sorrendben letapogatja a képzési mintát. A böngészés sorrendje lehet szekvenciális, véletlenszerű stb. Egyes nem felügyelt hálózatok ( például Hopfield hálózatok ) csak egyszer vizsgálják meg a mintát. Mások (például a Kohonen-hálózatok ), valamint a felügyelt hálózatok sokszor átvizsgálják a mintát, és a minta egy teljes áthaladását tanulási korszaknak nevezik . A tanárral való tanulás során a kezdeti adatok halmaza két részre oszlik - a tényleges képzési mintára és a tesztadatokra; az elválasztás elve tetszőleges lehet. A betanítási adatokat betáplálják a hálózatba betanítás céljából, a tesztadatok alapján pedig kiszámítják a hálózat hibáját (a tesztadatokat soha nem használják fel a hálózat betanítására). Így, ha a hiba csökken a tesztadatokon, akkor a hálózat általánosít. Ha a betanítási adatok hibája tovább csökken, és a tesztadatok hibája növekszik, akkor a hálózat leállította az általánosítást, és egyszerűen „emlékezik” a betanítási adatokra. Ezt a jelenséget hálózati túlillesztésnek vagy túlillesztésnek nevezik . Ilyen esetekben az edzést általában leállítják. A betanítási folyamat során egyéb problémák is jelentkezhetnek, mint például bénulás, vagy a hálózat bejutása a hibafelület lokális minimumába. Lehetetlen előre megjósolni egy adott probléma megnyilvánulását, valamint egyértelmű ajánlásokat adni azok megoldására.
A fentiek mindegyike csak a neurális hálózati megoldások keresésének iteratív algoritmusaira vonatkozik. Számukra valójában semmi sem garantálható, és lehetetlen teljesen automatizálni a neurális hálózatok képzését. Az iteratív tanulási algoritmusok mellett azonban vannak nem iteratív algoritmusok, amelyek nagyon nagy stabilitásúak, és lehetővé teszik a tanulási folyamat teljes automatizálását .
A hálózat még az első ránézésre sikeres képzés esetén sem mindig pontosan azt tanulja meg tőle, amit az alkotó akart. Ismert eset, amikor a hálózatot arra képezték ki, hogy felismerje a tankok képeit fényképekről, de később kiderült, hogy az összes tankot ugyanarról a háttérről fényképezték. Ennek eredményeként a hálózat „megtanulta” felismerni ezt a fajta terepet, ahelyett, hogy „tanult volna” felismerni a tankokat [22] . Így a hálózat nem azt „érti”, amit elvártak tőle, hanem azt, amit a legkönnyebb általánosítani.
A neurális hálózati képzés minőségének tesztelését olyan példákon kell elvégezni, amelyek nem vettek részt a képzésben. Minél nagyobb a tesztesetek száma, annál magasabb a képzés minősége. Ha a neurális hálózati hibák valószínűsége megközelíti az egymilliárdot, akkor egymilliárd tesztesetre van szükség ennek a valószínűségnek a megerősítéséhez. Kiderült, hogy a jól képzett neurális hálózatok tesztelése nagyon nehéz feladattá válik.
Számos neurális hálózatban az aktiváló funkció nemcsak a kapcsolatok súlytényezőitől függhet , hanem az impulzus (jel) kommunikációs csatornákon történő átvitelének idejétől is . Ezért általában a kapcsolat aktiváló (átvivő) funkciója elemről elemre a következő formában van: . Ekkor szinkron hálózatnak nevezzük azt a hálózatot, amelyben az egyes kapcsolatok átviteli ideje nulla vagy fix állandó . Az aszinkron hálózat olyan hálózat, amelyben az egyes elemek közötti kapcsolatok átviteli ideje eltérő , de állandó.
Az előrecsatolt neurális hálózatokban minden kapcsolat szigorúan a bemeneti neuronoktól a kimeneti neuronok felé irányul . Ilyen hálózatok például a Rosenblatt perceptron , többrétegű perceptron , Word hálózatok .
A kimeneti neuronok vagy rejtett rétegbeli neuronok jelei részben visszakerülnek a bemeneti réteg neuronjainak bemeneteire ( visszacsatolás ). Az ismétlődő Hopfield hálózat „szűri” a bemeneti adatokat, visszaáll stabil állapotba, és ezáltal lehetővé teszi az adattömörítés és az asszociatív memória építésének problémáinak megoldását [23] . A kétirányú hálózatok az ismétlődő hálózatok speciális esetei. Az ilyen hálózatokban a rétegek között mind a bemeneti rétegtől a kimenetig, mind az ellenkező irányban vannak kapcsolatok. Klasszikus példa erre a Cosco Neural Network .
Neurális hálózatokat fejlesztettek ki, amelyek radiális-alap (más néven RBF) hálózatokat használnak aktiválási funkcióként. A radiális bázisfüggvény általános képe:
, például,
ahol a neuron bemeneti jelek vektora, a függvényablak szélessége, egy csökkenő függvény (leggyakrabban nullával egyenlő egy bizonyos szegmensen kívül).
A sugárirányú alaphálózatot három jellemző jellemzi:
Az ilyen hálózatok egy felügyelet nélküli kompetitív neurális hálózat , amely a vizualizáció és a klaszterezés feladatát látja el . Ez egy módszer többdimenziós tér kisebb dimenziójú (leggyakrabban kétdimenziós) térbe való vetítésére, modellezési, előrejelzési stb. problémák megoldására is használható. A Kohonen-féle neurális hálózatok egyik változata [ 24] . Kohonen önszerveződő térképei elsősorban a vizualizációt és a kezdeti („felderítő”) adatok elemzését szolgálják [25] .
A Kohonen-hálózatba érkező jel egyszerre az összes neuronhoz jut, a megfelelő szinapszisok súlyait a csomópont pozíciójának koordinátáiként értelmezzük, és a kimeneti jelet a „győztes mindent visz” elv szerint alakítjuk ki, vagyis a A bemeneti jelhez (a szinapszis súlyok értelmében) legközelebbi neuronnak van egy nem nulla kimeneti jelobjektuma. A tanulási folyamat során a szinapszis súlyokat úgy állítják be, hogy a rácscsomópontok lokális adatsűrűsödő helyeken „elhelyezkedjenek”, vagyis leírják az adatfelhő klaszterstruktúráját, másrészt a neuronok közötti kapcsolatokat. megfelelnek a jellemzőtér megfelelő klaszterei közötti szomszédsági kapcsolatoknak.
Az ilyen térképeket célszerű többdimenziós térben elhelyezkedő csomópontok kétdimenziós rácsainak tekinteni. Kezdetben az önszerveződő térkép egy linkekkel összekapcsolt csomópontokból álló rács. Kohonen két lehetőséget vizsgált a csomópontok összekapcsolására - téglalap alakú és hatszögletű rácsban - a különbség az, hogy egy téglalap alakú rácsban minden csomópont 4 szomszédos csomóponthoz, a hatszögletűben pedig hat legközelebbi csomóponthoz kapcsolódik. Két ilyen rács esetében a Kohonen-hálózat felépítésének folyamata csak abban tér el, ahol az adott csomóponthoz legközelebbi szomszédokat bejárják.
A rács kezdeti beágyazása az adattérben tetszőlegesen kerül kiválasztásra. A szerző SOM_PAK csomagja lehetőségeket kínál a csomópontok véletlenszerű kezdeti helyének meghatározására a térben, és egy változatot a csomópontok síkban történő elhelyezésére. Ezt követően a csomópontok elkezdenek mozogni a térben a következő algoritmus szerint:
A neurális hálózatokon alapuló számítástechnikai rendszereknek számos olyan tulajdonságuk van, amelyek hiányoznak a Neumann-architektúrájú gépekből (de az emberi agy velejárói):
A bemeneti adat az év részvényárfolyama. A feladat a holnapi pálya meghatározása. A következő átalakítást hajtjuk végre - a mai, tegnapi, tegnapelőtti pálya felsorakozik. A következő sor dátum szerint egy nappal eltolódik és így tovább. A kapott halmazon egy 3 bemenettel és egy kimenettel rendelkező hálózat betanításra kerül - azaz kimenet: tanfolyam eddig, bemenetek: tanfolyam mínusz 1 nap, mínusz 2 nap, mínusz 3 nap. A betanított hálózat a mai, tegnapi, tegnapelőtti árfolyamot táplálja, és holnapra kap választ. Ebben az esetben a hálózat egy paraméter függőségét mutatja az előző háromtól. Ha kívánatos valamilyen más paramétert figyelembe venni (például az iparág általános indexét), akkor azt bemenetként kell hozzáadni (és szerepeltetni a példákban), át kell képezni a hálózatot, és új eredményeket kell elérni. A legpontosabb edzés érdekében érdemes az ORO módszert használni , mint a leginkább kiszámítható és könnyen megvalósítható.
M. G. Dorrer és szerzőtársai munkáinak sorozata foglalkozik a pszichológiai intuíció fejlesztésének lehetőségével neurális hálózati szakértői rendszerekben [27] [28] . A kapott eredmények megközelítést adnak a neurális hálózatok intuíciójának mechanizmusának feltárására, amely akkor nyilvánul meg, amikor pszichodiagnosztikai problémákat oldanak meg. A pszichodiagnosztika intuitív , a számítógépes módszereknél nem szabványos megközelítését alkották meg, amely a leírt valóság konstrukciójának kizárásából áll . Lehetővé teszi a pszichodiagnosztikai módszerekkel kapcsolatos munka csökkentését és egyszerűsítését.
A neurális hálózatokat széles körben használják a kémiai és biokémiai kutatásokban [29] . Napjainkban a neurális hálózatok a kemoinformatika egyik legelterjedtebb módszerei a kvantitatív szerkezet-tulajdonság összefüggések keresésében [ 30] [31] , aminek köszönhetően aktívan használják mind a kémiai vegyületek fizikai-kémiai tulajdonságainak és biológiai aktivitásának előrejelzésére, mind kémiai vegyületek, előre meghatározott tulajdonságokkal rendelkező vegyületek és anyagok irányított tervezése, beleértve az új gyógyszerek kifejlesztését.
A neurális hálózatokat sikeresen használják dinamikus objektumok vezérlőrendszereinek szintézisére [32] [33] .
A vezérlés területén a neurális rendszereket objektum azonosítási problémákban, előrejelzési és diagnosztikai algoritmusokban, valamint az optimális ACS szintézisében használják. Az ANN alapú ACP megvalósításához jelenleg intenzíven fejlesztik a neurochipek és neurokontrollerek (NC) gyártását.
Bizonyos értelemben az ANN egy agyi szimulátor , amely képes tanulni és eligazodni a bizonytalanság körülményei között. A mesterséges neurális hálózat két szempontból hasonlít az agyhoz. A hálózat tudást szerez a tanulási folyamat során, és a tudás tárolására nem magukat az objektumokat használja, hanem azok kapcsolatait - az interneuronális kapcsolatok együtthatóinak értékeit, amelyeket szinaptikus súlyoknak vagy szinaptikus együtthatóknak neveznek.
Az ANN tanulási eljárás a szinaptikus súlyok azonosításából áll, amelyek biztosítják a szükséges transzformációs tulajdonságokat. Az ANN egyik jellemzője, hogy képes módosítani a paramétereket és a struktúrát a tanulási folyamatban. [34]
A neurális hálózati algoritmusokat széles körben használják a közgazdaságtanban [35] . A neurális hálózatok segítségével megoldódik a gazdasági objektumok (vállalkozás, ipar, régió) működési mintáinak analitikus leírásának megtalálására szolgáló algoritmusok fejlesztésének problémája. Ezeket az algoritmusokat az objektumok egyes „kimeneti” mutatóinak előrejelzésére alkalmazzák. A neurális hálózati módszerek alkalmazása lehetővé teszi a közgazdasági és statisztikai modellezés egyes problémáinak megoldását, a matematikai modellek megfelelőségének növelését, a gazdasági valósághoz való közelítését [36] . Mivel a gazdasági, pénzügyi és társadalmi rendszerek nagyon összetettek, és emberi cselekvések és reakciók eredményei, ezért egy komplett matematikai modell létrehozása , amely minden lehetséges cselekvést és reakciót figyelembe vesz, nagyon nehéz (ha megoldható) feladat. Az ilyen komplexitású rendszerekben természetes és leghatékonyabb olyan modellek alkalmazása, amelyek közvetlenül utánozzák a társadalom és a gazdaság viselkedését. Pontosan ezt tud nyújtani a neurális hálózatok [37] módszertana .
![]() | |
---|---|
Bibliográfiai katalógusokban |
|
A mesterséges neurális hálózatok típusai | |
---|---|
|
Tudásmérnöki | |
---|---|
Általános fogalmak | |
Merev modellek | |
Lágy módszerek | |
Alkalmazások | |
Gépi tanulás és adatbányászat | |
---|---|
Feladatok | |
Tanulás tanárral | |
klaszteranalízis | |
Dimenziócsökkentés | |
Strukturális előrejelzés | |
Anomália észlelése | |
Grafikon valószínűségi modellek | |
Neurális hálózatok | |
Megerősítő tanulás |
|
Elmélet | |
Folyóiratok és konferenciák |
|