Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Antrenarea retelelor neurale


Antrenarea retelelor neurale


Antrenarea retelelor neurale

Antrenare (sau invatare) inseamna modificarea ponderilor si a bias-urilor retelei neurale. Prezentam doua tipuri de invatare: incrementala si batch (la gramada).

Antrenare incrementala

Ponderile si bias-urile sunt actualizate de fiecare data cand o intrare este aplicata retelei. Poate fi aplicata atat retelelor statice cat si dinamice.

Sa consideram urmatoarea retea statica:

Dorim sa antrenam reteaua astfel incat sa aproximeze functia liniara t=2*p1+p2. Atunci pentru intrarile

iesirile dorite (target-uri) vor fi

Pentru inceput luam rata de invatare 0.

net = newlin([-1 1;-1 1],1,0,0);

net.IW ];

net.b

Vom prezenta intrarile si target-urile ca date secventiale:

P = ;

T = ;

Pentru antrenarea retelei, scriem

[net,a,e,pf] = adapt(net,P,T);

Vedeti ce valori au parametrii a (iesirea retelei) si e (eroarea).

Vom stabili rata de invatare la 0.1 si reapelam functia de antrenare adapt

net.inputWeights.learnParam.lr=0.1;

net.biases.learnParam.lr=0.1;

[net,a,e,pf] = adapt(net,P,T);

Cum se modifica parametrii a si e fata de apelarea anterioara?

Putem antrena incremental si o retea dinamica.



net = newlin([-1 1],1,[0 1],0.1);

net.IW ];

net.biasConnect

Pi = ;

P = ;

T = ;

[net,a,e,pf] = adapt(net,P,T,Pi);

Ce valori au ponderile si bias-ul acum?

Antrenarea batch

Ponderile si bias-urile sunt actualizate o singura data dupa ce toate intrarile si target-urile au fost prezentate retelei.

In cazul retelei statice prezentate, scriem

net = newlin([-1 1;-1 1],1,0,0.1);

net.IW ];

net.b

P = [1 2 2 3; 2 1 3 1];

T = [4 5 7 7];

[net,a,e,pf] = adapt(net,P,T);

Ce valori au ponderile si bias-ul dupa antrenare?

Pentru antrenarea batch a retelelor statice se poate folosi si functia train:

net = newlin([-1 1;-1 1],1,0,0.1);

net.IW ];

net.b

P = [1 2 2 3; 2 1 3 1];

T = [4 5 7 7];

net.inputWeights.learnParam.lr = 0.1;

net.biases.learnParam.lr = 0.1;

net.trainParam.epochs

net = train(net,P,T);

Comparati ponderile cu cele obtinute prin antrenarea cu adapt.

In cazul retelelor dinamice, antrenarea batch se realizeaza cu functia train:

net = newlin([-1 1],1,[0 1],0.02);

net.IW ];

net.biasConnect

net.trainParam.epochs

Pi = ;

P = ;

T = ;

net=train(net,P,T,Pi);

Ce valori au ponderile dupa antrenare?







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate