Bevezetés a neurális számításokba Analóg processzortömbök,

Hasonló dokumentumok
Intelligens Rendszerek Gyakorlata. Neurális hálózatok I.

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók. Pataki Béla

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

Mesterséges neurális hálózatok II. - A felügyelt tanítás paraméterei, gyorsító megoldásai - Versengéses tanulás

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Intelligens Rendszerek Elmélete

Intelligens orvosi műszerek VIMIA023

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

TARTALOMJEGYZÉK. TARTALOMJEGYZÉK...vii ELŐSZÓ... xiii BEVEZETÉS A lágy számításról A könyv célkitűzése és felépítése...

Neurális hálózatok bemutató

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Tanulás tanuló gépek tanuló algoritmusok mesterséges neurális hálózatok

Neurális hálózatok.... a gyakorlatban

Dinamikus modellek szerkezete, SDG modellek

I. LABOR -Mesterséges neuron

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Gépi tanulás a gyakorlatban. Lineáris regresszió

Kovács Ernő 1, Füvesi Viktor 2

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Számítógépes döntéstámogatás. Genetikus algoritmusok

E x μ x μ K I. és 1. osztály. pontokként), valamint a bayesi döntést megvalósító szeparáló görbét (kék egyenes)

Hibadetektáló rendszer légtechnikai berendezések számára

NEURÁLIS HÁLÓZATOK 1. eloadás 1

II. LABOR Tanulás, Perceptron, Adaline

Irányításelmélet és technika II.

Adatbányászati szemelvények MapReduce környezetben

Irányításelmélet és technika II.

Intelligens Rendszerek Elmélete

15. LINEÁRIS EGYENLETRENDSZEREK

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

FELÜGYELT ÉS MEGERŐSÍTÉSES TANULÓ RENDSZEREK FEJLESZTÉSE

A szimplex algoritmus

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Visszacsatolt (mély) neurális hálózatok

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Tanulás az idegrendszerben

Nemlineáris programozás 2.

Algoritmusok Tervezése. Fuzzy rendszerek Dr. Bécsi Tamás

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

Egyenletek, egyenlőtlenségek, egyenletrendszerek I.

Debreceni Egyetem Informatikai Kar. Fazekas István. Neurális hálózatok

Fuzzy rendszerek és neurális hálózatok alkalmazása a diagnosztikában

[1000 ; 0] 7 [1000 ; 3000]

Modellezés és szimuláció. Szatmári József SZTE Természeti Földrajzi és Geoinformatikai Tanszék

Modellek és Algoritmusok - 2.ZH Elmélet

Lineáris algebra gyakorlat

Hidraulikus hálózatok robusztusságának növelése

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Konjugált gradiens módszer

Lineáris regressziós modellek 1

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

Gépi tanulás. Hány tanítómintára van szükség? VKH. Pataki Béla (Bolgár Bence)

Kétváltozós függvények differenciálszámítása

Tisztelt Hallgatók! Jó tanulást kívánok, üdvözlettel: Kutor László

Forgalmi modellezés BMEKOKUM209

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Szinguláris értékek. Wettl Ferenc április 3. Wettl Ferenc Szinguláris értékek április 3. 1 / 28

A digitális analóg és az analóg digitális átalakító áramkör

Digitális jelfeldolgozás

Gépi tanulás a Rapidminer programmal. Stubendek Attila

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Megerősítéses tanulás 9. előadás

KONVOLÚCIÓS NEURONHÁLÓK. A tananyag az EFOP pályázat támogatásával készült.

Számítógépes döntéstámogatás. Döntések fuzzy környezetben Közelítő következtetések

7. Laboratóriumi gyakorlat KIS ELMOZDULÁSOK MÉRÉSE KAPACITÍV ÉS INDUKTÍV MÓDSZERREL

2012. október 2 és 4. Dr. Vincze Szilvia

Mérési struktúrák

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Figyelem, próbálja önállóan megoldani, csak ellenőrzésre használja a következő oldalak megoldásait!

Passzív és aktív aluláteresztő szűrők

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet

Vektorok, mátrixok, lineáris egyenletrendszerek

Hobbi Elektronika. A digitális elektronika alapjai: További logikai műveletek

10. gyakorlat Struktúrák, uniók, típusdefiníciók

Teljesen elosztott adatbányászat pletyka algoritmusokkal. Jelasity Márk Ormándi Róbert, Hegedűs István

Függvények Megoldások

Monte Carlo módszerek a statisztikus fizikában. Az Ising modell. 8. előadás

Egyszerű programozási tételek

Gauss-Seidel iteráció

SZÉCHENYI ISTVÁN EGYETEM MŰSZAKI TUDOMÁNYI KAR RENDSZERELEMZÉS I.

Gépi tanulás a gyakorlatban. Bevezetés

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Irányításelmélet és technika I.

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal

9. Laboratóriumi gyakorlat NYOMÁSÉRZÉKELŐK

Statisztikai eljárások a mintafelismerésben és a gépi tanulásban

Követelmény a 7. évfolyamon félévkor matematikából

Robotok inverz geometriája

Problémás regressziók

Kalkulus 2., Matematika BSc 1. Házi feladat

Logaritmikus erősítő tanulmányozása

Átírás:

Pannon Egyetem Villamosmérnöki és Információs Tanszék Bevezetés a neurális számításokba Analóg processzortömbök, neurális hálózatok Előadó: dr. Tömördi Katalin

Neurális áramkörök (ismétlés) A neurális hálózatokban a neuronok egy szabályos geometriai rácson helyezkednek el, melyek egy processzor réteget alkotnak ( v 2 dimenziós). Több réteg összekapcsolásával kapjuk a teljes neurális hálózatot. A programot a rétegek közötti és a rétegen belüli összeköttetések súlytényezői jelentik. Tervezési irányok: élő szervezetek részletes modelljeinek elektronikai utánzása idegrendszeri működés struktúrájának és az elemi neuron-működés modelljének utánzása tipikus kanonikus optimálási eljárások, komplex fizikai, kémiai effektusok áramköri megoldásba transzformálása. 2

A tanulási szabályok főbb típusai tanítással/tanítóval tanulás (Ellenőrzött vagy felügyelt tanítás) amikor a bemenetekhez a kívánt kimeneteket is megadjuk, ismerjük. A kívánt és számított válaszok alapján módosítjuk a súlytényezőket, cél, hogy a különbség csökkenjen. Megerősítő tanulás amikor csak azt tudjuk, hogy a válasz helyes vagy nem tanítás/tanító nélkül ( Nem ellenőrzött vagy felügyelet nélküli tanítás) Nem ismerjük a kívánt válaszokat. Valamilyen adaptív úton a bemenetek sorozata alapján a beépített tanuló algoritmus valamilyen szempont szerint osztályokat alkot (és egyben módosítja saját magát - azaz az összeköttetések súlytényezőit) ezért önszervező hálózatnak is hívják Analitikus tanítás - direkt eljárással a súlytényezőket a feladatból elméleti úton, zárt formában kapjuk meg.. 3

Ellenőrzött tanulás Összetartozó be-ki meneti tanító mintapárokkal Neurális hálónk, vagyis a megtanított rendszer a vizsgált rendszer valamilyen modelljeként jelenjen meg, működése a rendszer működésének feleljen meg, - modell illesztési feladat (ábra) d=g(u,n), n zaj-hatások y= ĝ(u) modell illesztés, itt a paramétereken keresztül y= ĝ(w,u) kifejezőbb. Az illesztési feladat ekkor minimalizálási, szélsőérték keresési feladat, ahol C(d,y) kritérium fv. minimumát keressük w függvényében. 4

. 5

Ellenőrzött tanulás Kritérium függvény C=f(d,y) Leggyakrabb valamilyen négyzetes hibakritérium: C( d,y) = E d - y d - y = E d y j {( ) T ( )} ( ) 2 j j Lehet még pl.: abszolút érték fv., annak hatványai, lin. Kombinációi, igen-nem fv.. 6

Ellenőrzött tanulás szélsőérték keresés A kritérium fv minimumát, szélsőértékét kereső eljárások leginkább gradiens alapúak: C [ C( w) ] = = 0 w Megerősítő tanulásnál csak azt tudjuk,helyes-e a válasz (lehet több is), csak kritika van (learning with a critic) nincs hiba mérték, nincs gradiens. Ez a módszer akkor lehet jó, ha több jó válasz van ugyanarra a bementre. Sztochasztikus eljárások Gradiens módszerek hátránya lokális minimumokban benn ragadhat, ezért véletlen zaj segítségét használják. 7

Ellenőrzött tanulás szélsőérték keresés Véletlen keresés: (Ha nem ismerjük a kritérium felületet) Pl. ha a próbált paraméterhez tartozó kritérium érték az előzőnél kisebb, akkor ez lesz a következő lépés kiinduló pontja, egyébként a régi, és úgy keresünk tovább Előzőek kombinációi Genetikus algoritmus: itt nem egy pont mozog a vizsgálat szempontjából a kritérium felületen, hanem egyszerre több ponton értékelünk. jellemző: kereszteződés, mutáció, reprodukció. 8

Nem ellenőrzött tanulás Nincsenek kívánt kimenetek megadva Hebb tanulás (biológiai eredetű) két elem közti w az elemek aktivitásának szorzatával arányosan nő: w ( k+ ) = w ( k) µ x y w ( k+ ) = w ( k) +µ x y ij ij i j Anti Hebb: ij ij i j A különböző változatainál normalizáló eljárások használatosak súlyok ne növekedjenek minden határon túl. 9

Nem ellenőrzött tanulás Versengő A processzáló elem-elrendezésben egy győztest válasszunk ki. A győztes PE kimenete aktiv, a többié 0. A cél a bemeneti mintatér olyan tartományokra osztása, hogy minden egyes tartományba tartozó bemenet hatására egy, és csakis egy elem aktivizálódjon. Két lépés van:. kiszámoljuk minden elem kimenetét, kiválasztjuk a győztest, amely a győztes mindent visz elv alapján működik. 2. csak az ő vagy még a környezete súlytényezőit is módosítjuk. 0

Nem ellenőrzött tanulás Győztes PE beállítása pl. az oldalirányú súlytényezők beállításával: közeli PE-k között gerjesztő, távoliknál gátló kapcsolat: Mexikói kalap fv..

Analitikus tanulás Energia fv. pl.: Hopfield CNN (Cellular Neural Network). 2

Ellenőrzött tanulás A perceptron (Rosenblatt) tanulása x x 2 x 0 = n p p.0 ha I > 0 yi = f wijxj = f ( I) = j= 0 0.0 ha I 0 f p : bináris küszöbelem H H 2 H T u T... u T w i n n w i2 I f p y i =f p (I) I = wij xj = wi 0 + wij xj j= 0 j= u u TT w in x x T x n A tanulás szakaszosan történik. Egy tanulási szakasz (epoch) alatt egy adott bemenet(sorozat)ból kiszámít a neurális hálózat egy kimenetet (sorozatot) és ennek értékétől függően megváltoztatjuk a súlytényezősorozat (a program ) értékét.. 3

A perceptron tanulása A tanulás szabályai: ha az adott bemenet mellett számított kimenet jó (y i = d i ), akkor az ezen PEhez tartozó súlytényezőket (w ij ) nem változtatjuk; ha y i = 0, de d i =, akkor növeljük az "aktív" inputok (melyek zérusnál nagyobbak) súlytényezőit; ha y i =, de d i = 0, akkor csökkentjük az "aktív" inputok súlytényezőit. A fenti növelések és csökkentések mértéke sokféle lehet, tipikusan: rögzített növekmény, a (d i -y i ) -vel arányos növekmény vagy az előző kettő kombinációja.. 4

A perceptron tanulása és a lineáris szeparálhatóság A kétbemenetű perceptron I=w x +w 2 x 2 +w 0 egyenletének megoldása az (x, x 2 ) kétdimenziós síkon egy egyenest ad. Ez az egyenes tehát lineárisan szeparálja azon (x, x 2 ) értékek halmazát, amelyek 0 kimenetet adnak azoktól, melyek -et adnak. Az XOR (exclusive or) logikai függvény igazságtáblázata azonban az alábbi ábrán látható ebben a koordináta rendszerben. x 2 másik logikai kimenet x 2 egyik logikai kimenetet adó (x,x 2 ) párok halmaza x x. 5

lineáris szeparálhatóság Megoldás: rejtett réteget vezetünk be, vagy magasabb dimenzióban probálkozunk lineáris szétválasztással. Az utóbbi esetben egy új input változót alkalmazunk, legyen x3 = x x2 azaz x x2 x3 y 0 0 0 0 0 0 0 0 0 Ekkor az bemeneti állapotokat térben ábrázolhatjuk és ezeket a pontokat már egy síkkal szét tudjuk választani: Térben lineárisan szeparálható XOR függvény http://geo2.fmt.bme.hu/palancz/neural/chapt0/htmllinks/index_8.html. 6

Perceptron tanulása - Példa x x 2 w w 2 x 0 = w 0 f( ) f ( d y) = + Az ábrán látható perceptron ki- ill. bementének k C C n ( x) y 2 ha x > 0 = 0 ha x 0 lehetséges értékei a 0 (inaktív) és az (aktív). A tanulási szabály kimondja, hogy ha a kívánt és a számolt kimenet megegyezik, akkor a súlytényezők értékei nem változnak, ellenkező esetben pedig, ha a kimenet aktív kellene legyen, de nem az, akkor növeljük, míg ha a kimenet passzív kellene legyen, de nem az, akkor csökkentjük az aktív bemenetekhez tartozó súlytényezőket. A hálózatnak az ÉS műveletet fogjuk megtanítani, mely az alábbi 4 szabályt jelenti: x 0 0 x 2 0 0 d 0 0 0. 7

Perceptron tanulása - Példa A két tanulási együtthatót C =0 ill. C 2 =0.-nek választjuk, azaz fix növekményt (k=c 2 ) használunk. Mindhárom súlytényező értékét kezdetben 0.08-nak választva a táblázatban nyomonkövethetjük a tanulás folyamatát. Ennek során ( I wx ) i i = először kiszámoljuk a súlyozott összeget, majd a kimenetet (y=f(i)), és végül hiba (e 0) esetén ±k-val módosítjuk az aktív bemenetekhez (x i =) tartozó súlytényezőket.. 8

Perceptron tanulása - Példa w 0 w w 2 x x 2 d i y e 0.08 0.08 0.08 0 0 0.6-0.02-0.02 0.08 0 0 0.06-0.2-0.02-0.02-0.6 0-0.02 0.08 0.08 0 0 0.06-0.2-0.02 0.08 0 0-0.04 0 0-0.2-0.02 0.08-0.06-0.02 0.08 0.8 0 0 0.06-0.2-0.02 0.8 0 0 0.06-0.22-0.02 0.08-0.6 0-0.2 0.08 0.8 0 0-0.04 0 0-0.2 0.08 0.8 0 0 0.06-0.22 0.08 0.08-0.06 0-0.2 0.8 0.8 0 0 0.06-0.22 0.08 0.8 0 0-0.04 0 0-0.22 0.08 0.8 0.04 0-0.22 0.08 0.8 0 0-0.4 0 0-0.22 0.08 0.8 0 0 0-0.22 0 0. 9

Adaline - Példa Az Adaline felépítése lényegében megegyezik a perceptronéval, azzal a különbséggel, hogy itt a be- és kimenetek értéke {-,+ } és a következő Widrow-Hoff tanulási szabályt alkalmazzuk: w = w + C ( d I) x n ' i i i Látható, hogy itt a hiba valamekkora részét (C-től függően) egyenletesen elosztjuk az összes súlytényező között és minden lépésben mindegyik értékét ennek megfelelően változtatjuk. w 0 x w x 0 = k = C f ( x) f( ) y ( d I) n ha x > 0 = - ha x 0 x 2 w 2. 20

Adaline - Példa f k = C ( x) ( d I) n ha x > 0 = - ha x 0 C = 0.5 e = d I e = d y A C értékét egynél kisebbre (C=0.5) választva könnyedén megtaníthatjuk az ÉS műveletet w 0 w w 2 x x 2 d I y e e 0.20-0.30-0.0 - - 0.40 -.40-2 -0.03-0.07-0.33 - - - 0.37 -.37-2 -0.26 0.6-0. - - 0.0 -.0-2 -0.43-0.0 0.06-0.37 -.37 2-0.20 0.22 0.29 - - -0.3 - -0.87 0-0.34 0.37 0.5 - - - -0.86 - -0.4 0-0.37 0.39 0.7 - - -0.5 - -0.85 0-0.5 0.25 0.3 0.05 0.95 0-0.35 0.4 0.47 - - -0.29 - -0.7 0. 2

Ellenőrzött tanulás Tanulási szabályok: Backpropagation (hibavisszaterjesztés) A backpropagation a többrétegű hálózatoknál alkalmazott hibavisszaterjesztés módszere. Az elemi processzálóegység a perceptronhoz hasonló felépítésű, azzal a különbséggel, hogy a kimenet a rejtett rétegeken [ s] [ s] ( j ) [ s] yj = f I = + ( I ) j e szigmoid karakterisztika adja meg, ahol s-sel a réteg számát jelöljük. A tanítás algoritmusa a következő:. Az x bemeneti vektorból kiindulva, rétegenként kiszámoljuk a kimeneteket, s végül eljutunk a hálózat y kimenetéhez. 2. A kimeneti réteg minden processzáló elemére előbb kiszámítjuk a lokális hibát: e j =d j y j, majd ennek felhasználásával a hozzátartozó súlytényezők megváltozását: [ s] [ s] [ s ] () w = C e y ij j i. 22

Tanulási szabályok: Backpropagation (hibavisszaterjesztés) 3. Az összes rejtett réteg minden processzáló elemére hátulról előre haladva számoljuk ki előbb a lokális hibákat: majd pedig a [ s] [ s] [ s ] egyenlettel a súlytényező-változást..0.0 w = C e y ij j i [ s+ n ] [ s] [ s] ( [ s] ) [ s+ ] s+ j = j j k kj k = e y y e w 4. Módosítjuk a hálózat összes súlytényezőjét a kapott értékekkel. [ ] x 0 f( ) y w 0 w f( ) y.0 w 2.0.0 w w 2 w 0 f( ) y 0 w y 20 2 w 2 x f( ) f( ) 2 w 22 y 2. 23

A hibavisszaterjesztés módszere (részletesebben) Adott az -3 rejtett rétegű előrecsatolt struktúra, szigmoid karakterisztikájú, folytonos működésű elemekkel. A leíró egyenletek : n [ s] [ s] [ s ] [ s] [ s] I j = wij yi ; yj = f I j = ; s=, 2,..., r r = max 4 s I j i= + e Feltesszük, hogy: Létezik egy globális hibafüggvény E. Csak ennyit, a formáját sem írjuk elő, [] [ 2] [ ] csak azt, hogy: ˆ r s E = E I, I,..., I ; j =,2,..., n, amely tehát az I j [] -ek függvénye, továbbá A lokális hiba legyen ( z) = + e ( ) [ ] ( ) ( ) [ ] j j j e [ s] j E = I [ s] j (gradiens tipus) valamint A kimeneti (r-edik) rétegen a lokális hiba e j [r] adott. Pl. lehet d j -y j [r]. f Z. 24

A hibavisszaterjesztés módszere Alaplépés: Ha adottak a lokális hibák az (s+)-edik rétegen, akkor kiszámítjuk a lokális hibákat az s-edik rétegen: [ ] s+ s+ [ s+ n ] [ s] E E I ( [ ]) k E I y k j ' s [ s+ ] [ s+ ] j = = [ s] = [ s+ ] [ s] = [ s+ ] [ s] [ s] j k kj Ij k Ik Ij k Ik yj Ij k= e f I e w tehát a hibavisszaszámító egyenlet: [ s+ n ] [ s] [ s] ( [ s] ) [ s+ ] s+ j = j j k kj k = e y y e w [ ] [ ] [ s]. 25

A hibavisszaterjesztés módszere A további levezetés ebből ismét a láncszabály alkalmazásával történik: Standard legmeredekebb csökkenés módszerével (c: tanuló együttható): [ s] E wij c [ s w ] A tanulási szabály tehát: Ahol: = E E I j s [ s ] = [ s ] = e [ s] j y ji w I w [ s] ji j ji [ s] [ s] [ s ] ji j i ( ij) w = c e y + m [ ] [ s ] i Legyen a globális hibafüggvény: réteg, itt f(z)=z, ezért E = d y 2 k ( [ o] ) 2 k k, ahol o a kimeneti [ o] E E e = = = d y [ o] [ o] I y ( [ o] ) k k k k k

A hibavisszaterjesztés módszere, számítás Számítás:. Adottak az input (u) kívánt output (d) párok és a w jk [s] kezdeti súlytényező értékek. u alapján kiszámítjuk az y j -ket minden réteg minden PE-jére. Tanulás: 2. A kimeneti rétegen f(z)=z, így és w = c e y. 3. Minden rejtett rétegben kiszámítjuk a hibát a hibavisszaszámító egyenlettel ( ) [ o] [ o] e : = d y j j j [ o] [ o] ji j i lépésenként az első rejtett rétegig és kiszámítjuk ugyanilyen sorrendben a súlytényező változásokat (illetve ezekből az új súlytényező értékeket): [ s] [ s] [ s ] ji j i ( ij) w = c e y + m [ s+ n ] [ s] [ s] ( [ s] ) [ s+ ] s+ j = j j k kj k = e y y e w [ ] x.0 0 f( ) y.0 w 0 w w 2 f( ) y.0.0.0 w w 2 w 0 f( ) y 0 w y 20 2 w 2 x f( ) f( ) 2 w 22 y 2. 27

A hibavisszaterjesztés módszere, számítás. 28