Anyagok - neurális hálózatok
Mindegyik neuronról minden szükséges részt tartalmazó rekordot írtam le:
- Az adott neuron és az előző réteg összes neuronja (vagy bemeneti adat, ha a neuron a bemeneti rétegben van) közötti összefüggések súlyozási tényezőinek listája. Valamennyi súlyozási együttható valós szám (az előző rétegre vonatkoztatva 1 neuron-együttható)
- A küszöbszint (lásd alább) (lásd még a fordító megjegyzését a fejezet végén)
- A hiba értéke. Csak a képzési szakaszban használatos. Ezt az értéket nem kell egy neuronhoz kötni, ezt csak a kód olvashatósága érdekében tettem.
- Módosítsa a hibát. Szintén csak a képzés során használatos.
Itt van a neuron leírása:
A neuron kimenőjelét a (a neuron) úgynevezett aktivitása tárolja. A neuronnak a súlyozott kapcsolatokon keresztül érkező bemeneti jelre kell reagálnia, kiszámítva a kimenőjelet. A bemeneti jelek kimenetre való átalakításához egy funkcióra van szükség.
Az alábbiakban a csomópontok deklarálása a változók használatával történik. A konstansok jelzik az idegsejtek számát a bemeneti, a rejtett és a kimeneti rétegben:
Aktiválás (tranziens) funkciók
Az évek során többféle funkciót használtak a bemeneti jelek kimenetekre való átalakításában. Az alábbi ábrák a leggyakrabban használt grafikonokat mutatják. Vízszintes - a bemeneti jelek összege (lásd alább) függőleges irányban - a funkció értéke. Minden funkció eredményt ad 0 és 1 között.
Egyszerű lépésről lépésre funkció. Az aktiválási funkció értéke 1 a bemeneti jel pozitív összegére, vagy 0 a negatív értékre.
A pozitív argumentummal rendelkező negatív argumentum 0 értékű függvény arányos az argumentummal (csak legfeljebb 1).
Az úgynevezett sigmoid. A függvény értéke 0-ra nagy negatív értékekre, 1 nagy pozitív értékre 1-re, simított átmenet a kettő között. A sigmoidális függvényt az alábbi egyenlet írja le:
Ez a függvény, feltételezhetően, a legpontosabban leírja a jelenlegi agyi neuronok aktivitását, és leggyakrabban a mesterséges neurális hálózatokban használják. A funkció pascal kódja:
Azonban a Pascal exp függvény hibát okoz a programban, ha a bemeneti érték -39..38 intervallumon kívül van. Szerencsére ezek olyan messze vannak attól a kiindulóponttól, amelyet feltételezhetünk: az érveléssel <-39 значение функции равно 0, при аргументе> 38, - a funkció értéke 1. A hiba elkerülése érdekében néhány sort adunk hozzá:
A gyakorlatban a tényleges neuronok nem működnek (ne adják ki a kimeneti jelet), amíg a bemeneti jel szintje el nem éri az adott küszöbértéket, azaz a neuron bemenete megkapja a súlyozott jelek összegét egy bizonyos érték mínuszával. A kapott érték az aktiválási funkción keresztül halad át. Így az általános képlet így néz ki:
Minden réteg neuronjainak eredményeire alapozva az előző réteg (kivéve a bemeneti réteget, amely közvetlenül a követelményeknek hálózat bemeneti adat (kód -. Array test_pat) Ez azt jelenti, hogy a bemeneti réteg értékeket kell teljes mértékben számított kiszámítása előtt a rejtett réteg értékeket, ami viszont , a kimeneti réteg értékeinek kiszámítása előtt kell kiszámítani.
A neurális hálózati kimenetek a kimeneti réteg neuronjai aktivitás értékei (a mező). A neurális hálózat munkáját szimuláló program, a tanulási folyamatban, összehasonlítja azokat az értékekkel, amelyeknek a hálózat kimenetében kell lenniük.
Például, ha a neurális hálózatot használjuk, hogy meghatározzuk egy személy milyen padló van kialakítva a fényképen, lehetőség van arra, hogy két neuronok a kimeneti réteg: a férfi kivezető „M” meg kell jelennie a értéke 1, és a kimenet „F” - 0. Ennek megfelelően, női fényképek hálózatának bemutatásakor a kimeneti neuronok fordított értékeket adnak ("M" = 0, "F" = 1). A gyakorlatban, ha a kimenet „M” - a szám a 0,0261 és a kimeneti „F” - a szám a 0,9932, a hálózat biztosítja azt a következtetést, hogy a fénykép - nő arcát (a pontos értékek 1 vagy 0, aligha lehet elérni).
Ha már tudod a súlyokat valamilyen módon, akkor a következő fejezet biztonságosan kihagyhat. Ellenkező esetben még el kell kezdenie a hálózat megtanulását, és be kell fejeznie a hátsó terjesztési hibák fogalmát.
Az irodalomban a "küszöbszint" némileg eltérő megközelítése gyakoribb. Bowles pontosan a "küszöbérték" szót használja (küszöbérték), ami a kérdés biológiai oldala (vagyis az igazi neuron jellege). A szakirodalom általában használja másik kifejezést - „offset” (bias), igazoló szükségességét bevezetésével egy ilyen értéket matematikailag (feltéve, elmozdulás görbe generált képest 0, és ennek következtében nagyobb rugalmasságot funkció). Ez az ellentmondás azonban nem vezet alapvető ellentmondásokhoz a végrehajtás és a matematikai készülékek között.