Modelleerimine Tehisnärvivõrgudega

Slides:



Advertisements
Seotud esitlused
MSE Soojusmajandus ENERGIA TARBIMINE 2 osa.
Advertisements

Eesti maaelu arengukava vahehindamine
Rahvatervise süsteemi kaasajastamine
Tere tulemast kogemuskohtumisele!
Hariduse väljakutsed, üldhariduskoolide võrk ja koolivõrgu programm
Korvpalluri füüsiline ettevalmistus
Täiskasvanu kui enesearengu subjekt
Esitluse väljavõte:

Modelleerimine Tehisnärvivõrgudega ---------------------------------------------- Identification with artificial neural networks Eduard Petlenkov, Eduard Petlenkov, 2014

Artificial neuron Input vector: Vector of weight coeffitients: Weighted sum Nonlinear element Input vector: Vector of weight coeffitients: Weighted sum: Eduard Petlenkov, 2014

Biological neuron and biological neural networks Eduard Petlenkov, 2014

Sigmoid functions are having an "S" shape (sigmoid curve) Activation functions (1) OUT=f(NET) Sigmoid functions are having an "S" shape (sigmoid curve) 1 Logistic function 2 Hyperbolic tangent Eduard Petlenkov, 2014

Types of artificial neural networks Feedforward Feedback internal feedback external feedback Structure: inputs etalon Supervised learning Selflearning (unsupervised) Training/ learning: inputs Training criteria Eduard Petlenkov, 2014

Interpritation of results How to use artificial neural networks Network Data preprocessing Interpritation of results Inputs Outputs Eduard Petlenkov, 2014

Feedforward neural networks and multilayer perceptron Feedforward networks are networks in which an output of a neuron can be connected only with an input of a next layer neuron. - Input layer - Output layer - Hidden layer - Weighting coefficients, where is the number of the neuron’s input “from each to each” - neuron’s number in the layer - number of the layer Eduard Petlenkov, 2014

Mathematical function of a two-layer perceptron - Activation function of the hiddent layer neurons; - Activation function of the output layer neurons. Eduard Petlenkov, 2014

Yp is a vector of reference outputs corresponding to input vector X Supervised learning Supervised learning is a training algorithm based on known input-output data. X is an input vector; Yp is a vector of reference outputs corresponding to input vector X Y is a vector of NN’s outputs corresponding to input vector X NN is a mathematica function of the network (Y=NN(X)) Eduard Petlenkov, Automaatikainstituut, 2014

Network training procedure consists of the following 3 steps: Õpetamine (2) Network training procedure consists of the following 3 steps: Computation of NN’s outputs corresponding to the current NN’s paraneters; Computation of NN’s error; Updating NN’s parameters by using selected training algorithm in order to minimize the error. Eduard Petlenkov, Automaatikainstituut, 2014

Gradient descent error backpropagation (1) Error function: - NN’s output - inputs used for training; - NN’s function; - etalons (references) for outputs=desired outputs. function to be minimized: Eduard Petlenkov, Automaatikainstituut, 2014

Gradient descent error backpropagation (2) Eduard Petlenkov, Automaatikainstituut, 2014

Global minimum problem Eduard Petlenkov, Automaatikainstituut, 2014

Dünaamiliste süsteemide modelleerimine Identification for control in a non-linear system world Tänapäeval üks populaarsemaid mõisteid juhtimisteoorias on Närvivõrk. Vaatleme mis on närvivõrk, millest võrk koosneb, kuidas seda kasutada ja missugused praktilised ülesanded võivad olla lahendatud nende abil. Tehisnärvivõrk on väga lihtsustatud bioloogilise närvivõrgu mudel. Tema tööalgoritmid on ka tulnud bioloogiliste närvivõrkude tööprintsiibist. Eduard Petlenkov, Automaatikainstituut, 2014

Control Design Nominal Model Regulator © Lennart Ljung

Control Design True System Regulator © Lennart Ljung

Control Design Model error Nominal Model Regulator © Lennart Ljung

Control Design Model error True system Nominal Model Regulator © Lennart Ljung

Control Design Model error Nominal Model Nominal closed loop system Regulator © Lennart Ljung

A Data Set/ nonlinear process Output Input © Lennart Ljung

Feedback Neural Networks. Identification of dynamic systems (1) External feedback: Sellistel võrkudel on olemas siseolek ja järelikult, rekurentse närvivõrgu väljundväärtus sõltub nii selle ajahetke sisenditest kui ka eelmiste ajahetkede sisend– ja väljundväärtustest. See annab võimalust modelleerida reaalset dünaamilist protsesse. Seepärast nimetatakse neid tihti ka dünaamilisteks närvivõrkudeks. Nende närvivõrkude struktuuride matemaatiline kirjeldus on väga keeruline ja eksisteerib ainult lihtsa struktuuriga tagasisidestatud võrkude kohta. Tagasisidestatud võrkude struktuure on väga palju. Vaatleme paar nendest (kõige lihtsamad ja kõige sagemini kasutatavad). Kõige lihtsam viis on küll suunata mitmekihelise pertseptroni väljundväärtust tagasi võrgu lisasisenditele läbi mälu elemendi D on mäluelement, mis viivitab signaali ühe takti võrra(D-trigger).Ta on realiseeritav nii tehniliselt kui ka programmselt. On näha, et lisasisenditele antakse ka viivitatud sisendväärtuseid. Niimoodi, närvivõrgul on n+m+1 sisendit ja üks väljund. Närvivõrgu funktsioon on järgnev: Selles näites toodud närvivõrgus ei ole tagasisidet. See on kahekihiline pertseptron sisenditega. Kõik tagasisided on välised (asuvad otsesuunatud võrgu väljundite ja sisendite vahel). Selle tüübi närvivõrku on otstarbekas kasutada dünaamiliste protsesside ja süsteemide modelleerimisel, kui on olemas a’priori informatsioon süsteemi struktuurist või protsessi iseloomust. Kui informatsiooni modelleeritava süsteemi või protsessi kohta ei ole piisav ja on teada ainult katsetest saadud sisend- ja vastavate väljundväärtuste paarid, siis on parem kasutada näiteks Elman’i rekurentset võrku. Eduard Petlenkov, Automaatikainstituut, 2014

Feedback Neural Networks. Identification of dynamic systems (2) Elman network Internal feedback: where r is the number of neurons on the recurrent layer; Elman’i rekurentses võrgus (joonis 1.12) on olemas vähemalt üks nn. rekurentne kiht. Joonisel on toodud kahekihilise Elman’i võrgu näide, kus ainus peidetud kiht ongi rekurentne kiht. Järelikult, võrgu parameetrite hulka lisandub veel üks kaalukoefitsientide maatriks: Peidetud kihi väljundid ajahetkel on järgmisel taktil võrgu siseolekud. Seda võrgu kasutamine oluliselt laiendab lahendatavate ülesannete diapasooni. Samal ajal, kõik võrgus toimuvad arvutused lähevad keerulisemaks. Eduard Petlenkov, Automaatikainstituut, 2014

Identification with ANNs (1) is the input of the system is the output of the system is the output of the model On antud süsteem, mille funktsioon on tundmatu. Identifitseerimise ülesandeks on selle funktsiooni matemaatilise mudeli saavutamine: Mudeli viga on süsteemi ja mudeli väljundite vahe: Identifitseerimise eesmärgiks on vähendada viga E: Kui juhitav süsteem on lineaarne, siis tema mudeli (ülekandefunktsiooni ) arvutamiseks on väljatöötanud paljud meetodeit. Näiteks, „vähim ruutude meetod“. Reaalses elus aga, juhitavad süsteemid on tavaliselt mittelineaarsed. Mittelineaarsetel süsteemidel ei eksisteeri ülekandefunktsioone. Ülekandefunktsioonid on erinevad iga tööpunkti ümbruses. Eelpool oli mainitud, et tehisnärvivõrgud on võimelised aproksimeerima suvalist pidevat (seal hulgas ka mittelineaarset) funktsiooni. Mittelineaarsete süsteemide identifitseerimine on mitte midagi muu, kui dünaamilise mittelineaarse funktsiooni aproksimeerimine. Dünaamiliste protsesside modelleerimiseks, närvivõrkude arhitektuuri tuuakse sisse tagasisided. See tähendab, et närvivõrkude kasutamine annab võimaluse juhtida mittelineaarseid süsteeme. Eduard Petlenkov, Automaatikainstituut, 2014

Identification with ANNs (2) Identifitseerimine närvivõrkude abil koosneb järgnevatest sammudest: Eduard Petlenkov, Automaatikainstituut, 2014

Choosing initial weighting coefficients (usually random). Identification with ANNs (3) Getting experimental training data: Input signal is given to the system and the corresponding output reaction is measured. Obtained input-output data is used to train a NN-based model; Choosing NN’s structure: number of inputs, outputs, hidden layers, neurons; activation functions; Choosing initial weighting coefficients (usually random). 1) Identifitseerimine toimub sisendi ja väljundi etalonväärtuste alusel. Õpetamisprotsessi käigus õpib närvivõrk anda õigeid väljundväärtuseid teatud etalonväärtuste hulgas. Tänu oma üldistusvõimele, annab närvivõrk õiged väärtused ka uute (õpetamisel kasutamata) sisendväärtuste hulgas. Eduard Petlenkov, Automaatikainstituut, 2014

Calculation of NN outputs corresponding to the training input set; Identification with ANNs (3) Calculation of NN outputs corresponding to the training input set; Comparison of outputs with reference outputs from the training set – calculation of model error; Calculation of uptadeted weighting coefficients using selected training algorithm; Repeat steps 4-6 untill a predefined number of iterations (epochs) is reached or until the desired accuracy is achieved. Eduard Petlenkov, Automaatikainstituut, 2014

Mustrite tuvastamine ja klassifitseerimine tehisnärvivõrkudega NN-based pattern recognition and classification Tänapäeval üks populaarsemaid mõisteid juhtimisteoorias on Närvivõrk. Vaatleme mis on närvivõrk, millest võrk koosneb, kuidas seda kasutada ja missugused praktilised ülesanded võivad olla lahendatud nende abil. Tehisnärvivõrk on väga lihtsustatud bioloogilise närvivõrgu mudel. Tema tööalgoritmid on ka tulnud bioloogiliste närvivõrkude tööprintsiibist. Eduard Petlenkov, Automaatikainstituut, 2014

It doesn’t have any reference outputs Self-organizing networks Self-orgamizing network is capable of adjusting its parameters on the basis of inputs and chosen optimization criteria. It doesn’t have any reference outputs Kohonen map Kõige lihtsam iseorganiseeruva süsteemi näide on Kohonen’i närvivõrk. Kohonen’i närvivõrk koosneb sisendvektorist (N sisendit ) ja ühest neuronite kihist, kus neuronid on paigutatud kahemõõtmelisel tasandil nii, nagu on näidatud joonisel. Seda kihti nimetatakse ka Kohonen’i kihiks. Iga sisend on seotud iga neuroni ühe sisendiga. (“igaüks igaühega”). Iga sisend korrutatakse läbi vastava kaalukoefitsiendiga . Olgu Kohonen’i kiht koosneb M-ist neuronitest. Järelikult, võrgul on M väljundit. Iga väljundi j jaoks defineerime kaugust sisendvektori ja kaalukoefitsientide vektori vahel: Selle arhitektuuriga närvivõrku, kus iga neuroni j jaoks on defineeritud Eukleediline kaugus selle neuroni kaalukoefitsientide ja sisendvektori vahel nimetatakse Kohonen’i võrguks. Kohonen’i võrgu iseõppemise protsessi jooksul leitakse niisugused kaalukoefitsientide väärtused, et sarnaste sisendvektori puhul maksimaalseks oleks ühe ja sama neuroni väljund ning teise sarnaste sisendite gruppi puhul maksimaalseks oleks teise neuroni väljund jne. On ilmne, et seda tüübi närvivõrke on väga mugav kasutada klassifitseerimise ülesannete lahendamisel 28 Eduard Petlenkov, Automaatikainstituut, 2014 28

A Example 1: Character recognition(1)

Example 1: Character recognition (2)

Example 2: number recognition

Example 2: Number recognition– NN structure net = newff(minmax(P),[25 10],{'logsig' 'logsig'},'traingda') Etalon_1=[1 0 0 0 0 0 0 0 0 0]'; Etalon_2=[0 1 0 0 0 0 0 0 0 0]'; Etalon_3=[0 0 1 0 0 0 0 0 0 0]'; Etalon_4=[0 0 0 1 0 0 0 0 0 0]'; Etalon_5=[0 0 0 0 1 0 0 0 0 0]'; Etalon_6=[0 0 0 0 0 1 0 0 0 0]'; Etalon_7=[0 0 0 0 0 0 1 0 0 0]'; Etalon_8=[0 0 0 0 0 0 0 1 0 0]'; Etalon_9=[0 0 0 0 0 0 0 0 1 0]'; Etalon_0=[0 0 0 0 0 0 0 0 0 1]'; net.trainParam.goal = 0 net.trainParam.epochs=10000

Example 2: Number recognition– testing on the training set   1 2 3 4 5 6 7 8 9 0.9999 0.0000 10

Example 2: Number recognition– testing on the validation set   1 2 3 4 5 6 7 8 9 0,0668 0,0006 0,0066 0,0026 0,0089 0,0152 0,0034 0,0000 0,0050 0,0001 0,0019 0,1548 0,0014 0,0005 0,0108 0,0044 0,0013 0,0145 0,0002 0,1495 0,0032 0,0343 0,0081 0,0039 0,0003 0,0102 0,0004 0,0047 0,0008 0,0092 0,0580 0,0020 0,0611 0,0065 0,0154 0,0009 0,1030 0,5868 0,0177 0,0056 0,0010 0,2799 0,0051 10 0,0186