Neuron artificial

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 25 decembrie 2020; verificările necesită 4 modificări .

Un neuron artificial ( neuron matematic McCulloch  - Pitts , neuron formal [1] ) este un nod al unei rețele neuronale artificiale , care este un model simplificat al unui neuron natural . Din punct de vedere matematic, un neuron artificial este de obicei reprezentat ca o funcție neliniară a unui singur argument - o combinație liniară a tuturor semnalelor de intrare. Această funcție este numită funcție de activare [2] sau funcție de operare, funcție de transfer. Rezultatul este trimis la o singură ieșire. Astfel de neuroni artificiali sunt combinați în rețele - ei conectează ieșirile unor neuroni la intrările altora. Neuronii și rețelele artificiale sunt elementele principale ale unui neurocomputer ideal . [3]

Prototip biologic

Un neuron biologic constă dintr-un corp cu un diametru de 3 până la 100 de microni, care conține un nucleu (cu un număr mare de pori nucleari) și alte organite (inclusiv un ER dur foarte dezvoltat cu ribozomi activi , aparatul Golgi ) și procese. Există două tipuri de lăstari. Un axon  este de obicei un proces lung, adaptat pentru a conduce excitația din corpul unui neuron. Dendritele  sunt, de regulă, procese scurte și foarte ramificate, care servesc ca loc principal pentru formarea sinapselor excitatorii și inhibitorii care afectează neuronul (diferiți neuroni au un raport diferit între lungimea axonului și a dendritelor). Un neuron poate avea mai multe dendrite și, de obicei, un singur axon. Un neuron poate avea conexiuni cu alți 20.000 de neuroni. Cortexul cerebral uman conține aproximativ 80 de miliarde de neuroni.

Istoricul dezvoltării

Modelul matematic al unui neuron artificial a fost propus de W. McCulloch și W. Pitts împreună cu un model al unei rețele formate din acești neuroni. Autorii au arătat că rețeaua pe astfel de elemente poate efectua operații numerice și logice [4] . În practică, rețeaua a fost implementată de Frank Rosenblatt în 1958 ca program de calculator, iar mai târziu ca dispozitiv electronic - un perceptron . Inițial, neuronul putea funcționa doar cu semnalele zero logic și unul logic [5] , întrucât a fost construit pe baza unui prototip biologic, care poate fi doar în două stări - excitat sau neexcitat. Dezvoltarea rețelelor neuronale a arătat că, pentru a extinde domeniul de aplicare al acestora, este necesar ca neuronul să poată lucra nu numai cu semnale binare, ci și cu semnale continue (analogice). O astfel de generalizare a modelului neuronului a fost făcută de Widrow și Hoff [6] , care au propus să utilizeze curba logistică ca funcție de declanșare a neuronului.

Conexiuni între neuronii artificiali

Conexiunile prin care semnalele de ieșire ale unor neuroni ajung la intrările altora sunt adesea numite sinapse , prin analogie cu conexiunile dintre neuronii biologici. Fiecare conexiune este caracterizată de propria sa greutate . Conexiunile cu greutate pozitivă se numesc excitatoare , iar cele cu greutate negativă se numesc inhibitoare [7] . Neuronul are o singură ieșire, numită adesea axon , prin analogie cu prototipul biologic. De la o singură ieșire a unui neuron, un semnal poate ajunge la un număr arbitrar de intrări ale altor neuroni.

Model matematic

Matematic, un neuron este un sumator ponderat a cărui singură ieșire este dată de intrările sale și de matricea de ponderi, după cum urmează:

, Unde

Aici și  sunt, respectiv, semnalele la intrările neuronului și greutățile intrărilor, funcția u se numește câmp local indus, iar f(u) este funcția de transfer. Valorile posibile ale semnalelor la intrările neuronului sunt considerate date în intervalul . Ele pot fi fie discrete (0 sau 1) fie analogice. Intrarea suplimentară și greutatea ei corespunzătoare sunt folosite pentru a inițializa neuronul [8] . Prin inițializare se înțelege deplasarea funcției de activare a neuronului de-a lungul axei orizontale, adică formarea pragului de sensibilitate al neuronului [5] . În plus, uneori o anumită variabilă aleatoare, numită schimbare, este adăugată în mod deliberat la ieșirea unui neuron. Schimbarea poate fi considerată ca un semnal pe o sinapsă suplimentară, mereu încărcată.

Funcția de transfer a unui neuron

Funcția de transfer determină dependența semnalului de la ieșirea neuronului de suma ponderată a semnalelor de la intrările acestuia. În cele mai multe cazuri, este în creștere monoton și are o gamă de sau , dar există și excepții. De asemenea, pentru unii algoritmi de invatare in retea, este necesar ca acesta sa fie continuu diferentiabil pe intreaga axa numerica [8] . Un neuron artificial este pe deplin caracterizat prin funcția sa de transfer. Utilizarea diferitelor funcții de transfer permite introducerea neliniarității în funcționarea neuronului și a rețelei neuronale în ansamblu.

Clasificarea neuronilor

Practic, neuronii sunt clasificați în funcție de poziția lor în topologia rețelei. Acțiune:

Tipuri de bază de funcții de transfer

Funcție de transfer liniar

Semnalul de la ieșirea neuronului este legat liniar de suma ponderată a semnalelor de la intrarea acestuia.

,

unde  este un parametru al funcției. În rețelele neuronale artificiale cu o structură stratificată, neuronii cu funcții de transfer de acest tip, de regulă, constituie stratul de intrare. Pe lângă o funcție liniară simplă, pot fi utilizate modificările acesteia. De exemplu, o funcție semiliniară (dacă argumentul său este mai mic decât zero, atunci este egal cu zero, iar în alte cazuri se comportă ca una liniară) sau o funcție în trepte (o funcție liniară cu saturație), care poate fi exprimat prin formula [10] :

În acest caz, funcția poate fi deplasată de-a lungul ambelor axe (așa cum se arată în figură).

Dezavantajele funcțiilor de activare pas și semiliniară față de cea liniară pot fi numite faptul că nu sunt diferențiabile pe întreaga axă numerică, ceea ce înseamnă că nu pot fi utilizate la învățarea după niște algoritmi.

Funcția de transfer de prag

Un alt nume este funcția Heaviside . Reprezintă un gol. Până când semnalul ponderat la intrarea neuronului atinge un anumit nivel , semnalul la ieșire este zero. De îndată ce semnalul de la intrarea neuronului depășește nivelul specificat, semnalul de ieșire sare cu unu. Primul reprezentant al rețelelor neuronale artificiale stratificate  , perceptronul [11] , a constat exclusiv din neuroni de acest tip [5] . Notația matematică pentru această funcție arată astfel:

Aici  este deplasarea funcției de activare în raport cu axa orizontală; în consecință, ar trebui să se înțeleagă suma ponderată a semnalelor la intrările neuronului fără a lua în considerare acest termen. Datorită faptului că această funcție nu este diferențiabilă pe toată axa x, ea nu poate fi utilizată în rețele antrenate de algoritmul de backpropagation și alți algoritmi care necesită diferențierea funcției de transfer.

Funcția de transfer sigmoidal

Unul dintre cele mai utilizate tipuri de funcții de transfer în acest moment. Introducerea funcțiilor de tip sigmoid s-a datorat limitărilor rețelelor neuronale cu o funcție de activare de prag a neuronilor - cu o astfel de funcție de activare, oricare dintre ieșirile rețelei este fie zero, fie una, ceea ce limitează utilizarea rețelelor care nu sunt în probleme de clasificare. . Utilizarea funcțiilor sigmoide a făcut posibilă trecerea de la ieșirile neuronilor binari la cele analogice [12] . Funcțiile de transfer de acest tip, de regulă, sunt inerente neuronilor localizați în straturile interioare ale rețelei neuronale.

Funcție logistică

Matematic , funcția logistică poate fi exprimată după cum urmează:

Aici t  este un parametru de funcție care determină abruptul acestuia . Pe măsură ce t se apropie de infinit, funcția degenerează într-o funcție de prag. Când sigmoidul degenerează într-o funcție constantă cu o valoare de 0,5. Domeniul acestei funcții este în intervalul (0,1). Un avantaj important al acestei funcții este simplitatea derivatei sale:

Faptul că derivata acestei funcții poate fi exprimată în termenii valorii sale facilitează utilizarea acestei funcții la antrenarea unei rețele folosind algoritmul de backpropagation [13] . O caracteristică a neuronilor cu o astfel de caracteristică de transfer este că ei amplifică semnalele puternice mult mai puțin decât cele slabe, deoarece zonele de semnale puternice corespund secțiunilor plate ale caracteristicii. Acest lucru previne saturația de la semnale mari [14] .

Tangenta hiperbolica

Folosind funcția tangentă hiperbolică

diferă de curba logistică considerată mai sus prin faptul că intervalul său de valori se află în intervalul (-1; 1). Deoarece raportul este corect

,

atunci ambele grafice diferă doar prin scara axelor. Derivata tangentei hiperbolice, desigur, este exprimată și printr-o funcție de valoare pătratică; proprietatea de a rezista la saturație este exact aceeași.

Tangenta hiperbolică modificată

Folosind funcția tangentă hiperbolică modificată

scalat de-a lungul axei y până la intervalul [-1; 1] vă permite să obțineți o familie de funcții sigmoidale.

Funcția de transfer pe bază radială

Funcția de transfer pe bază radială (RBF) ia ca argument distanța dintre vectorul de intrare și un centru de funcții de activare predefinit. Valoarea acestei funcții este mai mare, cu atât vectorul de intrare este mai aproape de centru [15] . Ca bază radială, puteți, de exemplu, să utilizați funcția Gaussiană :

.

Aici  este distanța dintre centru și vectorul semnalelor de intrare . Parametrul scalar determină rata de dezintegrare a funcției pe măsură ce vectorul se îndepărtează de centru și se numește lățimea ferestrei , parametrul determină deplasarea funcției de activare de-a lungul axei absciselor. Rețelele cu neuroni care utilizează astfel de caracteristici sunt numite rețele RBF . Diferite metrici [16] pot fi utilizate ca distanță între vectori , distanța euclidiană este de obicei folosită:

.

Aici  , este a --a componentă a vectorului alimentat la intrarea neuronului și  este --a componentă a vectorului care determină poziția centrului funcției de transfer. În consecință, rețelele cu astfel de neuroni sunt numite probabilistice și regresii [17] .

În rețelele reale , funcția de activare a acestor neuroni poate reflecta distribuția probabilității unei variabile aleatoare sau poate indica orice dependențe euristice între variabile.

Alte funcții de transfer

Funcțiile enumerate mai sus sunt doar o fracțiune din numeroasele funcții de transfer utilizate în prezent. Alte funcții de transfer includ [18] :

Neuron stocastic

Modelul unui neuron artificial determinist este descris mai sus, adică starea la ieșirea neuronului este determinată în mod unic de rezultatul funcționării sumătorului de semnale de intrare. Sunt considerați și neuronii stocastici , unde comutarea neuronului are loc cu o probabilitate în funcție de câmpul local indus, adică funcția de transfer este definită ca:

,

unde distribuția probabilității are de obicei forma unui sigmoid:

,

se introduce o constantă de normalizare pentru condiţia de normalizare a distribuţiei de probabilitate . Astfel, neuronul este activat cu probabilitate . Parametrul  este analog cu temperatura (dar nu cu temperatura neuronului) și determină tulburarea în rețeaua neuronală. Dacă avem tendința la 0, neuronul stocastic se va transforma într-un neuron obișnuit cu o funcție de transfer Heaviside (funcția de prag).

Modelarea funcțiilor logice formale

Un neuron cu o funcție de transfer de prag poate modela diferite funcții logice.

, Unde

Tabelele ilustrează modul în care este posibil, prin setarea greutăților semnalelor de intrare și a pragului de sensibilitate, să facă neuronul să efectueze conjuncție („ȘI logic”) și disjuncție („SAU”) peste semnalele de intrare, precum și negația logică a semnalul de intrare [19] . Aceste trei operații sunt suficiente pentru a modela absolut orice funcție logică a oricărui număr de argumente.

NU T -1,0
w -1,5
X 0 unu
f unu 0
Și T 1.5
w 1 1.0
w 2 1.0
x 1 0 0 unu unu
x2 _ 0 unu 0 unu
f 0 0 0 unu
SAU T 0,5
w 1 1.0
w 2 1.0
x 1 0 0 unu unu
x2 _ 0 unu 0 unu
f 0 unu unu unu

Vezi și

Note

  1. L. G. Komartsova, A. V. Maksimov „Neurocomputers”, MSTU. N. E. Bauman, 2004, ISBN 5-7038-2554-7
  2. Prin analogie cu neuronii de activare
  3. Mirkes E.M. , Neurocomputer. Proiect de standard. Copie de arhivă din 15 iunie 2009 la Wayback Machine  - Novosibirsk: Nauka, 1999. - 337 p. ISBN 5-02-031409-9
  4. În McCulloch W.S., Pitts W. A logical Calculus of Ideas Immanent in Nervous Activity  - Bull. Biofizică matematică, 1943 online  (link indisponibil)
  5. 1 2 3 Yasnitsky, 2005 , p. 29.
  6. În Widrow B., Hoff ME Circuite de comutare adaptive . 1960 Recordul conferinței IRE WESTCON. - New York, 1960
  7. V. V. Kruglov, V. V. Borisov - Rețele neuronale artificiale. Teorie și practică - p.11
  8. 1 2 V. A. Terekhov - Sisteme de control al rețelelor neuronale - p.12-13
  9. V. V. Kruglov, V. V. Borisov - Rețele neuronale artificiale. Teorie și practică - p.14
  10. V. V. Kruglov, V. V. Borisov - Rețele neuronale artificiale. Teorie și practică - p.12
  11. Foarte des în literatură poți găsi numele perceptron
  12. Yasnitsky, 2005 , p. 34.
  13. Forum CIT - Neurocomputer - arhitectură și implementare . Consultat la 16 noiembrie 2007. Arhivat din original pe 10 mai 2008.
  14. V. V. Kruglov, V. V. Borisov - Rețele neuronale artificiale. Teorie și practică - p.13
  15. Yasnitsky, 2005 , p. 77.
  16. V. V. Kruglov, V. V. Borisov - Rețele neuronale artificiale. Teorie și practică - p.349
  17. V. V. Kruglov, V. V. Borisov - Rețele neuronale artificiale. Teorie și practică - p.348
  18. text
  19. Yasnitsky, 2005 , p. treizeci.

Literatură

  • Terekhov V.A., Efimov D.V., Tyukin I.Yu. Sisteme de control al rețelei neuronale. - primul. - Liceu , 2002. - S. 184. - ISBN 5-06-004094-1 .
  • Kruglov VV, Borisov VV Rețele neuronale artificiale. Teorie și practică. - primul. - M . : Hotline - Telecom, 2001. - S. 382. - ISBN 5-93517-031-0 .
  • Callan R. Essential Neural Network Concepts = The Essence of Neural Networks Prima ediție. - primul. - „Williams” , 2001. - S. 288. - ISBN 5-8459-0210-X .
  • Yasnitsky L. N. Introducere în inteligența artificială. - primul. - Centrul editorial „Academia”, 2005. - P. 176. - ISBN 5-7695-1958-4 .
  • Komartsova L. G., Maksimov A. V. Neurocalculatoare . - primul. - Editura MSTU im. N.E. Bauman, 2002. - P. 320. - ISBN 5-7038-1908-3 .
  • Savelyev A. V. Conceptul de neuron multiprocesor // Inteligență artificială. Sisteme inteligente și multiprocesor. - Doneţk-Taganrog-Minsk, 2006. - S. 293-300 .
  • Savelyev A. V. Neurocomputerele în invenții // revista „Neurocomputers: development, application”. , Editura „Inginerie radio”. - Moscova, 2004. - Nr. 2-3 . - S. 33-49 .
  • Lakhmi C. Jain; NM Martin Fuziunea rețelelor neuronale, a sistemelor fuzzy și a algoritmilor genetici: aplicații industriale. — CRC Press, CRC Press LLC, 1998
  • Emelyanov VV, Kureichik VV, Kureichik VN Teoria și practica modelării evolutive. - M: Fizmatlit, 2003.

Link- uri externe