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]
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.
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.
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.
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ă:
, UndeAici ș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 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.
Practic, neuronii sunt clasificați în funcție de poziția lor în topologia rețelei. Acțiune:
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.
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.
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 hiperbolicaFolosind 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ă (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.
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] :
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).
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 |