570 likes | 885 Views
DNT. Biologinė idėja Smegenys prieš kompiuterį Perceptron as. Dirbtiniai neuronų tinklai. Biologinė idėja. Gyvūnai adaptyviai reaguoja į išorinės ir vidinės aplinkos pokyčius naudodamiesi savo nervų sistema
E N D
Biologinė idėja Smegenys prieš kompiuterį Perceptronas Dirbtiniai neuronų tinklai ICS611
Biologinė idėja • Gyvūnai adaptyviai reaguoja į išorinės ir vidinės aplinkos pokyčius naudodamiesi savo nervų sistema • Atitinkami nervų sistemos modeliai turėtų sugebėti atlikti tokius pačius veiksmus dirbtinėse sistemose. • Nervų sistema sudaryta iš santykinai paprastų vienetų – neuronų, taigi jų elgsenos ir funkcijų kopijavimas (modeliavimas) turėtų duoti panašius rezultatus.
Smegenys ir kompiuteris • Smegenys • Vaizdų atpažinimas • Asociatyvumas • Sudėtingumas • Atsparumas triukšmams • Kompiuteris • Skaičiavimas • Tikslumas • Logika
Architektūros kontrastai • Von Neumann’oarchitektūros principas vienas pagrindinis procesorius; • Dešimtys milijonų operacijų per sekundę • Absoliutus aritmetinis tikslumas • Smegenys naudoja daug lėtų nepatikimų procesorių veikiančių lygegrečiai.
Biologinių neuronų tinklų bei šiuolaikinių kompiuterių galimybės
Iššūkiai • Mokslininkai intesyviai studijuoja smegenis. • Žinios apie smegenų darbą dar labai menkos. • Net pavienio neurono veikimas yra gana sudėtingas.
Iššūkiai • Bet koks “suvokimas” yra daugybės neuronų darbofunkcija • Lokalinės smegenų zonos yra atsakingos už tam tikras apibrėžtas funkcijas (pvz. rega, klausa, motorika). • Kurios smegenų veiklos savybės yra bendros jų veiklai? • Kurios savybės atsitiktinės ar apspręstos biologijos?
Neuronų struktūra • 1011 neurons of at least 20 types. • 1014 synapses • 1-10 ms cycle time • Signals are noisy “spike trains” of electrical potential • Neurons die off frequently (never replaced) • Compensates for problems by massive parallelism
Biologinis neuronas Kai sužadinama pakankamai neuronų, prijungtų prie neurono dendritų, tada: • neuronas sužadinamas; • išilgai aksono jis išduoda elektrocheminį impulsą; • signalas per sinapses perduodamas kitiems neuronams, kurie vėlgi gali būti sužadinami; • neuronas sužadinamas tik tuo atveju, kai bendras dendritais gautas signalas viršija tam tikrą lygį (sužadinimo slenkstį). Biologinis neuronas
Neurono veikimas • Sinapsės gali būti įvairaus stiprumo. • Veikimo potencialai, keliaujantys išilgai priešsinapsinio neurono aksono, sukelia neurotransmiterio išskyrimą į sinapsę. • Neurotransmiteris žadina arba slopina postsinapsinio neurono dendritą. • Neuroną jaudinančių ir slopinančių signalų integracija gali sukelti veikimo potencialą postsinapsiname neurone. • Atskirų signalų indėlis priklauso nuo sinapsinio ryšio stiprumo.
Perėjimas prie DNT • The McCullogh-Pitts model (1943): • impulsų dažnis kaip įėjimo signalas; • sinapsių stiprumas modeliuojamas kaip svoriniai koeficientai; • žadinimas reiškia teigiamą impulsų dažnio ir sinapsės svorio koeficiento rezultatą; • slopinimas reiškia neigiamą impulsų dažnio ir sinapsės svorio koeficiento rezultatą;
Dirbtiniai neuroniniai tinklai – grubus biologinių neuroninių sistemų modelis • Neuronas gauna keletąįėjimo reikšmių; • Kiekviena įėjimo jungtis turi savo perdavimo koeficientą (svorį); • Kiekvienas neuronas turi savo slenksčio reikšmę; • Neurono sužadinimo reikšmė formuojama skaičiuojant svorinęįėjimo signalų sumą ir atimant slenksčio reikšmę; • Pagal sužadinimo signalą naudojant aktyvacijos funkciją (neurono perdavimo funkciją) skaičiuojama neurono išėjimo reikšmė. Dirbtinio neuroninio tinklo elementas
The McCulloch-Pitts “Unit” • Each neuron has a threshold value • Each neuron has weighted inputs from other neurons • The input signals form a weighted sum • If the activation level exceeds the threshold, the neuron “fires”
Tinklo modelis • Atskiri neuronai gali būti jungiami į neuroninį tinklą (ANN). • Neuroninis tinklas turi: • įėjimus (perduodančius kintamųjų reikšmes iš išorės); • išėjimus (formuojančius prognozę, valdymo signalus…). (Įėjimai ir išėjimai atitinka sensorinius ir motorinius nervus, kaip pavyzdžiui, einančius iš akių ir į rankas). • Egzistuoja ir tarpiniai (paslėpti) neuronai, atliekantys vidinį vaidmenį tinkle. • Įėjimo, paslėpti ir išėjimo neuronai jungiami vieni su kitais ir dažniausiai grupuojami į atskirus sluoksnius.
Tinklo modelis Tiesioginio sklidimo daugiasluoksnis neuroninis tinklas.
Neuroninių tinklųpanaudojimas • prognozavime: turint duomenis apie paskutinės savaitės valiutų kurso kitimą norima prognozuoti rytojaus valiutų kursą; • vaizdų analizėje: padėtas parašas (pavyzdžiui, banke) lyginamas su parašais, saugomais archyve; • kontrolėje: skaičiuojama, kur turi judėti robotas, kai turimas roboto kameros vaizdas; pagal matuojamus proceso parametrus skaičiuojami proceso valdymo parametrai; • stebėjimuose: apdorojant vibracijos ir triukšmų lygio daviklių duomenis tikimasi anksti diagnozuoti variklių gedimus; • bendru atveju– kainežinoma priklausomybė tarp įėjimo ir išėjimo duomenų(jei ji žinoma, duomenys gali būti modeliuojami tiesiogiai). ANN gali išmokti įėjimo-išėjimo duomenų priklausomybę apmokymo metu ir tai yra pagrindinėANN savybė.
Kalbos apdorojimas Teksto į kalbą vertimas Kalbančiojo atpažinimas Gramatikos taisyklių įsisąvinimas Vaizdo (duomenų) tankinimas Raidžių atpažinimas Spausdintų raidžių atpažinimas Rankraštinių raidžių atpažinimas Kombinatorinės problemos Keliaujančio komivojažieriaus problema Objektų atpažinimas Judančių objektų klasifikavimas pagal jų skleidžiamą garsą Detalių bei kt. atpažinimas robotizuotame gamybos procese Signalų apdorojimas Signalo nuspėjimas Sistemos identifikavimas Signalo kodavimas Triukšmo slopinimas Finansų bei ekonomikos modeliavimas Variklių valdymas Funkcinė sintezė Iššauto sviedinio pataikymo vietos nustatymas Ir t.t.... DNT naudojimo sritys
Vienasluoksnis perceptronas 1 • 1957-1962 m. Rosenblatt studijavovienasluoksnius ANN su šuolinėmis perdavimofunkcijomis ir pavadino juos perceptronais. Pav. Šuolinė perdavimo funkcija • Tai vaizdų klasifikavimo sistema, kuri gali atpažinti įvestus abstrakčiusir geometrinius vaizdus. Jis gali daryti ribotus apibendrinimus ir teisingai klasifikuoti vaizdus, nepaisant vaizdo triukšmingumo.
Vienasluoksnis perceptronas 2 j - fiksuotų funkcijų rinkinys; wj - adaptyvių svorių sluoksnis; g() - slenkstinė išėjimo funkcija; Perceptrono perdavimo funkcija y:
Vienasluoksnis perceptronas 3 Vienasluoksnis perceptronas gali būti nagrinėjamas kaip: • diskriminantinė funkcija, klasifikuojanti į dvi klases; • binarinis loginis elementas, kuris, priklausomai nuo svorių reikšmių, gali realizuoti kai kurias logines funkcijas (AND, OR, NOT, bet ne XOR; taip pat plurality(daugiau)majority (dauguma)).
Veikimo pavyzdys • http://neuron.eng.wayne.edu/java/Perceptron/New38.html
Any Boolean function can be implemented using a McCulloch and Pitts perceptron -0.5 -1
Perceptronų tinklo sąvybės A. Konvergencija Rosenblatt (1960) įrodė, kad perceptronų mokymo algoritmas visada suras sprendinį bet kokiam tiesiškai atskiriamam uždaviniui per baigtinį laiko intervalą. B. Privalumai lengvai suprantamas veikimas adekvati saugojimo talpa betarpiškas atsakas C. Trūkumai blogos apibendrinimo savybės ilgas mokymas nerealiame laiko mastelyje negali įsisavinti netiesiškai išskiriamų klasių Naudojimas žinių apdorojime pavyzdžių atpažinime kalbos atpažinime sekų atpažinime vaizdo apdorojime valdymo uždaviniuose
Dirbtinių neuronų tinklų (DNT) teorijos raida 1943 -- MCCULLOCH, PITTS 1949 -- HEBB 1957 -- ROSENBLATT 1959 -- WIDROW 1964 -- GROSSBERG (THE CENTRE OF ADAPTIVE SYSTEMS) 1968 -- ANDERSON 1971 -- KOHONEN 1977 -- MCCLELLAND, RUMELHART 1982 -- HECHT-NIELSEN 1982 -- HOPFIELD 1985 -- MEAD 1985 -- KOSKO 1985-86 -- PARKER & RUMELHART, HINTON, WILLIAMS 1988 -- SCOFIELD, PSALTIS 1988 -- BROOMHEAD, MOODY 1990 -- HINTON, WAIBEL, LANG 1992 -- BACK, TSOI 1995 -- VAPNIK
Neuroninio tinklo mokymas Pagrindiniai neuroninių tinklų apmokymo tipai: • Mokymas su mokytoju (supervized learning); • Mokymas be mokytojo (unsupervized learning); • Sustiprintas mokymas (reinforcement learning) ir t.t. Ką reikėtų žinoti apie neuroninio tinklo apmokymą: • DNT mokomas nežinomos priklausomybės. • Apmokymui naudojama mokymo imtis. • Tinkamai apmokytas DNT gali modeliuoti nežinomą funkciją siejančiąįėjimo bei išėjimo kintamuosius ir spėti nežinomas išėjimo reikšmes. • DNT darbąįvertinadaroma klaida visiems duomenims (skirtumas tarp DNT išėjimo reikšmės ir norimos (užduoties) reikšmės). • Mokymo eigoje DNT svoriai ir slenksčių reikšmės koreguojami taip, kad būtų daroma mažesnė klaida.
Neuroninių tinklų “permokymas” • Kadangi realios sistemos paprastai būna susietos su tam tikrais matavimo triukšmais, iškyla pavojus, kad DNT “išmoks” atpažinti ne realias netiesines priklausomybes tarp kintamųjų, bet atsitiktinius triukšmus. • Todėl atliekant ANN apmokymą paprastai eksperimentiniai duomenys padalinami į mokymo ir testavimo imtis. ANN mokymo procedūra nutraukiama tada, kai modeliavimo paklaida naudojant testavimo duomenis pradeda didėti. • Prieš taikant ANN realioms problemoms spręsti, visada reikia patikrinti, kaip jis sugeba prognozuoti sistemos išėjimus aplinkoje, kuri nebuvo naudota tinklo treniravimo metu.
Mokymas su mokytoju • Mokymo ir testavimo rinkiniai • Mokymo rinkiniai; įejimai & siekiami rezultatai
Klaidos skaičiavimo atgal algoritmas • Treniruojant paprastus (feedforward) ANN, labiausiai paplitęs mokymas su mokytoju naudojant paklaidos skaičiavimo atgal algoritmą. • Jei ANN neuronų perdavimo ir klaidos funkcijos diferencijuojamos, tai galima skaičiuoti klaidos išvestines svorių atžvilgiu ir naudoti jas svorių, minimizuojančių klaidos funkciją, radimui. • Taikant gradientinius metodus modeliavimo paklaidos minimizavimui,neuroninio tinklo svoriai keičiami pagal sekančią išraišką: • Šis treniravimo algoritmas yra dažniausiai taikomas įvairiuose programų paketuose, nes netgi sudėtingiems neuroniniams tinklams galima greitai suskaičiuoti gradientus.
Mokymo algoritmas Epocha: Visų mokymo rinkinių pateikimas. Pvz: mokant funkcijos IR epochą sudarys keturių įėjimo rinkinių pateikimas- [0,0], [0,1], [1,0], [1,1] Klaida: Klaida yra skirtumas tarp norimos gauti reikšmės ir gautos reikšmės su duotu rinkiniu d = T - A
Perceptrono mokymas Wj = wj + λx djx aj Kur: wj – svoriai λ – mokymo greičio konstantė dj – klaida aj – įėjimo reikšmė
Learning algorithm Target Value, T: When we are training a network we not only present it with the input but also with a value that we require the network to produce. For example, if we present the network with [1,1] for the AND function the target value will be 1 Output , O: The output value from the neuron Ij : Inputs being presented to the neuron Wj: Weight from input neuron (Ij) to the output neuron LR : The learning rate. This dictates how quickly the network converges. It is set by a matter of experimentation. It is typically 0.1
For AND x y Output 0 0 0 0 1 0 1 0 0 1 1 1 -1 W0 = ? x t = 0.0 W1 = ? W2 = ? y Training Perceptrons • What are the weight values? • Initialize with random weight values
For AND x y Output 0 0 0 0 1 0 1 0 0 1 1 1 -1 W0 = 0.3 x t = 0.0 W1 = 0.5 W2 =-0.4 y Training Perceptrons
“Simple” Learning algorithm While epoch produces an error Present network with next inputs from epoch Error = T – O If Error <> 0 then Wj = Wj + LR * Ij * Error End If End While
For AND x y Output 0 0 0 0 1 0 1 0 0 1 1 1 -1 W0 = 0.3 x t = 0.0 W1 = 0.5 W2 =-0.4 y Training Perceptrons