Regresszi Mestersges neuronhlk mrc 2 Regresszi Regresszi Felgyelt

  • Slides: 58
Download presentation
Regresszió, Mesterséges neuronhálók márc. 2.

Regresszió, Mesterséges neuronhálók márc. 2.

Regresszió

Regresszió

Regresszió – Felügyelt (induktív) tanulás: tanító halmaz alapján olyan modell tanulása ami korábban nem

Regresszió – Felügyelt (induktív) tanulás: tanító halmaz alapján olyan modell tanulása ami korábban nem látott példákon is helyesen működik. – Regresszió: felügyelt tanulási feladat, ahol folytonos értéket jelzünk előre (statisztika „regresszió analízise” hasonló technikákat használ, de más a cél)

Regresszió Alapterület (nm) Városrész Kor (év) Ár (M Ft) 60 Csillag-tér 32 8, 3

Regresszió Alapterület (nm) Városrész Kor (év) Ár (M Ft) 60 Csillag-tér 32 8, 3 120 Alsóváros 21 26, 8 35 Tarján 38 5, 5 70 Belváros 70 ? ? ?

Regresszió Tanító adatbázis: {x, r} rϵR Kiértékelő függvény: „Négyzetes hiba”

Regresszió Tanító adatbázis: {x, r} rϵR Kiértékelő függvény: „Négyzetes hiba”

Lineáris regresszió

Lineáris regresszió

Lineáris regresszió g(x |θ) = θx + θ 0 gradiense 0 ha

Lineáris regresszió g(x |θ) = θx + θ 0 gradiense 0 ha

Regressziós modellek Regressziós döntési fa: • • Belső csúcsok úa. mint osztályozásnál Leveleken vagy

Regressziós modellek Regressziós döntési fa: • • Belső csúcsok úa. mint osztályozásnál Leveleken vagy konstans vagy (különböző) tanult lineáris modellek

Regressziós SVM

Regressziós SVM

Regressziós SVM • ||w||2 a modell komplexitása • ε a közelítés megengedett hibája •

Regressziós SVM • ||w||2 a modell komplexitása • ε a közelítés megengedett hibája • C és ε is szabályozza az általánosítási készséget

Neuronhálók

Neuronhálók

Mesterséges neuronhálók • artificial neural networks (ANN) • Az információfeldolgozás a biológiai idegrendszer (pl.

Mesterséges neuronhálók • artificial neural networks (ANN) • Az információfeldolgozás a biológiai idegrendszer (pl. az emberi agy) működését próbálja utánozni • Struktúra: nagyszámú, erősen összefüggő, együttműködő processzáló elem (idegsejtek, neuronok) • Cél: az emberekhez hasonlóan tanuljanak tapasztalatokból (példák segítségével)

Egy kis neurobiológia • A neuron (idegsejt): sok bemenet / egy kimenet • A

Egy kis neurobiológia • A neuron (idegsejt): sok bemenet / egy kimenet • A kimenet gerjesztett (excited) vagy nem • A más neuronokból bejövő jelek határozzák meg, mikor tüzel (fire) a neuron (gerjesztett állapotba kerül) • A kimenet függ a szinapszisokban történő csillapításoktól

Matematikai megfogalmazás Feltevésünk: a neuron a bemenetek súlyozott átlagát számítja ki, és az eredményt

Matematikai megfogalmazás Feltevésünk: a neuron a bemenetek súlyozott átlagát számítja ki, és az eredményt összehasonlítja egy küszöbértékkel. Ha nagyobb, akkor a kimenet 1 (tüzel, gerjesztett állapotba kerül) különben -1.

Néhány adat • Neuronok száma az agyban: ~ 1011 • Egy neuron átlagosan 104

Néhány adat • Neuronok száma az agyban: ~ 1011 • Egy neuron átlagosan 104 másikkal van kapcsolatban • Leggyorsabb kapcsolási idő: 10 -3 másodperc • Arcfelismerési idő: 10 -1 másodperc

Motiváció (gépi tanulási szemmel) • Cél: nem-lineáris összefüggések tanulása – Sok olyan probléma van,

Motiváció (gépi tanulási szemmel) • Cél: nem-lineáris összefüggések tanulása – Sok olyan probléma van, ahol a lineáris diszkriminancia nem megfelelő eredményt ad – A fő nehézség a megfelelő nemlineáris függvény megtalálása, a fgvcsaládot előre meg kell adnunk – Lineráis modellek könnyen kezelhetőek, használjuk ezt ki

Perceptron

Perceptron

Többrétegű neuronhálók A rejtett rétegben az input adatok másfajta reprezentációja

Többrétegű neuronhálók A rejtett rétegben az input adatok másfajta reprezentációja

Többrétegű neuronhálók

Többrétegű neuronhálók

Előrecsatolt (feedforward) háló • Kapcsolat csak a rákövetkező réteg irányában van • a rétegek

Előrecsatolt (feedforward) háló • Kapcsolat csak a rákövetkező réteg irányában van • a rétegek között módosítható súlyokkal ellátott kapcsolatok vannak • Egy háromrétegű neuronháló egy input rétegből, egy rejtett rétegből és egy kimenet rétegből áll

Hálózati érték • Egy neuron hálózati értéke: ahol i az input egységeket indexeli, j

Hálózati érték • Egy neuron hálózati értéke: ahol i az input egységeket indexeli, j a rejtett egységeket; wji jelöli az i inputból jövő kapcsolat súlyát a j rejtett neuronnál. • Van egy konstans egységünk is, amelyik minden rejtett egységhez (neuronhoz) hozzá van kötve. Ennek bemeneti értéke mindig 1.

Aktivációs-függvény Minden rejtett egység kibocsátja a hálózati értékének valamely nemlineáris függvényét (aktivációs-függvény), azaz yj

Aktivációs-függvény Minden rejtett egység kibocsátja a hálózati értékének valamely nemlineáris függvényét (aktivációs-függvény), azaz yj = f(netj) (A több rétegű lineáris függvény még lineáris) Előjel függvény: oi 1 0 Tj netj

Differenciálható aktivációs függvény • Differenciálható, nem-lineáris kimeneti függvény kell a hatékony tanuláshoz (gradiens alapú

Differenciálható aktivációs függvény • Differenciálható, nem-lineáris kimeneti függvény kell a hatékony tanuláshoz (gradiens alapú módszerek) • A leggyakoribb megoldás a szigmoid “logikai” függvény használata: 1 0 Tj netj Használják még a tanh vagy a Gauss függvényt is

Kimeneti réteg Kimeneti egységeknél a hálózati érték: ahol a k az output réteg egységeit,

Kimeneti réteg Kimeneti egységeknél a hálózati érték: ahol a k az output réteg egységeit, az n. H pedig a rejtett egységek számát jelöli • Bináris osztályozás: előjel függvény • Többosztályos osztályozás: minden osztályra egy kimenet, legnagyobb hálózat értékűt választjuk (diszkriminancia fgv. ) • Regresszió: aktivációs fgv után a predikció

– Az y 1 rejtett egység számolja a következő felületet: 0 y 1 =

– Az y 1 rejtett egység számolja a következő felületet: 0 y 1 = +1 x 1 + x 2 + 0. 5 - Az y 2 pedig a következőt: x 1 + x 2 -1. 5 < 0 y 1 = -1 x 1 OR x 2 0 y 2 = +1 < 0 y 2 = -1 x 1 AND x 2 – A végső kimeneti egység jelei: z 1 = 0. 7 y 1 -0. 4 y 2 - 1, sgn(z 1) pontosan akkor lesz 1, ha y 1 =1, y 2 = -1, ami éppen a kívánt függvényünk (x 1 OR x 2 ) AND NOT(x 1 AND x 2)

Általános (3 rétegű) előrecsatolt háló (c kimeneti egység) • – A rejtett egységek segítségével

Általános (3 rétegű) előrecsatolt háló (c kimeneti egység) • – A rejtett egységek segítségével bonyolultabb nemlineáris függvényeket is kifejezhetünk, bővítve az osztályozási lehetőségeket – Megengedhetjük, hogy a kimeneten és a rejtett rétegeken levő aktivációs függvények különbözőek legyenek, sőt minden egységhez is különböző tartozhat

Kolmogorov tétele: minden korlátos folytonos függvény előállítható három rétegű hálózattal. DE: Kolmogorov tétele nagyon

Kolmogorov tétele: minden korlátos folytonos függvény előállítható három rétegű hálózattal. DE: Kolmogorov tétele nagyon keveset mond arról, hogyan találjuk meg a bemeneti adatokból a megfelelő nemlineáris függvényeket

Háromrétegű neuronháló tanítása Visszaterjesztés (backpropagation)

Háromrétegű neuronháló tanítása Visszaterjesztés (backpropagation)

Tanulás neuronhálóknál • A hálózat topológiáját előre adottnak tekintjük • Minden neuronnál ugyanaz, előre

Tanulás neuronhálóknál • A hálózat topológiáját előre adottnak tekintjük • Minden neuronnál ugyanaz, előre rögzített aktivációs fgv. • Tanulás = élsúlyok kalibrálása • on-line tanulás (több epoch)

Tanulás neuronhálóknál – Előrecsatolás Ilyenkor adunk egy mintát az inputon, és ezt átszámoljuk a

Tanulás neuronhálóknál – Előrecsatolás Ilyenkor adunk egy mintát az inputon, és ezt átszámoljuk a hálózaton – a végén a kimeneten értéke(ke)t kapunk – Súlyok frissítése (visszaterjesztés) Ilyenkor az adott mintát arra használjuk, hogy módosítsuk a súlyokat úgy, hogy a számított és elvárt kimenetek különbsége csökkenjen

Tanulás neuronhálóknál • 3 rétegű hálózatokat vizsgálunk (könnyen megérthető, Kolmogorov tétele) • A visszaterjesztés

Tanulás neuronhálóknál • 3 rétegű hálózatokat vizsgálunk (könnyen megérthető, Kolmogorov tétele) • A visszaterjesztés lényege: minden rejtett egységhez ki tudjuk számolni annak hibáját (érzékenységét), és ezzel egy tanulási eljárást ad a rétegek közti súlyokra

 • Legyen tk a kívánt k-ik kimenet, továbbá zk a k-ik számított kimenet

• Legyen tk a kívánt k-ik kimenet, továbbá zk a k-ik számított kimenet (k = 1, …, c) tovább w jelölje a hálózat súlyait Hiba fgv: – A visszaterjesztés szabály a gradiens módszeren alapul • A súlyok kezdőértékei véletlen számok, és a hiba csökkentésének irányában változnak:

Hiba visszaterjesztés A rejtett és kimenet rétegek közötti súlyok hibái: ahol a k. kimeneti

Hiba visszaterjesztés A rejtett és kimenet rétegek közötti súlyok hibái: ahol a k. kimeneti neuron érzékenységének definíciója: és megadja, hogyan változik a teljes hiba a neuron hálózati értékének függvényében

Mivel netk = wkty, kapjuk: másrészt: Következmény: a súlyok változtatásának szabálya (a rejtett és

Mivel netk = wkty, kapjuk: másrészt: Következmény: a súlyok változtatásának szabálya (a rejtett és kimenet rétegek közt): wkj = kyj = (tk – zk) f’ (netk)yj

A bemenet és rejtett rétegek közötti súlyok hibái:

A bemenet és rejtett rétegek közötti súlyok hibái:

Az előzőhöz hasonlóan definiáljuk a rejtett réteg érzékenységét: Az input-rejtett rétegek közötti súlyokra vonatkozó

Az előzőhöz hasonlóan definiáljuk a rejtett réteg érzékenységét: Az input-rejtett rétegek közötti súlyokra vonatkozó tanulási szabály:

Hiba visszaterjesztés Először számítsuk ki a kimenetek érzékenységét, és ezzel változtassuk a súlyok felső

Hiba visszaterjesztés Először számítsuk ki a kimenetek érzékenységét, és ezzel változtassuk a súlyok felső rétegét output a k–ba vezetők aktualizálása: hidden input

Hiba visszaterjesztés Ezután számítsuk ki a rejtett egységek érzékenységét, a hozzájuk kötött kimeneti egységek

Hiba visszaterjesztés Ezután számítsuk ki a rejtett egységek érzékenységét, a hozzájuk kötött kimeneti egységek érzékenységének segítségével output rejtett input

Hiba visszaterjesztés Végül aktualizáljuk az alsó réteg súlyait, a rejtett egységek érzékenységének segítségével output

Hiba visszaterjesztés Végül aktualizáljuk az alsó réteg súlyait, a rejtett egységek érzékenységének segítségével output rejtett Aktualizáljuk a j-be vezetőket input

Véletlenszerűen választott súlyokkal kezdve, a sztochasztikus visszaterjesztés algoritmus: Begin inicializálni: n. H; w, kritérium

Véletlenszerűen választott súlyokkal kezdve, a sztochasztikus visszaterjesztés algoritmus: Begin inicializálni: n. H; w, kritérium , , m 0 do m m + 1 xm véletlenül választott minta wji + jxi; wkj + kyj until || J(w)|| < return w End

Megjegyzések • Nem biztos, hogy zérus hibához konvergál – lokális optimumhoz is tarthat, vagy

Megjegyzések • Nem biztos, hogy zérus hibához konvergál – lokális optimumhoz is tarthat, vagy oszcillálhat • A gyakorlatban nagyon sok nagy problémánál kicsi hibához tartozó megoldást ad • A lokális minimál-megoldások elkerüléséhez többszöri futtatás, véletlen kezdősúlyokkal – A legkisebb hibához tartozó megoldást vegyük – Vagy valamilyen többségi szavazással válasszuk ki a megoldást

Megjegyzések • Hány rejtett neuron kell? – ha kevés rossz reprezentáció – ha sok

Megjegyzések • Hány rejtett neuron kell? – ha kevés rossz reprezentáció – ha sok túltanulás – validációs halmaz. . . • Mi az optimális toplológia? – priori tudás • Tanulási arány!?

Mély neurális hálók deep learning

Mély neurális hálók deep learning

Neuronhálók • Perceptron: az első algoritmus az ötvenes évekből (egyrétegű háló) • Visszaterjesztés algoritmus:

Neuronhálók • Perceptron: az első algoritmus az ötvenes évekből (egyrétegű háló) • Visszaterjesztés algoritmus: többrétegű hálózatok, (1975), nagyon népszerű a nyolcvanas években • Mély hálók (deep learning): 2006 óta új virágkor

Autoencoder előtanítás (auto-encoder pretraining)

Autoencoder előtanítás (auto-encoder pretraining)

Mohó szintenkénti tanítás

Mohó szintenkénti tanítás

Rectifier hálózatok

Rectifier hálózatok

Dropout regularizáció

Dropout regularizáció

Blokk hálózatok

Blokk hálózatok

Visszacsatolásos neuronhálók (recurrent neural networks) rövid távú memória http: //www. youtube. com/watch? v=vm. DBy.

Visszacsatolásos neuronhálók (recurrent neural networks) rövid távú memória http: //www. youtube. com/watch? v=vm. DBy. FN 6 eig