Dirbtiniai neuroniniai tinklai

Download Report

Transcript Dirbtiniai neuroniniai tinklai

Dirbtiniai neuroniniai tinklai (ir
įvadas į klasifikavimą)
Pirminis apdorojimas
Savybių išskyrimas
Klasifikavimas
Lašiša
Jūros ešerys
Lašiša
Jūros ešerys
Kiekis
Ilgis
Išskiriame požymį – žuvies ilgis
Kiekis
Lašiša
Jūros ešerys
Šviesumas
Išskiriame požymį – žuvies šviesumas
Ilgis
Šviesumas
Žmogus ir neuronai
• Smegenys yra ypatingai sudėtingas,
netiesiškas ir paralelinis kompiuteris
• Sudarytas iš atskirų elementų neuronų
Biologinis neuronas
Piešinys iš elektronika.lt portalo
Apbrėžimas
Dirbtinis neuroninis tinklas yra masyvus, paralelinis,
paskirstytas procesorius sudarytas iš paprastų
skaičiavimo elementų, kurie turi savybę saugoti
informaciją ir padaryti ją prieinamą naudojimui.
Jis panašus į smegenis dviem aspektais:
• 1. Žinios gaunamos iš aplinkos per mokymosi
procesą
• 2. Žinioms išsaugoti naudojamos neurono
reikšmės (kitaip sinapsių reikšmės)
Neurono modelis
Piešinys iš Haykin “Neural Networks”
Esminiai DNT privalumai
• Masyvus, paralelinis paskirstymas
• Apibendrinimas
– Savybė įgalinanti gauti pakankamai tikslias
reikšmes, net su duomenimis, kurie buvo
nematyti mokymosi metu
Panaudojimo naudingos savybės
•
•
•
•
•
Netiesiškumas
Įvedimo-išvedimo atvaizdavimas
Adaptyvumas
Atsakymas su “pagrindimu”
Atsparumas defektams
Panaudojimo naudingos savybės
• Bendra analizė ir projektavimas
– Neuronas yra bendras visiems neuroniniams tinklams
– Galimybė dalintis mokymosi algoritmais per visus neuroninių tinklų tipus
– Moduliniai tinklai, gali būti sukonstruoti tiesiogiai integruojant atskirus
modulius
• Neurobiologinė analogija
Neurono modelis
Piešinys iš Haykin “Neural Networks”
• Sinapsės ir jų svoriai wkj
• Sumatorius
• Aktyvavimo funkcija
• Slenkstis
• Aktyvavimo funkcijos
Piešinys iš Haykin “Neural Networks”
Vienasluoksniai ir daugiasluoksniai
Piešinys iš Haykin “Neural Networks”
Rekurentiniai tinklai
Piešinys iš Haykin “Neural Networks”
Pirmasis neurono modelis
1943
Piešinys iš Haykin “Neural Networks”
Klaidas koreguojantis mokymas
1
f ( x) 
1  e x
Klaidų funkcijos
• TSSE (bendra kvadratinių klaidų suma)
1
TSSE    (desired  actual) 2
2 patterns outputs
Klaidos paviršiai
Piešinys iš Duda “Pattern Recognition”
Piešinys iš Duda “Pattern Recognition”
Kaip paskaičiuti sekantį žingsnį ?
• Skaičiuojame išvestinę ir
leidžiamės žemyn
w(n+1) = w(n) + hg(n)
hg(n) yra grandiento vektorius
taške w(n)
Mokymosi procesas
Testavimas
Mokymas
Lokalūs minimumai
Svorių w inicijavimas
Daugiasluoksnis tinklas
Sklaidos atgal pseudo-algoritmas
• Inicijuoti svorius
• Kol klaida yra per didelė:
– “paduoti” skaičius į įvedimus
– skaičiuoti kiekvieno neurono atsakymus nuo įvedimo
sluoksnio, per paslėptus sluoksnius iki išvedimo
sluoksnio
– panaudoti išvedimo klaidą, kad paskaičiuoti klaidos
signalus išvedimo lygiui
– paskaičiuoti pagal klaidos signalus naujus svorius
– pakeisti svorius
• Pastoviai tikrinti tinklo klaidą
Kodėl tokia formulė ?
• Klaidos funkcija
Skaičiuojame reikšmes
• Neurono atsakymas
1
O pj (net j ) 
  net j
1 e
ir
netj  bias*Wbias   OpkW jk
k
Skaičiuojame klaidos parametrą
dpj=(Tpj-Opj) Opj (1-Opj)
• Tpj – yra tikslo reikšmės neuronui j
duomenims p
• Opj – yra gauta neurono reikšmė
Skaičiuojame klaidą kiekvienam
neuronui
• Paslėpto sluoksnio neurono klaida
d pj  Opj (1  Opj )d pkWkj
k
• d pk yra klaida iš ankstesnio neurono
Paskaičiuojame svorių pokytį
DWji(t)= η dpj Opi
• Wji(t+1) = Wji(t) + DWji(t)
• Galimas mokymasis su papildomu
parametru: a*Wji(t-1)
Elementariai