1 of 80

Mesterséges neurális hálózatok

2024/25/1����

2 of 80

Motiváció

  • A mesterséges neurális hálózatok kutatásának, kifejlesztésének célja az emberi információfeldolgozás mechanizmusainak megértése és felhasználása az emberi mentális folyamatok gépi modellezésében
  • Ezen tevékenység összetevői:
    • A kognitív folyamatok alapvető figyelembevétele
    • Párhuzamos számítási egységeket tartalmazó új formájú számítási modell, mely figyelembe veszi az idegrendszerből, pszichológiából eredő követelményeket, valamint a számítási lehetőségek mélyen átgondolt adottságait
    • A megismerésre vonatkozó új koncepciók melyek áthelyezik a hangsúlyt a szimbolikus feldolgozásról azon állapotokra, melyek tükrözik az ábrázolandó ismeretek és a megalkotott működési struktúrák lehetséges konfigurációi közötti egyezés minőségét
    • A tanulás hangsúlyozása (folyamatos alkalmazkodás és tanulás köré épített mechanizmusok)

3 of 80

Mesterséges neurális hálók

  • A mesterséges neurális hálók (Artificial Neural Networks, ANN) a biológiai neurális hálók modellezésével létrehozott, erőteljes elosztott párhuzamos feldolgozást, kollektív számítást megvalósító rendszerek.
  • Mivel a tudást olyan módon hordozzák és dolgozzák fel, hogy az az ember számára közvetlenül követhetetlen, a szimbolikus tudásszemléltetést alkalmazó modellektől való megkülönböztetést a szubszimbolikus elnevezéssel is hangsúlyozzák.
  • A működésben domináló kapcsolódásokat kiemelő „konnekcionista rendszerek” elnevezés, valamint a tanulóképességre utaló „adaptív hálók” elnevezés is használatos.

4 of 80

  • Mai neurális hálók még messze állnak a teljes céltól, az emberi aggyal összemérhető szintű működéstől
  • Jelenlegi szinten iteratív numerikus algoritmusok osztályába sorolhatóak, de vannak eltérések
    • A párhuzamos feldolgozásra való alkalmasság
    • Zajos és hibás input kezelésének képessége
    • Nemlineáris numerikus számítási elemek alkalmazása
    • Elmélet analízisük hiányosságai ellenére sikeresek a gyakorlati alkalmazások

5 of 80

Mesterséges neurális hálók által megoldható feladatok

  • Statisztikai feladatok
    • Mintázatfelismerés
    • Regresszió- és sűrűségfüggvény becslés
    • Kompresszióelemzés
    • Független komponensekre való szétválasztás
  • Operációkutatás
    • Kombinatorikus optimalizálás
  • Analízis
    • Függvény-approximáció

6 of 80

A mesterséges neurális hálók fő működési jellemzői

  • Tanulás
  • Általánosítóképesség
  • Zajos és hiányos adatok elfogadása
  • Gyors működés
  • Szövevényes viszonylatok kezelése
  • Önszervezés
  • Hatalmas adatmennyiség elemzése
  • Rugalmasság

7 of 80

Hol használnak neurális hálót?�Példák

  • A New York-i Gyógyászati Központban, művégtagok mozgatásához szükséges számítások elvégzésére használtak ANN-t.
  • A NASA neurális hálót alkalmazott robotoknál a véletlenszerűen elhelyezkedő tárgyak megfogásához szükséges mozgások vezérlésére.
  • A General Dynamics egy vízalatti figyelőrendszerben alkalmazott ANN-t. Ez képes volt a vízi járművek beazonosítására a vízben terjedő hangjuk alapján. Még a vízfelszínen hullámokat kavaró helikopter felismerése sem okozott gondot.
  • A pennsylvaniai egyetemen kifejlesztett katonai repülőgép-felismerő rendszer képes volt megkülönböztetni 18 hüvelykes részleteket 50 mérföld távolságról, és repülőgépeket beazonosítani a teljes minta 10%-ának birtokában.
  • Az amerikai légierő egy ANN alapú repülésszimulátort készített pilóták kiképzéséhez.
  • A Ford autógyár ANN-t alkalmaz a motor szenzorjeleinek figyelésére és a fellépő problémák beazonosítására.
  • New York repülőterén egy ANN-en alapuló bombadetektort használnak.
  • Amazon, AliExpress ANN segítségével mutat ajánlott és kapcsolódó termékeket.
  • Tesla automata pilóta funkciója ANN segítségével ismeri fel az útburkolati jelöléseket és az akadályokat

8 of 80

Mesterséges neuron

  • Rosenblatt találta fel 1957-ben
  • A modell biológiai neuronokhoz való hasonlósága mellett érvelt
    • Sok input- dendritek
    • Egy output- axon
    • Ha az ingerek (súlyozott) összege elér egy küszöböt, a neuron tüzel, különben nem
      • A neuron kimenete bináris

9 of 80

Mesterséges neuron

  •  

10 of 80

Mesterséges neuron ábra

11 of 80

Mesterséges neuronok kapcsolata

  • Egy mesterséges neurális háló egyszerű számítási egységekből, mesterséges neuronokból áll, melyek egymásnak küldött jelekkel kommunikálnak. A jelek nagyszámú súlyozott kapcsolaton áramlanak.
  • ui a háló i. mesterséges neuronja
  • oj a j. neurontól érkező jel az ui neuron bemenetére
  • wij a j. neurontól az i. neuronba érkező jel szorzója, a uj-ui kapcsolat súlya
  • ai az ui neuron aktivációs potenciálja, melyet a bemenetek súlyozott összegéből az aggregációs függvény állít elő. Ez a függvény egyszerű esetben elmarad. Az ai aktivációs potenciál gerjesztő input híján időben csökkenhet, a gerjesztett, izgatott állapotból visszatérhet egy inaktív szintre
  • oi az aktivációs függvény által generált aktivációs potenciálból számított ui neuron kimenő jele.

12 of 80

Aktivációs függvények

  • Leggyakrabban olyan aktivációs függvényeket használunk, amelyek
    • Monoton növekvőek
    • Jobbról folytonosak
    • Határértékük a -∞-ben 0, a +∞-ben pedig 1
  • Fajtái
    • Lineáris
    • Nem-lineáris

13 of 80

Lineáris aktivációs függvény

  • Képlete:
    • oi=f(ai)=α*ai, ahol α egy valós szám
  • Ha α=1, akkor az identitás függvény
  • Monoton
  • Vannak vele problémák, mivel a deriváltja konstans, így nem annyira szokták használni

14 of 80

Küszöb aktivációs függvény

  •  

15 of 80

Szignum aktivációs függvény

  •  

16 of 80

Darabonként-lineáris aktivációs függvény

  •  

17 of 80

ReLU aktivációs függvény�Rectified linear unit

  •  

18 of 80

Leaky ReLu aktivációs függvény�Szivárgó ReLU�

  •  

19 of 80

Nem-lineáris aktivációs függvények

20 of 80

Gauss aktivációs függvény

  •  

21 of 80

Szigmoid/logisztikus aktivációs függvény

  •  

22 of 80

Swish

  •  

23 of 80

24 of 80

Tangens-hiperbolikus aktivációs függvény�(tanh)

  •  

25 of 80

Exponential linear unit aktivációs függvény�ELU

  •  

26 of 80

Hálózati topológiák

  • A hálózat topológiáján a neuronok összeköttetési rendszerét és a hálózat bemeneteinek és kimeneteinek helyét értjük.
  • A neuronokat egymáshoz kapcsolják, és a rendszer általános viselkedését ezen kapcsolatok struktúrája és erőssége (wij) adja meg.
  • A neuronokat csoportokba, vagy rétegekbe rendezik el. Az egyetlen réteget alkotó, egymással kapcsolódó neuronok hálózatát gyakran tartalom által címezhető memóriának (CAM, Content Addressable Memory) nevezik.
  • A neurális hálók eltérő működéséért elsősorban az eltérő topológia a felelős

27 of 80

  • A hálózat topológiáját általában irányított gráffal reprezentáljuk.
  • A gráf csomópontjai a neuronoknak felelnek meg, míg a kapcsolatokat a kimenetek és bemenetek között a gráf élei reprezentálják a neuron-bemenettől a kimenet felé irányítva. (Az élekhez értelemszerűen hozzárendelhetjük a megfelelő wij bemeneti súlytényezőket s

28 of 80

  • A gráf egyes csomópontjai rendszerint nincsenek az összes többi csomóponttal kapcsolatban, csupán a csomópontok egy részhalmazával.
  • Ez legtöbbször lehetőséget nyújt arra, hogy a gráf csomópontjainak − a neuronoknak − halmazát diszjunkt részhalmazokra bontsuk.
  • Ennek megfelelően háromféle neuront különböztethetünk meg:
    • Bemeneti neuron
    • Kimeneti neuron
    • Rejtett neuron

29 of 80

Neuronok fajtái

  • Bemeneti neuron:
    • Típusukban is különböznek a többi neurontól
    • Egybemenetű
    • Egykimenetű
    • buffer jellegű
    • Jelfeldolgozó, processzáló feladatuk nincs
    • Bemenetük a hálózat bemenete
    • Kimenetük más neuronok meghajtására szolgál
  • Kimeneti neuron:
    • Kimenete a környezet felé továbbítja a kívánt információt
    • Típusukra nézve nem feltétlenül különböznek a többi neurontól
  • Rejtett (hidden) neuron:
    • Bemeneteikkel és kimenetükkel kizárólag más neuronokhoz kapcsolódnak

30 of 80

  • Neuronokat sok esetben rétegekbe (layers) szervezzük
    • egy rétegbe hasonló típusú neuronok tartoznak
    • Ezen neuronoknak a kapcsolataik is hasonlók
  • Az azonos rétegbe tartozó neuronok mindegyikének
    • bemenetei a teljes hálózat bemenetei
    • Egy másik réteg neuronjainak kimeneteihez kapcsolódnak, kimenetei pedig ugyancsak egy másik réteg neuronjainak bemeneteit képezik
    • a teljes hálózat kimeneteit alkotják.
  • Ennek megfelelően beszélhetünk
    • bemeneti rétegről (input layer)
    • rejtett réteg(ek)ről (hidden layer(s))
    • kimeneti rétegről (output layer).

31 of 80

  • A bemeneti réteg
    • buffer jellegű neuronokból épül fel
    • információfeldolgozást nem végez
    • feladata csupán a háló bemeneteinek a következő réteg bemeneteihez való eljuttatása
  • Ennek megfelelően egy rétegekbe szervezett háló legalább két réteggel, egy bemeneti és egy kimeneti réteggel kell rendelkezzen.
  • E két réteg között elvben tetszőleges számú rejtett réteg helyezkedhet el.
  • A neuronhálókat az egyes neuronok közötti összeköttetési rendszer alapján két fő csoportba sorolhatjuk:
    • előrecsatolt hálózatok (feedforward networks)
    • visszacsatolt hálózatok(recurrent networks).

32 of 80

Előrecsatolt hálózatok

  • Működése nem időfüggő
  • A jelek áthaladnak a hálón a bemeneti réteg irányából a kimeneti réteg felé
  • A rejtett rétegek száma alapján van:
    • Egyrétegű (single layer)- száma 0
    • Többrétegű (multilayer)- száma 1+
  • A kimenet függ:
    • A bemenettől
    • A neuronok aktivációs jellemzőitől
    • Súlymátrixtól

33 of 80

Hátracsatolt/Visszacsatolt hálózatok�

  • Visszacsatoltnak nevezünk egy neurális hálót, ha a topológiáját reprezentáló irányított gráf tartalmaz hurkot, egyébként a neurális háló előrecsatolt
  • Visszacsatolás fajtái:
    • Globális: a hálózat kimenetét csatoljuk vissza a bemenetére
    • Lokális
      • Elemei visszacsatolás: ha egy réteg neuronjának kimenete közvetlenül egyik saját bemenetére van visszacsatolva
      • Laterális: valamely réteg(ek) neuronjainak kimenetei ugyanazon réteg neuronjainak bemeneteire kapcsolódnak, de nem értjük ide a neuron önmagára való visszacsatolását
      • Rétegközi visszacsatolás: több réteget tartalmazó hurkot hoznak létre a gráfon

34 of 80

35 of 80

  • A bemenet ráadása egy, általában konvergens folyamatot indít el, amelyben a jelek előrefelé és visszafelé is haladnak
  • A t. időpillanatban számított jelek megjelenhetnek a korábbi rétegek bemenetén a t+1. időpillanatban
  • A konvergencia végén a jelek értéke állandósul, ekkor leolvashatjuk a kimenő rétegen a kimenet értéket
  • A hátracsatolt hálók néhány jellemzője:
    • Lehetnek konvergensek egy stabil állapot felé, vagy instabilak, oszcillálóak
    • A konvergencia, a stabil állapot elérése hosszabb időt igényelhet
    • Nehezebben taníthatóak és bonyolultabb matematikai apparátussal írhatóak le
    • Rendelkezhetnek belső állapottal

36 of 80

Biológiai rendszer

Matematikai modell

Gondolkodás

Idegsejtek

Mesterséges neuron

Hipotézis

Kisülés frekvenciája

Aktiválás

Bizonyosság szintje

Depolarizáció szétterjedése

Aktiváltság szétterjedése

A bizonyosság továbbterjesztése: következtetés

Szinaptikus érintkezés

Kapcsolat

Gondolati-következtetési viszonylatok

Gerjesztés/tiltás

Pozitív/negatív súly

Pozitív/negatív következtetési reláció

A depolarizáció közelítő összegződése

Inputok összegzése

A bizonyosság közelítő összegződése

Kisülési küszöb

Aktiválás továbbítási küszöbje

Függetlenség az irreleváns információtól

Korlátozott dinamika tartomány

Szigmoid aktivációs függvény

A feldolgozás erősségének korlátozott tartománya

Megfeleltetések a biológiai rendszer, a neurális háló matematikai modellje és a gondolkodás tevékenységei között

37 of 80

Hálózati topológia választása

  • A hálózati struktúra változtatható paraméterei kihatnak a működésre
  • A hálók bemeneti és kimeneti neuronjainak a számát a neuronhálóval megoldani kívánt feladat egyértelműen meghatározza.
  • A belső rétegek száma és a bennük lévő neuronok száma azonban szabadabban választható meg.
  • Túl kevés neuron kevés minta tárolását teszi lehetővé és meghiúsíthatja a betanulást.
  • Túl sok neuron esetén a háló�betanul, de a korábban nem �látott inputokra a háló rosszul �válaszol, adatbázisszerűen �működik.

38 of 80

  • Egy rejtett réteggel rendelkező hálók bármely folytonos függvény megtanulására képesek
  • Két rejtett réteggel rendelkező hálók minden függvényt képesek approximálni, bár ezt az elvi lehetőséget a bemenetek számától exponenciálisan függő belső rétegbeli elemszám rontja.

39 of 80

Hálózat neuronjainak száma

  • A hálózat neuronjai számának betanulás során való megállapítására két alapvető módszer létezik:

  1. Optimális agykárosítás modell
    • Teljes kapcsolati hálóval indul
    • A betanítás egyes lépéseiben a közel nulla értékű súlyokat elhagyjuk
    • Ha az így lecsökkent kapcsolatrendszerű háló továbbra is jól szerepel, akkor az elhagyás véglegesítődik, és megismétlődik a művelet
    • A sok kapcsolat kiesése mellett neuronok is kiesnek

40 of 80

  1. Hálónövesztő algoritmusok
    • A betanítási folyamat közben adnak hozzá újabb neuronokat és kapcsolataikat a hálóhoz
    • A hozzáadás függhet:
      • A hibaminimumra törekvő háló esetén a hibafüggvény csökkenésének meredekségétől
      • A csempéző algoritmus esetében a beválasztott új neuronok teljesítményétől
    • Az algoritmus azzal a neuronnal indít, amelyre a legtöbb minta a legtöbb kimenetet adja
    • A következő hozzáadandó neuront hasonlóan választja
    • Addig folytatja, míg az összes mintára kielégítő nem lesz a válasz

41 of 80

McCulloch – Pitts-neuron (MP neuron)

  • Mesterséges neuron első számítási modellje (1943)
  • Az akkori neurobiológiai eredményeken alapul, melynek előfeltevései:
    • a neuron "minden - vagy semmi" alapon működik
    • bizonyos adott számú szinapszisnak kell lennie gerjesztve az összegzési időben azért, hogy a neuron egyáltalán kisüljön és ez a szám független a neuron megelőző aktivitásától és állapotától
    • az egyetlen jelentős késleltetés az idegrendszerben a szinaptikus késleltetés
    • bármely tiltó szinapszis aktivitása egyedül elegendő a neuron gerjesztésének megakadályozásához
    • a hálózat struktúrája időben nem változik
  • A cél az ideghálózat olyan matematikai modelljének létrehozása volt, amely biológiailag pontos és magasszintű kognitív képességeket mutat.

42 of 80

  •  

43 of 80

Rosenblatt perceptron

  • Az első, és legegyszerűbb mesterséges neurális hálózat
  • Képes arra megfelelő beállítás/betanulás után, hogy két lineárisan szeparálható bemeneti mintahalmazt szétválasszon
    • Kétosztályos esetekben lineáris osztályozási feladatok ellátására alkalmas
  • A későbbiekben továbbfejlesztették több-elemű, illetve többrétegű hálózatokká, amelyek képességei az egyszerű perceptront messze felülmúlják
  • Lineáris kombinációt megvalósító hálózat, amelynek a kiementén egy küszöbfüggvény-nemlinearitás szerepel, vagyis valójában egyetlen memória nélküli processzáló elem

44 of 80

  •  

45 of 80

Perceptron jellemzők

  • A látást, a retinát modellezte
  • A retina-modell mátrix alakban elrendezett fényszenzorai képezték az inputot
  • A szenzorkimeneteket mesterséges neuronok szoportjába vezették, mely csoport elemi különböző mintákat ismertek fel
  • Az output réteg neuronja addig tüzel, amíg egy adott gerjesztési szint, azaz egy adott típusú inputmintázat nem jelentkezik
  • Azon a megfigyelésen alapszik, hogy a hasonló összetettségű alakzatok közül egyesek könnyebben megtanulhatók és felidézhetők, mint mások
  • Működik folyamatos értékű és bináris inputtal egyaránt

46 of 80

Perceptron tanulása

  • A tanítás során a megfelelő elválasztó felület meghatározása a cél, vagyis azon w súlyvektor meghatározása, kialakítása, amely mellett az egyik osztálybeli bemeneti adatokra a lineáris kombináció eredménye pozitív, míg a másik osztálybeli pontokra negatív.
  • Az elválasztó felület a bemeneti mintatérben egy, az origón átmenő, a súlyvektorra (w) merőleges sík (hipersík)
    • Ha nem választhatóak szét lineáris felülettel, akkor semmilyen tanító eljárással sem kaphatunk olyan hálózatot, amely az osztályozási feladatot tökéletesen megoldja

47 of 80

  •  

48 of 80

Widrow-Hoff delta szabály a perceptron vonatkozásában

  •  

49 of 80

Perceptron hibája

  •  

50 of 80

51 of 80

Adaline (Adaptive Linear Neuron)

  • Lényegében ugyanaz a felépítése, mint a perceptronnak
    • Alapvető különbség a hiba értelmezésében és a háló tanításában van
    • Míg a perceptronnál a hálózat tényleges kimenetét hasonlítjuk össze a kívánt válasszal, addig az adaline-nál a lineáris kombináció eredményét, tehát a lineáris hálózatrész kimenetét vetjük össze egy kívánt jellel
    • A hálózat tényleges kimenete azonban itt is egy küszöbfüggvény nemlinearitás után kapható
  • Mivel a hiba szempontjából a lineáris kimenetet tekintjük az adaline kimenetének, a kimenet a paraméterek lineáris függvénye és négyzetes hiba esetén a kritériumfüggvény kvadratikus felületet jelent

52 of 80

Többrétegű perceptron (Multilayer Perceptron MLP)

  • Teljesen összekötött (fully connected) neurális háló, amely bővebb értelemben bármely előrecsatolt neurális hálót jelent, szűkebb értelemben több rétegbe szervezett perceptronokat (küszöb aktivációs függvénnyel)
  • Célja a lineárisan szeparálhatatlan inputok megkülönböztethetőségének elérése
  • Megoldása:
    • Perceptron kettő, vagy több rétegben
  • Az első réteg neuronjai alkalmasak az inputminta kisebb, egyenessel elszeparálható részeinek megkülönböztetésére, a második réteg neuronjai pedig alkalmasak az első réteg neuronjaitől jövő kétféle osztályba tartozó jelek megkülönböztetésére

53 of 80

  • Az u1 neuron észleli a (0,1) bemenetet, az u2 pedig az (1,0) bemenet esetén ad 1-et.
  • Az u3 neuronnak csak egy vagy függvényt kell realizálnia
  • Jelen formában a háló nem képes tanulni, a súlyok csak megadással állíthatóak be

54 of 80

Többrétegű perceptron tanulási hibája

  • Oka: a lépcsős átviteli függvény
  • Emiatt a második rétegre nem jut el információ a bemenetek tényleges értékéről
  • Mivel a tanulás megfelel az aktív inputok és az aktív neuronok közötti kapcsolat erősítésének, lehetetlen a háló megfelelő részét erősíteni, mivel az aktuális inputok el vannak vágva az outputtól a közbenső réteg által
  • A kétállapotú neuron, lévén tüzel vagy nem tüzel állapotban, nem ad semmi jelzést a súlyok módosításának mértékéről
  • A küszöbhöz közeli, a neuront éppen csak tüzelésre késztető inputok súlyait nem kellene ugyanolyan mértékben módosítani, mint azokét, amelyek hatására a neuron aktiváltsága messze esik a küszöbtől
  • Megoldása: A küszöb közelében átmenettel bíró átviteli függvényt alkalmazzunk
  • Tanítására új tanulási szabályok: általánosított delta szabály vagy hibavisszaterjesztés (backpropagation)

55 of 80

Neurális hálók betanítása

  • A neurális hálók betanítása szokás szerint nagymennyiségű adat formájában adott betanító minták alapján történik. A neurális hálók ereje a modell-mentes közelítő képességükben rejlik:
  • Megadva egy véges méretű, időfüggetlen determinisztikus rendszert, melyből az input-output mintapárok származtathatók, mindig létezik egy mesterséges neurális háló, mely be tudja állítani úgy a saját paramétereit, hogy utánozni képes a rendszert input-output szempontból.

(Rumelhart és McClelland, 1986)

56 of 80

Neurális hálók tanulási módszerei

  • A tanulást úgy definiáljuk, mint a hálózat memóriájának, azaz a súlymátrixnak a változását
  • Fajtái:
    • Felügyelt tanulás (supervised learning)
    • Felügyelet nélküli tanulás (unsupervised learning)

  • Felügyelt tanulás: külső tanárt, ill. globális információt igényel, fő fajtái:
    • Hiba-javító tanulás (error correction)
    • Megerősítő tanulás (reinforcement learning)
    • Sztochasztikus tanulás (stochastic learning)

57 of 80

Felügyelt tanulás

  • Adott egy rendszer, mely a bemenetei és a kimenetei között valamilyen g() leképezést valósít meg
  • A leképezés nem ismert, viszont rendelkezésünkre áll egy {zj} = {xi,di} (1<=i<=l) mintapont-készlet, melynél az összetartozó bemeneti és kimeneti értékek közötti kapcsolatot az ismeretlen leképezés adja meg
  • A mintakészlet elemei, a mintapontok általában többdimenziós vektorok, melyek a mintatérben helyezkednek el
  • A tanulási feladat az, hogy egy f(x,w) paraméteres függvényhalmazból válasszunk egy olyan függvényt olyan módon, hogy az xi bemenetre a kiválasztott függvény yi=f(xi,w) válasza valamilyen értelemben a lehető legjobban közelítse az ismeretlen leképezés azonos bemenetre adott di válaszát (desired response), ahol w ϵ W a függvényhalmaz paramétere és W a paramétertér
  • A függvényhalmaz szabad paramétereit tartalmazó w vektort a W paramétertér megfelelő pontjaként a rendelkezésre álló mintapontok alapján kell megválasztani vagy meghatározni

58 of 80

  • A {xi,di} (1<=i<=l) mintapont-készletet tanító készletnek vagy tanító mintakészletnek (training set) nevezzük
  • Az eljárást, mely során a tanító mintakészlet felhasználásával az f(x,w) leképezést kialakítjuk, tanulásnak (learning) nevezzük
  • A tanulási eljárás célja tehát egy valamilyen értelemben optimális w* paraméter meghatározása a tanító mintakészlet alapján
  • Tipikus feladatai az osztályozás és a regresszió
  • Amennyiben az f(x,w) leképezést egy neuronháló valósítja meg, a függvénykészlet megválasztása a neuronháló típusának és architektúrájának megválasztásával történik, míg a tanítás valójában a w paramétervektor meghatározását, becslését szolgálja
    • Ebben az értelemben a tanulás egy paraméterbecslési eljárás

59 of 80

Minősítés, hibamérték

  • A legjobb approximációt biztosító függvény meghatározásához az approximáció minőségét jellemző mértékre van szükség
  • Ez a mérték a hibafüggvény (error function) felhasználásával határozható meg, amit költségfüggvénynek (cost function) vagy veszteségfüggvénynek (loss function) is szokás nevezni
  • A veszteségfüggvény, továbbiakban L(d,f(x,w)), mind a háló válaszának, f(x,w)-nek, mind a rendelkezésre álló d(x) kívánt válasznak a függvénye
  • Leggyakrabban az approximáció ε(x,w) hibájának a függvénye, ahol a hibát a kívánt válasz és a tényleges válasz különbségeként definiálhatjuk
    • ε(x,w) = d(x) - f(x,w)

60 of 80

  • A tanuló rendszer konstrukciója- akár osztályozási, akár regressziós probléma megoldására irányul- véges számú tanító mintapont alapján történik
  • A tanuló eljárás célja azonban általában nem az, hogy a véges számú tanítópontban kapjunk megfelelő válaszokat, hanem egy olyan leképezés megtanulása, amely a tanítópontok által reprezentált bemenet-kimenet kapcsolatot is megadja
  • A tanuló rendszer tehát általánosítóképességgel kell rendelkezzen:
    • Olyan esetekben is jó választ kell adjon, mely esetek nem szerepelnek a tanítópontok között
    • Ez adja a tanulás nehézségét
    • Véges számú tanítópont alapján kell egy problémáról „általános tudást” szerezni

61 of 80

Felügyelt tanulási módszerek

  • hiba-javító tanulás (error correction)
    • Rendelkezésre állnak mintapárok, összetartozó be- és kimeneti értékek
    • A háló feladata megtanulni a leképezést
    • A hálózat válasza mindig összehasonlítható a kívánt válasszal
    • Célja, hogy hálózat tényleges viselkedése és a kívánt viselkedés közötti eltérés csökkenjen
    • Általában iteratív eljárással, a környezetből származó ismeret fokozatos felhasználásával, a tanítópontok egyenkénti vagy esetenként többszöri, ismételt felhasználásával történik
    • Az output réteg egyes neuronjainál vizsgált - az elvárt és a valós értékek különbözeteként adódó – értékek alapján a súlymátrix kapcsolatait módosítja
  • megerősítő tanulás (reinforcement learning):
    • Nem áll rendelkezésre az elvárt kimenet
    • Csak arról van információ, hogy az adott bemenetre a hálózat értéke helyes vagy hibás
    • A módosítás mértékének meghatározására ez nem elegendő
    • Megfelelően végrehajtott akcióknál a súlyok megerősödnek, egyébként gyöngülnek, az akció jóságát az outputvektorból képezett skalár mutatja
    • Hasznos, ha egy bemenetre nem csak egy jó választ adhat+

62 of 80

  • sztochasztikus tanulás (stochastic learning):
    • a súlymátrix random változtatása után meghatározza a hálózat ún. energiaértékét.
    • Ha a változás hatására az energia csökkent, akkor a változást elfogadja, egyébként pedig csak akkor, ha a változás megfelel egy előreválasztott valószínűségi eloszlásnak.
    • Ez a véletlen elfogadása a változásnak, mely időszakosan ronthatja a rendszer működését, jóságát, lehetővé teszi, hogy kikerüljön a lokális energiaminimum völgyekből, miközben az optimális állapotot keresi.

63 of 80

Felügyelet nélküli tanulás

  • Nem igényel külső tanítót, lokális információn és belső kontrollstratégián alapszik
  • Cimkézetlen tanítópontjaink vannak, így egy előírt viselkedés megtanulása fel sem merül
  • A hálózatnak a bemenetei és a kimenetei alapján, de kívánt válaszok ismerete nélkül kell valamilyen viselkedést kialakítani, a környezetből azonban nincs közvetlen visszajelzés, ami a hálózat viselkedésének a helyességére utalna
  • Vizsgáljuk, hogy a mintapontok terében vannak-e olyan tartományok, ahol a mintáink sűrűsödnek, lehet-e a mintatérben csoportokat, klasztereket találni
  • Azt próbálja felderíteni, hogy az adataink egyáltalán hordoznak-e valamilyen információt
    • Ha igen, akkor azt valamilyen módon meg akarjuk ragadni, ki akarjuk nyerni az adatokból
  • Tipikus feladat a sűrűségfüggvénybecslés és a klaszterezés

64 of 80

  • Feladatként megfogalmazható az is, hogy sokdimenziós térben vannak-e kitüntetett „irányok”, melyek az adatok reprezentálásánál elsődlegesen fontosak, míg más irányok szerepe kisebb, esetleg elhanyagolható
  • Az ilyen típusú feladatok az adatok hatékony közelítő reprezentációjára is irányulhatnak
  • A felügyelet nélküli tanulási eljárásokat sokszor adatelőkészítésre, az adatok előfeldolgozására használjuk, mielőtt egy felügyelt tanulással megoldható feladatot oldanánk meg
    • Ilyenkor a felügyelet nélküli tanulás bizonyos, a későbbi feldolgozást elősegítő lényeges információk kiemelésére, lényegkiemelésre, jellemzőkinyerésre (feature extraction) szolgál

65 of 80

Kritériumfüggvények

  • A felügyelet nélküli tanulás során is megfogalmazhatóak kritérimfüggvények
  • A felügyelet nélküli tanulás is interpretálható olyan feladatként (pl. szélsőérték-keresési feladatként), ahol valamilyen kritérium kielégítése a cél
  • Leggyakoribbak:
    • az adatok eloszlásával kapcsolatos kritérium,
    • az adatok egymáshoz viszonyított elhelyezkedésével kapcsolatos kritérium,
    • az adatkomponensek közötti korrelációval kapcsolatos kritérium,
    • de akár négyzetes kritériumfüggvények
  • Sokszor információelméleti fogalmakhoz kapcsolódnak:
    • Entrópia (olyan adatreprezentációt keresünk, ahol az entrópia valamilyen extrémum értéket vesz fel)
    • Kölcsönös információ (az adatok statisztikai függetlenségét szeretnénk biztosítani)
    • Kullback-Leibler divergencia (olyan tanuló eljárásnál, ahol két sűrűségfüggvény hasonlósága alapján történik a tanulás)

66 of 80

Tanulási alapelvek

  •  

67 of 80

Gradiens-alapú csökkentés módszer (gradient descent)

  • Véletlenszerű súlyértékekből indul ki
  • A súlyokat apró lépéseket ismételgetve változtatja
  • A lépés mérete fontos paraméter lesz („learning rate”)
  • Az optimális lépés irányát a hibafüggvény deriváltja alapján tippeli meg
  • De ez csak tipp, nem garantált, hogy a hiba minden lépésben csökkenni fog, illetve az eljárás előbb-utóbb elakad

68 of 80

Derivált számítása egyetlen neuron esetén

  • Egyetlen (sigmoid aktivációs) neuron MSE hibafüggvénye:

  • Ezeket egymásba ágyazva kapjuk meg, hogyan függ E(w) egy konkrét wj-től
  • Deriválás: ezek deriváltjai láncszabállyal összerakva

  • Súlyok frissítése minden lépésben:
    • Ahol η egy kis pozitív kontans („learn rate”)

69 of 80

Back-propagation/visszafelé terjesztés

  • A delta szabály variációja.
  • A többrétegű előrecsatolt háló súlyait oly módon állítja be, hogy a számított kimenet és az elvárt kimenet eltérését felhasználva a kapcsolati súlyokat olyan irányba módosítja kismértékben, hogy az input következő bemutatásakor az eltérés csökkenjen.
  • Több kimenő neuron, többrétegű hálózat esetén a MSE hiba

  • A deriváláskor ugyanúgy a láncszabályt kell alkalmazni, de több lépésen keresztül, a deriváltat rétegről rétegre visszafelé „propagálva” (a felső neuronok bemenete nem x, hanem az alatta levő réteg kimenete))

70 of 80

  • A deriváltat először levezetjük a kimeneti rétegre
  • Majd rétegről rétegre terjesztjük vissza az alsóbb rétegekre

  • Adott rejtett neuron hibája az ő kimenetét felhasználó neuronok hibájának súlyozott összegével arányos
    • Ahol a súlyok megegyeznek az adott kapcsolat súlyával

71 of 80

Back propagation

  • Tehát fő lépései:
    • Az inputtól az output felé haladva kiszámoljuk az egyes neuronok kimeneteit a tanítópéldákon keresztül
      • A hibafüggvényhez kell tudnunk a kimeneteket
    • Az outputtól az input felé haladva kiszámoljuk az egyes neuronok hibáit
    • Frissítjük a súlyokat:

  • A hiba-visszaterjesztés megengedi a ritka hálózatot, vagy a rétegek közötti ugrást tartalmazó hálózatot is.
  • Az egyetlen lényeges megkötés a hálózati struktúrára, hogy ne legyen visszacsatolás (kör)
    • Ha nincs, akkor topológiai rendezés sorrendjében lehet frissíteni
    • Ha van, akkor visszacsatolt hálózatot kapunk, ezek tanítása jóval komplikáltabb

72 of 80

Neurális háló modellek jellemzői

  • Adaptivitás: változó feltételeknek megfelelő válaszok adásának képessége. Részei:
    • Tanulás: alapvetően egyidőben jelentkező dolgok társítása.
    • Önszervezés: amikor a háló módosítja a neuronjait egy tanulási szabálynak megfelelően. Rendszerint az inputokra adott szinaptikus súlyváltozásokat jelenti.
    • Általánosítás: az a képesség, hogy korábban soha nem hallott kérdést is meg tud válaszolni a hasonló, vagy kapcsolódó információk alapján.
    • Gyakorlás: a tanultak elmélyítése.
  • Rugalmasság: egy neuroncsoport azon képessége, hogy időben különféle igényekhez tudjon alkalmazkodni. Ha egyes neuronok sérülnek, mások átveszik a szerepüket.
  • Dinamikus stabilitás: a hálózat azon képessége, hogy megmaradjon a működési keretei között és elérjen egy stabil állapotot, extrém input mellett is.
  • Konvergencia: stabil állapotba való jutás képessége.
  • Hibatűrés: az a képesség, hogy néhány neuron sérülése esetén is tovább tudjon működni, habár csökkent pontossággal, vagy sebességgel.
  • Normalizálás: a súlyoknak egy előírt tartományon belül való tartása.

73 of 80

Neurális hálót definiáló összetevők

  • hálózati topológia
  • a háló mérete (a rétegek száma, a rétegenkénti neuronok száma)
  • a működési jellemzők (a neuron input operátora, átviteli függvénye és a diszkrimináló függvénye)
  • a tanulási eljárás (tanulási algoritmus, tanulási paraméterek, soros/batch aktualizálás, stb.)
  • betanítás/érvényesítés (a betanítás mérete, minősége, adatformátuma, stb.)
  • implementálás/realizálás (analóg, diszkrét, szoftveres, stb.)

74 of 80

Tervezési szempontok

  • Biológiai rendszert akarunk emulálni ? Szükséges-e utánozni a neuron kisülési függvényét (aktivációs függvényét) ?
  • Milyenek a sebességgel kapcsolatos elvárások ? Végbe tud-e menni valósidőben a tanulás és a döntéshozatal ?
  • Szükséges-e, hogy a neuron működési jellemzői invertálható, monoton, vagy folytonos tulajdonságúak legyenek ?
  • Milyen természetű kapcsolati súlyokat alkalmazunk ? Binárisak, folytonos, vagy diszkrét értékűek lesznek-e ?
  • Milyen típusú kimenetre van szükségünk ?

75 of 80

Előrecsatolt neurális hálókat minősítő jellemzők

  • Kifejezőképesség (expressiveness): függvények reprezentálására ideálisak, de az optimális neuronszám eltalálása művészet, nagy gyakorlatot kíván.
  • Számítási hatékonyság (computational efficiency): valójában egy adott mintafájl betanulásának számításigénye. Kedvezőtlen esetben a bemenetek számának exponenciális függvénye lehet. Problémát jelentenek a hibafelület lokális minimumai, melyek ellen alkalmazható a szimulált hűtés módszere.
  • Általánosító képesség (generalization): egyes függvénycsaládok megtanulására és interpolálására alkalmasabbak. Ezek azok, amelyeknél a bemenetek függetlenek egymástól, nincsenek összetett függőségek. Jó, ha a kimenet függvénye sima felület.
  • Zajérzékenység (sensitivity to noise): zajtűrésük annak köszönhető, hogy nemlineáris regresszióval írják le az outputfüggvényt.
  • Átláthatóság (transparency): nem képes magyarázatadásra, döntésindoklásra, ezért megnő a szerepe a tesztadatokkal való helyességellenőrzésnek. Gyakorlatilag azonban egy fekete doboz.
  • Megelőző ismeret (prior knowledge): Kellő gyakorlat esetén a problémára vonatkozó előzetes ismeret segíthet a háló eredményes topológiájának kialakításában. Inkább heurisztikák ezek, mit matematikailag alátámasztott módszerek.

76 of 80

Neurális hálók teljesítményének fejlesztői szempontjai

  • Képesség. Milyen feladatot tud a háló elvégezni ? Rendelkezésre áll-e elegendő adat a probléma megoldásának előállításához ? Rendelkezik-e a háló a szükséges számítási teljesítménnyel a feladat megoldásához ?
  • Kapacitás. Mennyi ismeret tárolható a hálóban ?
  • Tanulékonyság. Milyen típusú problémákat képes megtanulni? Újra lehete a hálót tervezni, vagy az ismeretszemléltetést megváltoztatni abból a célból, hogy a feladat megtanulható legyen ?
  • Ismeretszemléltetés. Hogyan tárolja a háló az ismeretet? Hogyan hat ki az ismeret szemléltetési módja a szerkezetre, kapacitásra, képességre, tanulékonyságra ?
  • Ismeretkinyerés. Hogyan használja az ismeretet a világ modelljének előállítására ? Megérthető módon van-e tárolva az ismeret ? Hogyan hat a belső ismeretszemléltetés a tudáskinyerésre ?
  • A háló megtervezése. Hogyan kellene megtervezni a hálót, hogy specifikus műveleteket tudjon végrehajtani ? Milyen topológia, neuronműködés szükséges ?
  • Kredit hozzárendelés. Adott a változó súlyok egy létező halmaza, valamint a betanító adatok, hogyan rendeljünk értéket minden egyes súlyhoz a betanítás időszaka alatt a korrekt válasz elérése érdekében ?

77 of 80

A mesterséges neurális hálók mechanizmusai

  • versenyző (kompetetiv) mechanizmus :
    • az azonos rétegben lévő neuronok versenyeznek egymással lecsökkentve egymás aktivációs szintjét, hogy csak egy nyerjen
  • együttműködési (kooperativ) mechanizmus:
    • az azonos rétegben lévő neuronok erősítik egymás aktivációs szintjét, hogy együtt nyerjenek
  • normalizációs mechanizmus, vagy skálázás:
    • a háló az azonos csoportba tartozó neuronok súlyait úgy próbálja beállítani, hogy azok aktivációs szintje soha ne telítődjön, ill. soha ne tüzeljenek.

78 of 80

Betanításnál figyelembe veendő szempontok

  • Hatékonyság. Mekkora betanító adattömeg szükséges a működési teljesítmény egy adott szintjének eléréséhez ?
  • A tanulás hatékonysága. Mennyi időt vesz igénybe a betanítás a kívánt súlyok eléréséhez?
  • Komplexitás. Hogyan változik a betanítás időszükséglete, ha a feladat szintje növekszik ?
  • Általánosítás. Mikor végzi jól egy osztályozó háló az általánosítást ?
  • Alakíthatóság. Lehet-e új elemeket, osztályokat, vagy viselkedést adni a hálóhoz anélkül, hogy lerontanánk az aktuális teljesítményt ?
  • Érzékenység. Érzéketlen-e a háló a lényeget nem érintő inputváltozásokra ? Hogyan érhető el ez az érzéketlenség ?
  • Alkalmazkodóképesség. Hogyan befolyásolja a belső ismeretszemléltetési mód a betanítási időt ?

79 of 80

Neurális hálók teljesítményének összetevői

  • A különféle neurális háló elméletek kiértékelésére és összehasonlítására nem létezik tiszta mérőszám.
  • A következő összetevőket kell vizsgálni egy teljesítményösszevetésnél:
    • Hullámszélesség. Mennyi idobe telik, amíg az output megnyugszik és eléri a kívánt megoldást?
    • Pontosság. Milyen pontos a megoldás ?
    • Méret. Hogyan függ a hálózat teljesítménye és kapacitása a háló méretétől ?
    • Robosztusság. Mennyire érzékeny a megoldás a komponensek pontatlanságaira ?

80 of 80

    • Hibatűrés. Mennyire viseli el a háló az egyes komponensek meghibásodását ?
    • Hordozhatóság. Mennyire könnyen telepíthető a háló különféle hardverekre ?
    • Stabilitás. Stabil-e a háló működése ?
    • Szeparálhatóság. Mennyire befolyásolja a teljesítményt a belső ismeretszemléltetés ?
    • Memóriakapacitás (a tárolható minták száma)
    • Zajos input tűrése
    • Hamis memóriaállapotok elkerülése
    • Térbeli, vagy időbeli minták alkalmazása.