Modelul rețelei neuronale bionice și aplicațiile sale Preprint, Inst

Orez. 2.2. Structura unui neuron artificial

Un neuron este format din trei tipuri de elemente: multiplicatori (sinapse), sumator Şi convertor neliniar . Sinapsele comunică între neuroni și înmulțesc semnalul de intrare cu un număr care caracterizează puterea conexiunii (greutatea sinapsei). Adderul efectuează adăugarea de semnale care sosesc prin conexiuni sinaptice de la alți neuroni și semnale de intrare externe. Un convertor neliniar implementează o funcție neliniară a unui argument - ieșirea sumatorului. Această funcție este numită functia de activare sau functie de transfer neuron. Neuronul ca întreg implementează o funcție scalară a unui argument vectorial.

Modelul matematic al unui neuron:

, (2.1)

Unde s- rezultatul însumării (suma); w i- greutatea sinapsei, ; - componenta vectorului de intrare (semnal de intrare), ; b— valoarea de părtinire; n- numărul de intrări de neuroni; la- semnal de iesire neuron; f— transformare neliniară (funcție de activare).

În general, semnalul de intrare, coeficienții de ponderare și offset-ul pot lua valori reale, dar în multe probleme practice - doar unele valori fixe. Ieșire y este determinată de tipul funcției de activare și poate fi reală sau întreagă.

Se numesc conexiuni sinaptice cu greutăți pozitive incitant , cu ponderi negative - inhibarea . Elementul computațional descris poate fi considerat un model matematic simplificat al neuronilor biologici. Pentru a sublinia diferența dintre neuronii biologici și artificiali, aceștia din urmă sunt uneori numiți asemănători neuronilor elemente sau neuroni formali .

Pentru a introduce semnal s convertorul neliniar răspunde cu un semnal de ieșire f(s), care reprezintă rezultatul y neuron. Exemple de funcții de activare sunt prezentate în tabel. 2.1, iar graficele celor mai comune funcții de activare sunt în Fig. 2.2.

Tabelul 2.1

Funcții de activare a neuronilor

Nume

Gama de valori

Liniar

semiliniar

Logistică (sigmoidală)

tangentă hiperbolică (sigmoidală)

Exponenţial

Sinusoidal

Sigmoidal (rațional)

Pasaj (liniar cu saturație)

Prag

Modular

logistică funcția sau sigmoid (funcţie S tip în formă) (Fig.


2.3):

. (2.3)

Când scade o Sigmoidul devine mai plat, în limita la o= 0 degenerând într-o linie orizontală la nivelul 0,5, cu creștere O Sigmoidul se apropie de forma unei singure funcții de salt cu un prag T. Din expresia pentru sigmoid este evident că valoarea de ieșire a neuronului se află în intervalul (0, 1). Una dintre proprietățile valoroase ale funcției sigmoide este o expresie simplă pentru derivatul său, a cărei utilizare va fi discutată mai târziu:

. (2.4)

Orez. 2.3. Grafice ale funcţiilor de activare: a – funcţia unui singur salt; b – prag liniar (histereză); c – sigmoid (funcția logistică), formula (3); g – sigmoid (tangenta hiperbolica)

Trebuie remarcat faptul că funcția sigmoidă este diferențiabilă de-a lungul întregii axe x, care este utilizată în unii algoritmi de învățare. În plus, are proprietatea de a amplifica semnalele slabe mai bine decât cele mari și de a preveni saturarea semnale mari, deoarece acestea corespund regiunilor argumentelor unde sigmoidul are o pantă blândă.

Un neuron artificial imită, într-o primă aproximare, proprietățile unui neuron biologic. Intrarea unui neuron artificial primește un număr de semnale, fiecare dintre acestea fiind ieșirea unui alt neuron. Fiecare intrare este înmulțită cu o greutate corespunzătoare, analogă cu puterea sinaptică și toate produsele sunt însumate pentru a determina nivelul de activare al neuronului. În fig. 1.2 prezintă un model care implementează această idee. Deși paradigmele de rețea sunt foarte diverse, aproape toate se bazează pe această configurație. Există multe semnale de intrare aici, etichetate x 1 ,x 2 , …,x n, merge la neuronul artificial. Aceste semnale de intrare, notate colectiv prin vector X, corespund semnalelor care ajung la sinapsele unui neuron biologic. Fiecare semnal este înmulțit cu greutatea corespunzătoare w 1 , w 2 , , w n , și merge la blocul de însumare, desemnat Σ. Fiecare greutate corespunde „puterii” unei conexiuni sinaptice biologice. (Setul de greutăți este notat colectiv prin vector W.) Blocul de însumare corespunzător corpului elementului biologic adaugă intrările ponderate algebric, creând o ieșire pe care o vom numi NET În notație vectorială, aceasta poate fi scrisă în mod compact astfel:

NET = XW.

Orez. 1.2. Neuron artificial

        1. Funcții de activare

OUT = K(NET),

Unde la - constantă, funcție de prag

OUT = 1 dacă NET > T, OUT = 0 în caz contrar,

Unde T - o valoare prag constantă sau o funcție care modelează mai precis caracteristica de transfer neliniar a unui neuron biologic și reprezintă posibilități mari pentru rețeaua neuronală.

Orez. 1.3. Neuron artificial cu funcție de activare

În fig. 1.3 bloc desemnat F, primeşte semnalul NET şi emite semnalul OUT Dacă blocul F restrânge intervalul de modificări ale valorii NET, astfel încât pentru orice valoare a NET valorile OUT aparțin unui anumit interval finit, apoi F numit funcția „compresivă”. Funcția logistică sau „sigmoidă” (în formă de S) prezentată în Fig. 1 este adesea folosită ca funcție de „strângere”. 1.4a. Această funcție este exprimată matematic ca F(x)= 1/(1 + e - x). Astfel,

.

Prin analogie cu sistemele electronice, funcția de activare poate fi considerată o amplificare neliniară caracteristică unui neuron artificial. Câștigul este calculat ca raport dintre incrementul în OUT și incrementul mic în NET care l-a cauzat. Este exprimat prin panta curbei la un anumit nivel de excitație și variază de la valori mici la excitații negative mari (curba. este aproape orizontală) la o valoare maximă la excitație zero și scade din nou când excitația devine mare pozitivă. Grossberg (1973) a descoperit că un astfel de răspuns neliniar i-a rezolvat dilema de saturație a zgomotului. Cum poate aceeași rețea să gestioneze atât semnalele slabe, cât și cele puternice? Semnalele slabe au nevoie de o amplificare mare a liniei pentru a produce un semnal de ieșire utilizabil. Cu toate acestea, treptele de amplificare cu câștig mare pot determina ieșirea să devină saturată cu zgomotul amplificatorului (fluctuații aleatorii) care este prezent în orice rețea implementată fizic. Semnalele puternice de intrare vor satura, la rândul lor, și etapele amplificatorului, eliminând utilizarea utilă a ieșirii. Regiunea centrală a funcției logistice, care are un câștig mare, rezolvă problema manipulării semnalelor slabe, în timp ce regiunile cu câștig în scădere la capetele pozitive și negative sunt potrivite pentru excitații mari. Astfel, neuronul funcționează cu câștig mare pe o gamă largă de niveluri ale semnalului de intrare.

.

Orez. 1.4a. Funcția logistică sigmoidă

O altă funcție de activare utilizată pe scară largă este tangenta hiperbolică. Este similar ca formă cu funcția logistică și este adesea folosit de biologi ca model matematic de activare a celulelor nervoase. Ca funcție de activare a unei rețele neuronale artificiale, este scrisă după cum urmează:

Orez. 1.4b. Funcția tangentă hiperbolică

Ca și funcția logistică, tangenta hiperbolică este o funcție în formă de S, dar este simetrică față de origine, iar în punctul NET = 0 valoarea semnalului de ieșire OUT este zero (vezi Fig. 1.4b). Spre deosebire de funcția logistică, tangenta hiperbolică ia valori de diferite semne, ceea ce se dovedește a fi benefic pentru o serie de rețele (vezi capitolul 3).

Revizuit model simplu Un neuron artificial ignoră multe dintre proprietățile omologul său biologic. De exemplu, nu ia în considerare întârzierile de timp care afectează dinamica sistemului. Semnalele de intrare generează imediat un semnal de ieșire. Și, mai important, nu ține cont de efectele funcției de modulare a frecvenței sau ale funcției de sincronizare a neuronului biologic, pe care un număr de cercetători le consideră cruciale.

În ciuda acestor limitări, rețelele construite din acești neuroni prezintă proprietăți care seamănă foarte mult cu un sistem biologic. Numai timpul și cercetarea vor putea răspunde la întrebarea dacă astfel de coincidențe sunt accidentale sau o consecință a faptului că modelul surprinde corect cele mai importante caracteristici ale unui neuron biologic.

(Modelul rețelei neuronale bionice și aplicațiile sale
Preprint, Inst. Aplic. Math., Academia Rusă de Științe)

Yolkin S.S., Yolkin S.V., Klyshinsky E.S., Maksimov V.Yu., Musaeva T.N.
(S.S.Yolkin, S.V.Yolkin, E.S.Klyshinsky, V.Yu.Maximov, T.N.Musaeva)

IPM im. M.V.Keldysh RAS

Moscova, 2008
Lucrarea a fost realizată cu sprijin financiar din partea Fundației Ruse pentru Cercetare de bază (proiect nr. 08-01-00626)

Adnotare

Lucrarea prezintă un model de rețea neuronală bazat pe o analiză a comportamentului neuronilor piramidali din creier.

Modelul diferă de abordarea clasică a construcției rețelelor neuronale prin natura neliniară a comportamentului său, introducerea mai multor tipuri de inputuri neuronale și eterogenitatea construcției sale. Lucrarea oferă câteva exemple de construire a rețelelor bionice pentru a rezolva diverse probleme.

Abstract



Lucrarea prezintă modelul rețelei neuronale bazat pe analiza comportamentului neuronilor piramidali ai creierului. Modelul diferă de abordările clasice la reprezentarea rețelei neuronale prin neliniaritate, o grămadă de tipuri de neuroni și eterogenitate. Lucrările conțin câteva exemple de bionici. rețele pentru rezolvarea diferitelor sarcini.

1. INTRODUCERE Acum devine evident că dezvoltarea în continuare a diferitelor aspecte ale problemelor sisteme complexe nu este posibilă fără combinarea eforturilor științelor tehnice și biologice. Sarcinile comune pentru aceste științe sunt: ​​gestionarea obiectelor dinamice și a bazelor de date, precum și optimizarea managementului. Rețelele neuronale sunt folosite pentru a controla sisteme și obiecte complexe.

Abordarea modernă a creării sistemelor neuronale evoluează în direcția îndepărtării funcționării acestora de analogii biologici reali. Pentru modelarea sistemelor neuronale moderne, se folosește un model foarte simplificat al elementului de bază (neuron). Pentru a trece la un analog biologic mai aproximativ al modelului neuronal, este necesar să se schimbe abordarea și să se apeleze la studiile elementelor de bază (neuroni) ale cortexului cerebral uman, iar această zonă este în acest moment nu pe deplin cercetat. Orice cercetare aici este foarte importantă pentru utilizarea în tehnologiile moderne.

În articolul de recenzie al lui A. V. Savelyev „În drum spre teorie generală rețele neuronale. Pe tema complexității” (RFBR grant 04-06-80460. Journal Neurocomputers: development, application No. 4-5, 2006, p. 4) prezintă rezultatele unui studiu al rețelelor neuronale care sunt fundamental inadecvate analogilor lor biologici. Pe baza hipercomplexității deschise a neuronilor biologici, depășind complexitatea rețelelor și nereductibilă la aceasta, autorul articolului arată posibilitatea generalizării teoriei rețelelor neuronale, care poate avea ca rezultat un cu totul alt principiu de organizare a arhitecturii. de neurocalculatoare, credem că atunci când construim modele practice nu este nevoie să luăm în considerare întreaga hipercomplexitate a neuronului, nutriția, biochimia neuronului este necesar să se obțină modele fundamental noi de neuroni biologici și rețele neuronale bazate pe acestea prin utilizarea celor mai recente realizări ale neurobiologiei și neurofiziologiei.

Neuroinformatica tradițională abordează crearea rețelelor neuronale pe baza principiului că, cu cât sarcina este mai complexă, cu atât ar trebui utilizate rețelele neuronale mai mari sau conglomeratele lor. Cu toate acestea, acest lucru nu este întotdeauna adevărat. Utilizarea unui neuron formal ca element de bază al rețelelor neuronale artificiale moderne duce la faptul că, datorită abstracției complete de la un neuron biologic complex, apar limitări tehnice asupra capacităților unor astfel de rețele neuronale. Dar utilizarea unui neuron bionic, făcut cât mai aproape de unul biologic, nu este posibilă nici din cauza complexității sale multistructurale. Astfel, este nevoie de căutarea unei paradigme neurobionice universale care să vizeze analiza mecanismelor, tiparelor și principiilor destinate creării și funcționării unei noi baze de bază a neurocalculatoarelor, combinând simplitatea proiectării rețelelor neuronale clasice și complexitatea și versatilitatea de bază. a neuronilor bionici. Considerăm că pentru a rezolva această problemă este necesară dezvoltarea unui set de modele matematice de neuroni bionici care să răspundă simultan nevoilor neurofiziologiei și neuroinformaticii. În același timp, eforturile noastre se vor concentra în următoarele domenii:

· analiza dinamicii distributiei spatio-temporale si interactiunii blocurilor functionale functionale si nefunctionale;

· influența raportului dintre parametrii putere și timp, informații și control, ajungând la neuron;

· influența unui neuron asupra implementării diferitelor funcții și a interacțiunii neuronilor diferiți din punct de vedere funcțional datorită distribuției diferențiate a informațiilor și a semnalelor de control care sosesc de-a lungul diferitelor ramuri ale axonului de ieșire al unui neuron;

· specificitatea principalelor tipuri de neuroni din cortexul asociativ emisfere cerebrale creier.

Pentru a dezvolta un astfel de model, se presupune că vor fi utilizate metode analiza sistemului la sintetizarea datelor experimentale si la clasificarea neuronilor biologici. De la problema căutării solutie optimaîn unele cazuri este incalculabil datorită naturii empirice a datelor sau a metodelor de lucru cu acestea, a complexității exponențiale a rezolvării problemei prin enumerare etc., apoi a necesității de a folosi metode de construcție bionice. sisteme tehnice devine mai evident.

Pentru a atinge aceste obiective, este necesar să se rezolve următoarele probleme specifice.

1. Generalizarea datelor experimentale privind neuronii biologici, inclusiv oamenii.

2. Clasificarea neuronilor biologici după funcții și proprietăți.

3. Determinarea mecanismelor de bază de funcționare a unui neuron biologic:

Principii de prag pentru limitarea potențialului neuronal,

Principiile inhibiției și excitației și dependențele lor de timp,

Mecanisme de generare a secvențelor de impulsuri și limitările acestora în ceea ce privește potențialul și pragul,

Influența intrărilor neuronilor asupra potențialului său,

Mecanismele de memorie și dinamica modificărilor coeficientului de învățare în timpul funcționării unui neuron ca parte a unei rețele (antrenarea, reantrenarea și dezantrenarea unui neuron),

Mecanismul de întârziere în sosirea impulsurilor între neuroni și dependența acestuia de greutatea și oboseala sinapselor,

Stări de bază ale unui neuron bionic pentru fiecare clasă de neuroni și mecanisme de tranziție între ei;

Determinați principalele tipuri de intrări și ieșiri ale unui neuron, diferențele lor funcționale fundamentale, precum și semnificația lor pentru funcționarea neuronului în ansamblu și impactul asupra principiilor construirii rețelelor neuronale artificiale asupra unor astfel de neuroni bionici;

Evidențiați principalele proprietăți și funcții ale elementelor neuronilor biologici: dendrite, axoni, sinapse, soma.

4. Modelare matematică proprietățile și funcțiile neuronilor biologici.

5. Modelarea matematică a fiecărei clase individuale de neuroni.

6. Dezvoltarea de instrumente pentru lucrul cu neuronii bionici.

7. Construirea rețelelor neuronale folosind aceste modele și testarea performanței acestora pentru diferite clase de probleme.

În prezent, a fost efectuată o generalizare preliminară a datelor experimentale biologice despre neuronii creierului uman. A fost efectuat un studiu teoretic al posibilelor modele matematice ale claselor selectate de neuroni.

Cercetarea efectuată în acest proiect se bazează pe utilizarea modelelor de funcționare a elementelor de bază ale cortexului cerebral uman - neuroni bionici, rețele neuronale ale tuturor elementelor logice, un contor, un analizor de stare a neuronilor, a au fost create un filtru dominant și un sistem de orientare a robotului în labirint. Acest lucru va crea în continuare o bază pentru introducerea neurotehnologiilor în robotică.

1.1. Neuron biologic

Principalul element structural al sistemului nervos este celula nervoasă sau neuronul. Prin neuroni, informațiile sunt transmise de la o parte a sistemului nervos la alta, între care se face schimb de informații sistemul nervosși diferite părți ale corpului. Apar în neuroni procese foarte complexe prelucrarea informatiilor. Cu ajutorul lor se formează răspunsurile (reflexele) organismului la stimuli externi și interni.

Un neuron poate avea diferite dimensiuni și forme, dar schematic este întotdeauna ușor de imaginat ca o celulă cu procese (Figura 1). Este format dintr-un corp celular ( soma), care conține nucleul și procesele, care sunt împărțite în dendrite, prin care impulsurile nervoase ajung la neuroni și axon, de-a lungul căruia un impuls nervos călătorește de la un neuron la alte celule.

Dendritele sunt procese ale unui neuron care conduc impulsurile către corpul neuronului. Ele sunt de obicei scurte, relativ late, foarte ramificate și formează multe sinapse cu alte celule nervoase.

Fiecare axon se termină pe corpul sau dendritele altor neuroni la un contact numit sinapsă. Sinapsa - aceasta este o structură specializată care asigură transferul excitației de la o structură excitabilă la alta. Termenul „sinapsă” a fost introdus de C. Sherrington și înseamnă „convergență”, „conexiune”, „închizătoare”.

Figura 1 - Structura neuronului

Toate iritațiile care intră în sistemul nervos sunt transmise neuronului prin anumite secțiuni ale membranei sale situate în zona contactelor sinaptice. În majoritatea celulelor nervoase, această transmitere se realizează chimic cu ajutorul mediatorilor. Răspunsul neuronilor la stimularea externă este o modificare a valorii potențialului membranei.

Cu cât sunt mai multe sinapse pe o celulă nervoasă, cu atât sunt percepuți mai mulți stimuli diferiți și, prin urmare, cu atât sfera de influență asupra activității acesteia este mai largă și posibilitatea ca celulele nervoase să participe la diferite reacții ale corpului.

Efectele care apar atunci când o sinapsă este activată pot fi excitatorii sau inhibitorii.

Când mai multe sinapse excitatorii sunt activate simultan, impulsul excitator total al neuronului este suma impulsurilor excitatorii locale individuale ale fiecărei sinapse. Odată cu apariția simultană a două influențe sinaptice diferite - excitatoare și inhibitoare - are loc o scădere reciprocă a efectelor lor. În cele din urmă, reacția unei celule nervoase este determinată de suma tuturor influențelor sinaptice.

Odată cu apariția potențialului de acțiune (AP), care, spre deosebire de modificările locale ale potențialului de membrană, este un proces de răspândire, impulsul nervos începe să fie condus de la corpul celulei nervoase de-a lungul axonului către o altă celulă nervoasă sau organ de lucru, adică se realizează funcția efector neuron.

Mărimea potențialului membranei este parametrul principal care determină valorile celor mai importanți indicatori ai stării funcționale a unui neuron - excitabilitatea acestuia.

Excitabilitatea unui neuron este capacitatea sa de a răspunde la intrarea sinaptică cu un potențial de acțiune. Depinde de raportul dintre doi parametri - potențialul membranei și nivelul critic de depolarizare (pragul). În condiții normale de funcționare, nivelul critic de depolarizare a neuronului este relativ constant, astfel încât excitabilitatea neuronului este determinată în principal de mărimea potențialului membranei.

Gradul de depolarizare a celulelor nervoase depinde liniar de frecvența impulsurilor iritante . Departamentele superioare creierul, trimițând impulsuri de diferite frecvențe neuronilor din secțiunile subiacente, reglează excitabilitatea acestora, exercitând controlul asupra răspunsurilor organismului.

1.2. Neuronul formal

Neuronul este parte integrantă rețea neuronală. Figura 2 prezintă structura acestuia.

Figura 2 – Structura unui neuron formal

Este format din trei tipuri de elemente: multiplicatori (sinapsele) - w , sumator –Σ și convertor neliniar - f . Sinapsele comunică între neuroni și înmulțesc semnalul de intrare cu un număr care caracterizează puterea conexiunii (greutatea sinapsei). Adderul efectuează adăugarea de semnale care sosesc prin conexiuni sinaptice de la alți neuroni și semnale de intrare externe. Un convertor neliniar implementează o funcție neliniară a unui argument - ieșirea sumatorului. Această funcție se numește funcția de activare sau funcția de transfer a neuronului. Neuronul ca întreg implementează o funcție scalară a unui argument vectorial. Modelul matematic al unui neuron:

, (1)

Unde

Wi - greutatea (greutatea) sinapsei, i = 1... n;

b - valoarea offset ( părtinire);

s - rezultatul însumării ( sumă);

Xi - componenta vectorului de intrare (semnal de intrare), i = 1... n ;

y este semnalul de ieșire al neuronului;

n - numărul de intrări de neuroni;

f - transformare neliniară (funcție de activare).

În general, semnalul de intrare, coeficienții de ponderare și offset-ul pot lua valori reale, dar în multe probleme practice - doar unele valori fixe. Ieșirea este determinată de tipul funcției de activare și poate fi reală sau întreagă.

Conexiunile sinaptice cu greutăți pozitive sunt numite excitatoare, iar cele cu greutăți negative sunt numite inhibitoare.

Elementul computațional descris poate fi considerat un model matematic simplificat al neuronilor biologici. Pentru a sublinia diferența dintre neuronii biologici și artificiali, aceștia din urmă sunt uneori numiți elemente asemănătoare neuronilor sau neuroni formali.

Traductorul neliniar răspunde la semnalul de intrare cu un semnal de ieșire, care este ieșirea neuronului. Una dintre cele mai comune funcții de activare ale unui convertor neliniar este funcția de activare neliniară cu saturație, așa-numita funcție logistică sau funcție sigmoidă (funcția S -tip în formă):

(2)

Unde

s – argumentul funcției

a – coeficient

Figura 3 - Sigmoid (tangentă hiperbolică)

Din expresia (2) este evident că valoarea de ieșire a neuronului se află în intervalul (0, 1).

Funcția sigmoidă este diferențiabilă de-a lungul întregii axe x, care este utilizată în unii algoritmi de învățare. În plus, are proprietatea de a amplifica semnalele slabe mai bine decât cele mari și de a preveni saturația de la semnalele mari, deoarece acestea corespund regiunilor argumentate în care sigmoidul are o pantă plată.

O rețea neuronală este o colecție de elemente asemănătoare neuronilor conectate într-un anumit mod între ele și la mediul extern folosind conexiuni determinate de coeficienți de ponderare. În funcție de funcțiile îndeplinite de neuroni în rețea, se pot distinge trei tipuri:

Neuroni de intrare cărora le este furnizat un vector care codifică un efect de intrare sau o imagine a mediului extern; de obicei nu efectuează proceduri de calcul, iar informațiile sunt transferate de la intrare la ieșire prin modificarea activării acestora;

Neuroni de ieșire, ale căror valori de ieșire reprezintă ieșirile rețelei neuronale; transformările în ele se efectuează conform expresiilor (1);

Neuronii intermediari formează baza rețelelor neuronale, transformări în care se realizează și conform expresiilor (1).

În majoritatea modelelor neuronale, tipul de neuron este legat de locația sa în rețea. Dacă un neuron are doar conexiuni de ieșire, atunci este un neuron de intrare dacă, dimpotrivă, este un neuron de ieșire; Cu toate acestea, este posibil ca ieșirea unui neuron topologic intern să fie considerată ca parte a ieșirii rețelei. În timpul funcționării rețelei, vectorul de intrare este convertit într-un vector de ieșire și se efectuează o anumită prelucrare a informațiilor. Tipul specific de transformare a datelor realizat de rețea este determinat nu numai de caracteristicile elementelor de tip neuron, ci și de caracteristicile arhitecturii sale, și anume topologia conexiunilor interneuronice, alegerea anumitor subseturi de elemente de tip neuron pentru intrarea și ieșirea informațiilor, metodele de antrenare a rețelei, prezența sau absența competiției între neuroni, direcția și metodele de control și sincronizare a transferului de informații între neuroni.

Alegerea structurii rețelei neuronale se efectuează în conformitate cu caracteristicile și complexitatea sarcinii. Există deja configurații optime pentru rezolvarea anumitor tipuri de probleme. Dacă problema nu poate fi redusă la niciunul dintre tipurile cunoscute, trebuie rezolvată problema complexă a sintetizării unei noi configurații.

1.3. Modelarea comportamentului adaptativ non-trivial (inteligent).

Concentrează-te. Una dintre trăsăturile distinctive ale comportamentului animal este intenția, dorința de a atinge un anumit scop. Scopurile comportamentului animal sunt legate de nevoia de satisfacere nevoi. Nevoia de bază a corpului este nevoie de supraviețuire. Ca nevoi conducătoare (subordonate nevoii de bază) putem distinge necesarul de energie(nevoi de nutriție), nevoie de securitateŞi nevoia de reproducere, și de asemenea – după cum se remarcă în lucrările lui A.A. Jdanova – nevoie de acumulare de cunoștințe.

Dorința de a satisface nevoi poate fi caracterizată motivatiiși caracterizați cantitativ. De exemplu, dacă un animal are o nevoie de nutriție, atunci motivația pentru a satisface această nevoie poate fi introdusă în acest fel: cu cât sentimentul de foame al animalului este mai mare, cu atât este mai mare această motivație; când un animal găsește hrană, o mănâncă și își satisface nevoia nutrițională, această motivație scade; cand animalul este satul, aceasta motivatie ajunge la zero (presupunem ca motivatia este nenegativa).

Încercările de a modela motivațiile și rolul lor în comportamentul adaptativ în mai multe aspecte diferite au fost efectuate de un număr de autori. L.E Tsitolovsky a investigat o schemă simplă de optimizare stocastică (minimizarea motivațiilor), care duce la satisfacerea nevoilor și a analizat, de asemenea, rolul motivațiilor în funcționarea unui neuron individual. DOMNIȘOARĂ. Burtsev și colab. au propus și analizat un model de apariție evolutivă a comportamentului adaptativ cu scop, cu un accent deosebit pe rolul motivațiilor în comportamentul adaptativ. componentă.

Comportament holistic adaptiv . Atunci când modelăm comportamentul animal, este firesc să luăm în considerare comportamentul adaptativ holistic, care ține cont de structura ierarhică generală a nevoilor și a obiectivelor: nevoile și scopurile individuale ale organismului sunt subordonate nevoii de bază - nevoia de supraviețuire. Comportamentul adaptativ holistic este analizat în teoria sistemelor funcționale de către P.K. Anokhina. O schemă de modelare a comportamentului adaptativ holistic a fost propusă în proiectul „Animal” de M.M. Bongarda și colab. . În proiectul Animal, modelarea comportamentului adaptiv holistic este considerată o sarcină apropiată de modelarea gândirii. Lucrarea propune o schemă de modelare a gândirii care include elemente de comportament adaptiv (în contextul comportamentului adaptiv holistic).

Model intern. Un alt concept care este firesc de utilizat atunci când modelați comportamentul adaptiv inteligent este „modelul intern”. Într-adevăr, dacă un animal își poate construi modelul intern al mediului extern și interacțiunea sa cu mediul extern, atunci pe baza unui astfel de model poate prezice evenimente viitoare în mediu externși rezultatele acțiunilor lor și să utilizeze în mod adecvat aceste previziuni în comportamentul lor adaptativ. Mai mult, atunci când face predicții, animalul poate face anumite „concluzii logice” pe baza modelului său.

O persoană, desigur, are și propriile sale modele de situații și modele care îi caracterizează ideile generale despre lumea exterioară. Mai mult, tabloul științific general al lumii - creat de întreaga comunitate științifică internațională - poate fi considerat și ca un set de modele. Aceste. pornind de la conceptul de „model intern”, putem încerca să trecem de la studiile „inteligenței” animalelor la analiza celor mai interesante forme de gândire - gândirea unui om de știință, gândirea folosită în cunoașterea științifică a Naturii. Rețineți că conceptul de model intern a fost subliniat de un număr de autori. V.F. Turchin are în vedere modelarea, formarea de modele animale și umane mediu, pe baza căreia apare previziunea, ca o componentă importantă a procesului cognitiv. E. Jantsch notează că apariția capacității de a construi modele ale lumii exterioare a fost una dintre etapele de auto-organizare a biosferei. F. Heilighen și K. Joslin introduc în mod specific conceptul model endo– model intern, i.e. model, care este format din obiectul analizat (animal, om, robot sau orice alt sistem cibernetic) și distinge acest concept de concept model exo– un model al obiectului în sine, care este construit de un cercetător care analizează comportamentul obiectului în cauză. R. Sutton și E. Berto au propus și analizat un model simplu de rețea neuronală a „modelului intern”. Pentru a face considerația mai specifică, vom schița pe scurt ideile principale ale acestei lucrări. Următorul experiment cu șobolani este simulat. Există un labirint în formă de T, cu două camere atașate de brațele labirintului (Fig. 1). Camera roșie este atașată de brațul drept al labirintului, cea verde de brațul stâng Experimentul constă în trei etape. Pe primul cercetare etapă, animalul este plasat la intrarea în labirint și este lăsat să se deplaseze prin labirint și să-l exploreze, fără nicio întărire sau pedeapsă. Pe al doilea asociativ etapă, ambele camere sunt separate de labirint, transferate în altă cameră și acolo sunt recompensate sau pedepsite: în camera roșie animalul primește hrană, iar în camera verde un șoc electric. La a treia etapă testarea camerele sunt returnate înapoi și atașate la labirint, iar animalul este plasat la intrarea în labirint și observat unde merge. Experimentul demonstrează că, atunci când sunt testate, animalele se deplasează predominant spre dreapta. Conform acestui experiment, animalul trebuie să construiască un model al mediului extern și să combine doi factori independenți: 1) întoarcerea spre dreapta/stânga duce la camera roșie/verde, 2. ) în camera roșie/verde poți obține o recompensă/ pedeapsă. Adică, animalul face o „concluzie logică” cam așa:

Această concluzie este similară cu una dintre formulele de bază ale inferenței logice:

(Dacă de la O ar trebui ÎN, și de la ÎN ar trebui CU, apoi din O ar trebui CU).

A fost construit un model de rețea neuronală pentru a explica comportamentul animalelor în experimentul descris. Diagrama acestei rețele neuronale este prezentată în Fig. 4

Această rețea neuronală conține 5 neuroni și este formată din două module. Modulul predictiv include neuronii 1-3, modulul de selecție a acțiunii include neuronii 4.5. Din mediul extern, intrarea rețelei neuronale primește semnale despre culoarea camerei și armare („Verde”, „Roșu”, „Întărire”). La ieșirea rețelei, sunt generate comenzi de acțiune („Dreapta” sau „Stânga”). Modulul predictiv construiește un model simplificat al mediului extern și prezice starea intrărilor din mediul extern la momentele următoare. Modulul de selecție a acțiunii generează comenzi de acțiune.

Schema includea modele speciale de neuroni dezvoltate pe baza conceptului de A.G. Klopf „Neuroul cu scop”. Acești neuroni sunt similari cu neuronii obișnuiți cu sinapse Hebbiane modificabile, dar posedă în plus o anumită formă de memorie pe termen scurt. Pentru mai multe informații despre acest model de neuron, consultați.

Orez. 4 Diagrama unei rețele neuronale care realizează prognoza. Neuronii sunt afișați ca pătrate cu numerele 1-5 în interior, sinapsele ca cercuri, ieșirile neuronilor ca săgeți aldine, direcțiile de transmitere a semnalului între neuroni ca săgeți subțiri, influențele mediului ca săgeți întrerupte.

La simularea experimentului în etapa de cercetare s-a format o memorie asociativă în modulul predictiv (prin modificarea sinapselor de comunicare dintre neuronii 4, 5 și 1,2), în care s-a reținut că la deplasarea la stânga/dreapta animalul ajunge în camera verde/roșie. În stadiul asociativ în modulul predictiv, s-au format conexiuni recurente între neuronii 1 și 2 și neuronul 3 (prevăzând că întărirea negativă/pozitivă ar putea fi obținută în camera verde/roșie), iar sinapsele la intrările neuronilor 4, 5 au fost modificat de asemenea, ceea ce asigura alegerea preferenţială a mişcării spre dreapta. În etapa de testare s-a confirmat că acest modelîntr-adevăr calitativ corespunde experimentului descris mai sus.

Desigur, modelul lui Sutton este doar un exemplu de abordare a modelării modelelor interne pe baza cărora animalele fac predicții despre evenimentele viitoare din mediul extern și folosesc în mod adecvat aceste predicții. Cu toate acestea, intuitiv se simte că „ modele interne„poate caracteriza cunoștințele foarte netriviale ale unui animal despre lumea exterioară și să furnizeze abilitățile cognitive ale animalelor. Și, după cum sa menționat mai sus, în modul de analiză a unor astfel de modele, am putea încerca să găsim conexiuni între abilitățile cognitive ale animalelor și cunoaşterea umană a lumii exterioare, inclusiv cu cunoaşterea ştiinţifică a Naturii.

1.4. Neuron bionic

Modelul neuronului bionic implementat în proiect a fost dezvoltat de Dr. Profesorul V.B Valtsev.

Neuronul este un element al unei rețele neuronale. Fiecare neuron are intrări și ieșiri. Există mai multe tipuri de intrări: excitație, reglare, memorie, inhibiție, inhibiție. Starea curentă a neuronului este determinată de potențialul curent și de pragul de curent. Un neuron este capabil să primească și să emită impulsuri.

Starea actuală a unui neuron se modifică în timp. Dacă nu există impulsuri la intrări, atunci valoarea potențialului curent tinde spre zero conform legii exponențiale:

, (3)

Unde

P(t ) – valoarea potențială curentă

P(t -1) – valoarea potențială la momentul de timp t -1

α – coeficient de atenuare potențial

ΔtP(t-1)

În acest caz, valoarea pragului curent tinde către o valoare constantă în timp, numită prag de repaus. Pragul de repaus este o valoare mai mare decât zero:

,(4)

Unde

T(t ) – valoarea pragului curent;

T(t -1) - valoarea prag la timp t -1

T 0 - pragul de repaus

α – coeficientul de atenuare a pragului

Δt – timpul scurs de când potențialul a fost egal T(t-1)

Potențialul neuronului este limitat de valori Pmin și Pmax dedesubt, respectiv deasupra ( Pmin ≤ 0; Pmax > 0). Pragul este limitat de sus de valoare Tmax , de jos – după mărime Tmin (mai mult, 0 ≥ Tmin > > maxT ). Limitările de potențial și de prag sunt luate în considerare la calcularea efectului impulsului primit.

Un neuron poate primi semnale (impulsuri) folosind intrări. Fiecare intrare neuronală este caracterizată de un coeficient de greutate W (greutate de intrare). Impulsurile care ajung la intrarea unui neuron își schimbă starea curentă. Efectul unui impuls este determinat de tipul de intrare pe care a primit-o, de greutatea acestei intrări și de starea curentă a neuronului. Figura 5 prezintă un model de neuron bionic.

Figura 5 - Modelul unui neuron bionic

1 - intrare de excitație

2 - intrare de reglare

3 - intrare de memorie

4 - interzicerea introducerii

5 - intrare de frânare

6 - ieșirea (sinapsa) neuronului

Un singur impuls care ajunge la intrarea unui neuron de tip excitație crește valoarea potențialului neuronului cu o anumită valoare:

P = P ’ + H , (5)

Unde

P – valoarea potențială curentă

P ’ – valoarea potențială anterioară;

H – amploarea modificării potenţialului depinde de potenţial şi se modifică conform legii:

H = W f (P ’), (6)

Unde

f (P) este o funcție care se află în intervalul de la zero la unu și:

f (P ≤0)=1,

f (P) tinde spre zero ca P tinde spre P max . Pe segmentul în care P este mai mare decât zero, funcția f(P ) poate fi definit ca:

f (P) = ,(7)

Astfel: dacă neuronul nu este excitat (potenţialul este zero), atunci impulsul creşte valoarea potenţialului cu o valoare egală cu greutatea de intrare. Impulsurile periodice lungi ridică potențialul în „pași”, a căror înălțime scade pe măsură ce potențialul în sine crește. Înălțimea treptelor devine zero când potențialul atinge valoarea maximă maximă (P max ). Pentru o specificație de funcție dată, potențialul poate depăși valoarea maximă cu o cantitate neglijabil de mică.

Dacă impulsurile sunt aplicate secvenţial la intrarea de excitaţie a unui neuron, astfel încât fie frecvenţa lor, fie greutatea intrării să compenseze coeficient de atenuare potențial, atunci potențialul va crește treptat, așa cum se arată în Figura 6. Liniile punctate verticale arată impulsul de ieșire al neuronului.

Figura 6 - Excitarea unui neuron

Intrarea de frânare se comportă într-un mod similar. Cu toate acestea, rolul său este de a reduce potențialul cu cantitate H , care se calculează în mod similar:

P = P ’ - H ,(8)

Unde

P ’ – valoarea potențială anterioară,

H – o cantitate care se modifică conform legii:

H = W f (- P ’),(9)

Unde

W – greutatea sinapsei prin care a venit impulsul

În acest caz, argumentul este luat cu semnul minus, în timp ce P acționează ca un limitator min:

f (P)= , (10)

Dacă impulsurile sunt aplicate secvenţial la intrarea de inhibiţie a unui neuron, astfel încât fie frecvenţa lor, fie greutatea intrării să compenseze coeficient de atenuare potențial (cu semn opus), atunci potențialul va scădea treptat, așa cum se arată în Figura 7. În Figura 7, impulsul de ieșire nu este prezentat, deoarece nu există, datorită faptului că potențialul neuronului este sub prag.

Figura 7 - Inhibarea neuronilor

Modificarea valorilor de prag se realizează prin impulsuri către intrările de reglare și interzicere. Impulsul primit la intrarea de reglare reduce valoarea pragului cu cantitate H , care se calculează în mod similar utilizând formulele (8-10).

În consecință, interdicția crește valoarea pragului cu o sumă H și se calculează în mod similar utilizând formulele (5-7).

Intrarea memoriei funcționează într-un mod special. Similar cu excitația, crește potențialul, dar creșterea potențialului depinde acum nu numai de greutatea intrării, ci și de starea curentă a coeficientului de învățare. Coeficientul de învățare, spre deosebire de greutate, își schimbă valoarea în mod dinamic în timpul funcționării rețelei neuronale. Poate lua valori în intervalul de la 0 la 1. Creșterea potențială este calculată folosind formula:

H = µ· W · f (|P ’|),(11)

Unde

µ - coeficientul de antrenament

W – greutatea sinapsei prin care a venit impulsul

f(P ) – funcție calculată prin formula (7)

Dacă µ = 0, atunci intrarea este considerată neantrenată - în acest caz, impulsurile către această intrare nu au niciun efect asupra stării neuronului. Intrarea antrenată maximă (µ = 1) funcționează în mod similar cu intrarea de excitație ponderată W , până când valoarea lui µ se schimbă (descrește) din nou.

Antrenamentul, reantrenarea, dezantrenarea sunt mecanisme care reglează valoarea lui µ și, în consecință, funcționarea intrărilor de memorie ale neuronului.

Învățarea de intrare este o creștere a µ cu o valoare constantă ∆µ + (evident mai mică decât unitatea), așa-numita capacitate de învățare. Această valoare este neschimbată și fixată la ∆µ + = 0,2. Învățarea are loc atunci când sunt îndeplinite următoarele condiții:

1) a fost primit un semnal la această intrare

2) semnalul către intrarea de memorie a fost susținut de un semnal de la intrarea de excitare (semnalul de excitare trebuie să sosească nu mai târziu de un timp ∆ T)

3) valoarea prag în acest moment a fost mai mică decât – pragul de repaus (care este posibil doar în prezența impulsurilor reglatoare).

Reantrenamentul - o scădere a µ, apare în cazurile în care semnalul primit la intrarea de memorie nu a fost întărit de un semnal ulterior către intrarea de excitare sau nu a fost însoțit de impulsuri de reglare (în acest caz T≥ ). În această situație, valoarea lui µ va scădea cu ∆µ - .

Astfel, intrarea memoriei diferă de intrarea excitației prin capacitatea de a modifica semnificația contribuției sale la potențialul total în funcție de natura impulsului.

Pe lângă caracteristica de greutate comună tuturor tipurilor de intrări W și caracteristicile private ale intrărilor de tip Memorie (µ, ∆µ + , ∆µ -) fiecare intrare este, de asemenea, caracterizată de valoareaÎntârziere.

Întârziere determină întârzierea sosirii impulsurilor de la un neuron la altul.

În model, acest lucru este implementat după cum urmează: fiecare intrare își amintește impulsul primit asupra ei, dar calculează efectul acestuia numai după un timpÎntârziere . Pentru majoritatea funcțiilor și proceselor de rețea, parametrulÎntârziere este posibil să nu fie necesară, astfel încât valoarea implicită a acestui parametru este setată la zero.

Generarea impulsului are loc dacă valoarea∆Ω este pozitiv:

∆Ω = P – T,

Adică potențialul a depășit pragul. Frecvența de generare a impulsurilor depinde liniar de ∆Ω:

w = w’ + k∆Ω, (12)

Unde

w – frecvența pulsului

w ’ – frecvența minimă

k – coeficientul de proporționalitate

Limitările frecvenței pulsului urmează de la limita superioară a potențialului și limita inferioară a pragului ( Pmax, Tmin).

Modelul matematic a fost alcătuit pe baza cunoștințelor despre funcționarea unui neuron biologic real, cu unele simplificări acceptate.

Deoarece topologia rețelei pentru modelul bionic nu este definită, în ciuda pierderii de timp pentru dezvoltarea structurii, este posibil să se construiască un sistem mai optim și mai flexibil, cu posibilitatea de a adăuga noi module care extind capacitățile rețelei.

De asemenea, datorită nivelului ridicat de formalizare a neuronului bionic, este posibil să se studieze algoritmul de funcționare al rețelei și să se garanteze răspunsul sistemului la orice influențe, ceea ce nu este întotdeauna posibil în rețelele neuronale formale.

Diferență semnificativă între un neuron bionic și modele formale, dă motive să credem că cercetările ulterioare ale acestui model și construirea rețelelor neuronale pe baza acestuia vor duce la o extindere a utilizării neurotehnologiei în diferite domenii ale activității umane.

2. DEZVOLTAREA REȚELELOR NEURALE BIONICE SIMPLE

2.1.Elemente logice

Pentru a proiecta complet rețele neuronale de orice tip, sunt necesare blocuri de bază gata făcute. În special, astfel de blocuri sunt funcții logice simple, diverse contoare, analizoare și funcții simple. Această secțiune este dedicată proiectării unor astfel de blocuri de bază, care în viitor vor deveni baza unor rețele complexe. În același timp, testăm capacitățile neuronului bionic și rețelele bazate pe acesta.

2.2. Element logic sau


Figura 8 Element logicsau

Neuronii 1 și 2 sunt introduși. Neuronii 3 și 5 sunt necesari pentru a readuce rețeaua la starea inițială după trecerea unui impuls. Neuronul 4 îndeplinește funcția SAU și este, de asemenea, un neuron de ieșire.

Elementul logic SAU produce un semnal la ieșire în cazurile în care cel puțin un semnal este primit la intrări. Dacă generatoarele excită neuronii 1, sau 2 sau ambii simultan, atunci neuronul 4 este excitat, acesta trimite un semnal la ieșire, după care neuronii 3 și 5 readuc rețeaua la starea inițială.

2.3. Element logicşi

Element logic &. Un neuron care generează impulsuri de ieșire se va declanșa numai dacă semnalele de intrare ajung la el simultan.


Figura 9 Element logicşi

Elementul ȘI este în exterior o copie exactă a elementului OR, dar sinapsele de la neuronii 1 și 2 la neuronul 4 sunt configurate astfel încât neuronul 4 să se declanșeze numai când ambele semnale sosesc în același timp.

2.4.Element logic XOR

Element logic XOR generează un impuls numai dacă primește un impuls doar de la una dintre intrări. Obținut prin excluderea elementului AND din elementul SAU Ambele elemente sunt conectate în paralel, dar dacă AND este declanșat, semnalul nu trece. Dacă OR a funcționat, dar ȘI nu a funcționat, atunci semnalul trece.


Figura 10 Element logicxOr

Primul și al doilea neuroni îndeplinesc funcțiile generatoarelor de semnal de intrare. Al 3-lea și al 5-lea sunt neuroni de intrare. Al 5-lea neuron este un element I. Al 7-lea interneuron este un neuron de blocare Al 6-lea este un neuron de ieșire, dacă semnalele au sosit simultan de la ambele generatoare.

Există trei opțiuni pentru desfășurarea evenimentelor.

1. Neuronii 1 și 2 nu generează semnale. În acest caz, rețeaua nu este activă și nu va exista niciun semnal la neuronul de ieșire.

2. Ambii neuroni 1 și 2 generează semnale și le alimentează în rețea. Ca rezultat, neuronii 3 și 5 vor fi excitați, ceea ce va excita neuronul de ieșire. Împreună, generatoarele 1 și 2 vor putea excita neuronul 4, care îndeplinește funcția AND și apoi neuronul 7, sub influența neuronului 4, va inhiba neuronul de ieșire 6. Astfel, nu va exista niciun semnal de ieșire. Toate celelalte sinapse sunt necesare pentru a readuce neuronii rețelei la starea lor inițială după ce semnalul a trecut.

3. Semnalul vine de la un singur neuron, de exemplu, de la neuronul 1. După intrarea în rețea, semnalul va excita neuronul 3. Dar sinapsele sunt configurate în așa fel încât neuronul 3 singur nu poate excita neuronul 4, deci blocarea neuronul de ieșire 6 nu va apărea, iar neuronul 3 își va transmite semnalul către ieșirea rețelei.

Această construcție nu este singura corectă. Problema poate fi rezolvată în multe feluri. De exemplu, readucerea rețelei la starea inițială poate fi realizată datorită unei scăderi exponențiale a excitabilității neuronilor și nu datorită introducerii de sinapse suplimentare.

2.5. Element logic nu


Figura 11 Element logicnu

Neuronul 1 este neuronul de intrare. Neuronul 2 este întotdeauna excitat și emite continuu un semnal. Dacă neuronul 1 este excitat, neuronul 2 este blocat și semnalul de ieșire dispare.

2.6. Convertor paralel cu serial


Figura 12 Element logic care convertește mai multe semnale de intrare simultane într-o secvență de timp

Neuronul 1 este neuronul de ieșire. Neuronii 2 și 3 aduc rețeaua la starea inițială după trecerea semnalelor. Neuronul 4 generează două semnale simultane. Datorită diferitelor întârzieri la sinapse, acestea sunt separate în timp, după care generează semnale succesive pe neuronul de ieșire.

2.7.Contor zecimal


Figura 13 Contor zecimal cu 6 neuroni, doi neuroni pentru fiecare cifră.

Rețeaua este formată din neuronul 3 care îndeplinește funcția de generator și blocuri de doi neuroni conectați în serie. Fiecare astfel de bloc adaugă un ordin de mărime la numărul maxim pentru contor. Neuronul 1 primește impulsuri de la neuronul 3 și la primirea celui de-al 10-lea impuls este excitat. Apoi, neuronul 2 încetinește neuronul 1 la starea inițială și un impuls este transmis neuronului 4.

2.8 Citirea rețelei a stării unui neuron


Figura 14 Rețeaua citind starea unui neuron.

Rețeaua este proiectată după principiul contorului. Neuronul 1 reduce discret pragul neuronului studiat și trimite simultan un impuls către contor. Astfel, în momentul în care pragul neuronului 2 devine mai mic decât nivelul său de excitație, contorul va înregistra de câte ori a scăzut pragul. După excitare, neuronul 2 inhibă neuronul 1 și rețeaua se oprește.

2.9 Analizor de stare a neuronilor


Figura 15 Rețea care determină la care dintre cele cinci intervale date poate fi atribuit neuronul studiat în funcție de nivelul de excitabilitate.

În esență, rețeaua este formată din cinci elemente AND (unul dintre ele este evidențiat cu roșu), fiecare dintre acestea fiind format din 4 neuroni. La o intrare a fiecărui element există un neuron în studiu, la O rețea foarte complexă care determină în ce zonă se oprește Contorul va înregistra de câte ori a scăzut pragul. rir al doilea este cel de referință. Inițial, pragurile neuronului studiat și ale tuturor neuronilor de referință au o valoare maximă. Folosind un neuron generator special, începem să coborâm încet pragurile acestor neuroni. La un moment dat, neuronul studiat este entuziasmat. În acest caz, impulsul va trece prin acel element ȘI al cărui neuron de referință este de asemenea excitat. Astfel, prin configurarea diferită a sinapselor de ieșire de la fiecare element AND, putem afla căruia dintre cele cinci intervale pe care le-am specificat îi aparține neuronul pe care îl studiem.

3. DEZVOLTAREA UNUI MODEL DE COMPORTAMENT ADAPTATIV ÎN LABIRINTUL

Comportamentul animalelor atunci când îndeplinesc diverse sarcini în labirinturi este un material excelent pentru studierea funcționării sistemului nervos central în timpul orientării și a proceselor de adaptare la schimbările condițiilor experimentale. În consecință, modelarea comportamentului sistemelor inteligente atunci când se rezolvă probleme similare oferă un aliment bogat de gândire cu privire la adecvarea modelelor noastre la munca reală a rețelelor neuronale biologice. În acest sens, pare destul de firesc să încercăm să rezolvi problema orientării într-un labirint atunci când se caută „hrană” (model de nevoie), ținând cont de analiza secțiunilor parcurse ale labirintului. În acest scop, a fost dezvoltat și implementat programatic un model labirint, un model de nevoie, o rețea neuronală bionică și a fost realizat un studiu al funcționării rețelei neuronale pentru a rezolva problema.

3.1 Modelul de mediu (labirint)

Obiectul model numit „beetle” are următoarele funcții:

1. Capacitatea de a se deplasa în patru direcții printr-un labirint. În timpul unui ciclu de funcționare a rețelei neuronale de control, „gândacul” se mișcă cu un pas - o verigă a labirintului.

2. Nevoia de „hrană”. Pentru a face acest lucru, el se deplasează într-o direcție care nu este interzisă (fundătură) și îl aduce mai aproape de mâncare. Dacă două direcții sunt echivalente (aceeași distanță), atunci se joacă un proces aleatoriu de alegere a uneia dintre direcții.

3. Labirintul este o rețea dreptunghiulară, dintre care unele elemente sunt îndepărtate aleatoriu. Astfel, mișcarea de-a lungul secțiunilor rețelei nu este posibilă peste tot, ceea ce este echivalent cu un labirint dreptunghiular simplu cu numărul de legături (secțiuni) (Figura 16). egal cu 2* N*(N -1)-k, unde N – numărul de intersecții de-a lungul uneia dintre axe, k - numărul de link-uri eliminate aleatoriu.

Figura 16 Labirint 15 pe 15. Mâncarea este indicată cu galben.

3.4. Modelul rețelei neuronale


Figura 17 Rețeaua neuronală „Bug”.


Această rețea a fost redusă pe cât posibil și optimizată pentru a rezolva problema modelului. Rețeaua este formată din patru neuroni inhibitori. Fiecare dintre neuroni este responsabil pentru alegerea direcției de mișcare în interiorul labirintului: Sus, stânga, jos sau dreapta. Fiecare neuron are o intrare de excitație, unde impulsurile sunt furnizate într-o cantitate corespunzătoare cantității de nevoie (proximitatea hranei) dintr-o parte dată. De asemenea, fiecare neuron are două intrări inhibitorii. O intrare este puternică pentru interdicție dacă nu există pasaj pe acea parte. A doua intrare este slabă, unde impulsurile sunt trimise numai dacă urma „gândacului” este vizibilă din această parte, adică dacă „gândacul” era deja acolo. Numărul de impulsuri furnizate la intrarea de frânare asociată cu trasarea „bug” este invers proporțional cu vechimea acestei urme. Fiecare neuron are o sinapsă care este închisă pentru sine, aceasta este necesară pentru autoexcitarea neuronului atunci când este citit nivelul său de excitare. Fiecare neuron îi inhibă pe toți ceilalți, astfel cel mai excitat va rămâne singurul activ ca urmare a funcționării rețelei și va determina direcția de mișcare a „gândacului”.

CONCLUZIE

În cadrul primului an de proiect au fost dezvoltate modele: elemente logice simple, un numărător zecimal, un analizor de stare a neuronilor și un sistem de control al orientării în mediul extern folosind neuroni bionici.

În timpul procesului de modelare s-a stabilit:

a) acest model de neuroni bionici este potrivit pentru construirea de rețele neuronale eterogene.

b) capabilitățile acestui model de neuroni nu se limitează la rețelele neuronale create.

c) acest proiect stă la baza tranziției la următorul model mai complex al unui neuron bionic.

Implementarea dezvoltată a procesului de orientare este planificată pentru a fi utilizată pentru cercetări și echipamente ulterioare acest proces noi funcții, care pot permite dezvoltarea acestei zone.

REFERINȚE

1. Nicholls J., Martin R., Wallas B., Fuchs P. From neuron to brain - M.: Editura Editorial URSS, 2003.

2. Kruglov V.V., Borisov V.V. Rețele neuronale artificiale. Teorie și practică - M.: Editura Hotline-Telecom, 2002.

3.Berkinblit M.B. Rețele neuronale - M.: Editura MIROS, 1993.

4. McCulloch W., Pitts V. Calcul logic al ideilor legate de activitatea nervoasă // Neurocomputer. –1992. - Nr. 3/4. – R.40-50

5. Jdanov A. A. Metoda controlului adaptativ autonom // Proceedings of the Academy of Sciences. Teorieși sisteme de control. 1999. Nr 5. P. 127-134.

6 . Tsitolovsky L.E. (1997) Un model de motivație cu dinamică neuronală haotică // Journ. of Biological Systems, 1997. V. 5. N.2, pp . 301-323. O descriere a modelului de minimizare a motivației propus în această lucrare este disponibilă pe site:

7. Burtsev M.S., Gusarev R.V., Redko V.G. Modelul apariţiei evolutive a comportamentului adaptativ orientat spre scop 1. Cazul a două nevoi. // Preprint IAM RAS, 2000, N 43. vezi și:

8 . Balkenius C. Rădăcinile motivațiilor. // În J.-A. Mayer, H. L. Roitblat și S. W. Wilson (eds.), From Animals to Animats II, MA: MIT Press., 1993. http://www.lucs.lu.se/People/Christian.Balkenius/Abstracts/ROM.html

9. Anokhin P.K. Mecanisme sistemice ale activității nervoase superioare. // M.: Nauka, 1979, 453 p. Anokhin P.K. Eseuri despre fiziologia sistemelor funcționale. – M.: Medicină, 1975. Anokhin P.K. Probleme fundamentale ale teoriei generale a sistemelor funcționale // Principii de organizare sistemică a funcțiilor. – M.: Nauka, 1973. Vezi și:

10. Shvyrkov V.B. Teorie sistem functional ca bază metodologică pentru neurofiziologia comportamentului // Progrese în ştiinţele fiziologice. 1978. T. 9. Nr. 1.

11. Bongard M.M., Losev I.S., Smirnov M.S. Model de proiect de organizare a comportamentului – Animal // Modelarea învăţării şi comportamentului. – M.: Nauka, 1975. vezi și:

http://mbur.narod.ru/misc/bongard.htm

12. M. M. Bongard, I. S. Losev, V. V. Maksimov M. S. Smirnov. Un limbaj formal pentru descrierea situațiilor folosind conceptul de conexiune. // Modelarea învățării și a comportamentului. – M.: Nauka, 1975.

13. Vaintzweig M.N., Polyakova M.P. Despre modelarea gândirii. Articol la COP 2002:

14. Turchin V.F. Fenomenul științei. Abordarea cibernetică a evoluției. M.: Nauka, 1993. 295 p. (ed. I). M.: ETS, 2000. 368s (ed. a II-a). Vezi și: http://www.refal.net/turchin/phenomenon/ http://www.refal.org/turchin/phenomenon/

15. Jantsch E. Universul auto-organizator. Pergamon Press: Oxford etc, 1980. 340 p.

16. Heylighen F. & Joslyn C. (2001): „ Cibernetica și cibernetica de ordinul doi ", în: R. A. Meyers (ed.), Encyclopedia of Physical Science & Technology, Vol. 4 (ed. a treia), (Academic Press, New York), pp. 155-170.

17. Sutton, R.S. și Barto, A.G. (1981). O rețea adaptivă care construiește și folosește un model intern al lumii sale , Cogniția și teoria creierului 4:217-246.

18. Kleene S. Logica matematică. M.: Mir, 1973. 480 p.

19 . Klopf A.H. Neuronul hedonist: o teorie a memoriei, învățării și inteligenței. Hemisphere publishing corporation, Washington etc, 1982. 140 p.

20. Sutton, R.S., & Barto, A.G. (1981). Spre o teorie modernă a rețelelor adaptive: așteptări și predicții , Revista psihologică 88:135-140.

21. Valtsev V.B., Grigoriev I.R., Lavrov V.V., Cherkashin E.A. Rețele eterogene și probleme de modelare a funcțiilor superioare ale creierului. Neuroinformatica Sat. tr. M. 2000,

p.52-56.

22. I. S. Losev, V. V. Maksimov. Pe problema generalizării situaţiilor iniţiale. // Modelarea învățării și a comportamentului. – M.: Nauka, 1975.

În acest capitol ne-am familiarizat cu concepte precum inteligenţă artificială, învățare automată și rețele neuronale artificiale.

În acest capitol, voi descrie în detaliu modelul neuronului artificial, voi vorbi despre abordări ale antrenării rețelei și, de asemenea, voi descrie câteva tipuri binecunoscute de rețele neuronale artificiale pe care le vom studia în capitolele următoare.

Simplificare

În ultimul capitol, am vorbit constant despre câteva simplificări serioase. Motivul simplificărilor este că niciun computer modern nu poate rapid simulează sisteme complexe precum creierul nostru. În plus, așa cum am spus deja, creierul nostru este plin de diverse mecanisme biologice care nu au legătură cu procesarea informațiilor.

Avem nevoie de un model pentru conversia semnalului de intrare în semnalul de ieșire de care avem nevoie. Orice altceva nu ne deranjează. Să începem să simplificăm.

Structura biologică → diagramă

În capitolul anterior, ați realizat cât de complexe sunt rețelele neuronale biologice și neuronii biologici. În loc să desenăm neuronii ca niște monștri tentaculați, să desenăm doar diagrame.

În general, există mai multe moduri de a reprezenta grafic rețelele neuronale și neuronii. Aici vom descrie neuronii artificiali ca cercuri.

În loc de o împletire complexă de intrări și ieșiri, vom folosi săgeți care indică direcția de mișcare a semnalului.

Astfel, o rețea neuronală artificială poate fi reprezentată ca o colecție de cercuri (neuroni artificiali) conectate prin săgeți.

Semnale electrice → numere

Într-o rețea neuronală biologică reală, un semnal electric este transmis de la intrările rețelei la ieșiri. Se poate schimba pe măsură ce trece prin rețeaua neuronală.

Un semnal electric va fi întotdeauna un semnal electric. Conceptual, nimic nu se schimbă. Dar ce se schimbă atunci? Amploarea acestui semnal electric se modifică (mai puternic/mai slab). Și orice valoare poate fi întotdeauna exprimată ca număr (mai mult/mai puțin).

În modelul nostru de rețea neuronală artificială, nu trebuie să implementăm deloc comportamentul semnalului electric, deoarece oricum nimic nu va depinde de implementarea acestuia.

Vom furniza câteva numere intrărilor din rețea, simbolizând mărimea semnalului electric dacă acesta a existat. Aceste numere se vor muta prin rețea și se vor schimba într-un fel. La ieșirea rețelei vom primi un număr rezultat, care este răspunsul rețelei.

Pentru comoditate, vom apela în continuare numerele noastre care circulă în semnalele rețelei.

Sinapse → greutăți de conexiune

Să ne amintim imaginea din primul capitol, în care conexiunile dintre neuroni - sinapse - erau înfățișate color. Sinapsele pot întări sau slăbi semnalul electric care trece prin ele.

Să caracterizăm fiecare astfel de conexiune cu un anumit număr, numit greutatea acestei conexiuni. Semnalul care trece printr-o conexiune dată este înmulțit cu greutatea conexiunii corespunzătoare.

Acesta este un punct cheie în conceptul de rețele neuronale artificiale, îl voi explica mai detaliat. Uită-te la poza de mai jos. Acum fiecare săgeată neagră (conexiune) din această imagine corespunde unui anumit număr ​\(w_i \) ​ (greutatea conexiunii). Și când semnalul trece prin această conexiune, mărimea sa este înmulțită cu greutatea acestei conexiuni.

În figura de mai sus, nu fiecare conexiune are o greutate pur și simplu pentru că nu există spațiu pentru etichete. În realitate, fiecare ​\(i \) ​a conexiune are propria sa ​\(w_i \) ​a pondere.

Neuron artificial

Acum trecem să luăm în considerare structura internă a unui neuron artificial și modul în care acesta transformă semnalul care ajunge la intrările sale.

Figura de mai jos prezintă un model complet al unui neuron artificial.

Nu vă alarmați, nu este nimic complicat aici. Să privim totul în detaliu de la stânga la dreapta.

Intrări, greutăți și sumator

Fiecare neuron, inclusiv cei artificiali, trebuie să aibă niște intrări prin care primește un semnal. Am introdus deja conceptul de ponderi prin care semnalele care trec prin comunicare sunt multiplicate. În imaginea de mai sus, greutățile sunt afișate ca cercuri.

Semnalele primite la intrări sunt înmulțite cu greutățile lor. Semnalul primei intrări ​\(x_1 \) ​ este înmulțit cu greutatea ​\(w_1 \) ​corespunzătoare acestei intrări. Ca rezultat, obținem ​\(x_1w_1 \) ​. Și așa mai departe până la ​\(n\) ​-a intrare. Ca rezultat, la ultima intrare obținem ​\(x_nw_n \) ​.

Acum toate produsele sunt transferate în adaos. Doar pe baza numelui său, puteți înțelege ce face. Pur și simplu însumează toate semnalele de intrare înmulțite cu greutățile corespunzătoare:

\[ x_1w_1+x_2w_2+\cdots+x_nw_n = \sum\limits^n_(i=1)x_iw_i \]

Ajutor matematic

Sigma - Wikipedia

Atunci când este necesar să se noteze pe scurt o expresie mare constând dintr-o sumă de termeni care se repetă/de același tip, se folosește semnul sigma.

Să luăm în considerare cea mai simplă opțiune de înregistrare:

\[ \sum\limits^5_(i=1)i=1+2+3+4+5 \]

Astfel, de sub sigma îi atribuim variabilei contor ​\(i \) ​ o valoare de pornire, care va crește până ajunge la limita superioară (în exemplul de mai sus este 5).

Limita superioară poate fi, de asemenea, variabilă. Permiteți-mi să vă dau un exemplu de astfel de caz.

Să avem ​\(n \) magazine. Fiecare magazin are propriul său număr: de la 1 la ​\(n\) ​. Fiecare magazin face profit. Să luăm câteva (indiferent ce) ​\(i \) ​magazin. Profitul din acesta este egal cu ​\(p_i \) ​.

\[ P = p_1+p_2+\cdots+p_i+\cdots+p_n \]

După cum puteți vedea, toți termenii acestei sume sunt de același tip. Apoi pot fi scrise pe scurt după cum urmează:

\[ P=\sum\limits^n_(i=1)p_i \]

Cu cuvinte: „Sumați profiturile tuturor magazinelor, începând cu primul și terminând cu ​\(n\) ​-a.” Sub forma unei formule, este mult mai simplu, mai convenabil și mai frumos.

Rezultatul sumatorului este un număr numit sumă ponderată.

Sumă ponderată(Sumă ponderată) (​\(net \) ​) - suma semnalelor de intrare înmulțită cu ponderile lor corespunzătoare.

\[ net=\sum\limits^n_(i=1)x_iw_i \]

Rolul sumatorului este evident - agregează toate semnalele de intrare (dintre care pot fi multe) într-un singur număr - o sumă ponderată care caracterizează semnalul primit de neuron în ansamblu. O altă sumă ponderată poate fi reprezentată ca gradul de excitație generală a neuronului.

Exemplu

Pentru a înțelege rolul ultimei componente a unui neuron artificial - funcția de activare - voi da o analogie.

Să ne uităm la un neuron artificial. Sarcina lui este să decidă dacă merge în vacanță la mare. Pentru a face acest lucru, furnizăm diverse date intrărilor sale. Lăsați neuronul nostru să aibă 4 intrări:

  1. Costul călătoriei
  2. Cum este vremea la mare?
  3. Situația actuală a muncii
  4. Va fi un snack bar pe plajă

Vom caracteriza toți acești parametri ca 0 sau 1. În consecință, dacă vremea pe mare este bună, atunci aplicăm 1 acestei intrări și așa cu toți ceilalți parametri.

Dacă un neuron are patru intrări, atunci trebuie să existe patru greutăți. În exemplul nostru, coeficienții de ponderare pot fi considerați indicatori ai importanței fiecărei intrări, influențând decizia generală a neuronului. Distribuim greutățile de intrare după cum urmează:

Este ușor de observat că factorii de cost și vremea pe mare (primele două intrări) joacă un rol foarte important. Ele vor juca, de asemenea, un rol decisiv atunci când neuronul ia o decizie.

Să furnizăm următoarele semnale intrărilor neuronului nostru:

Înmulțim greutățile intrărilor cu semnalele intrărilor corespunzătoare:

Suma ponderată pentru un astfel de set de semnale de intrare este 6:

\[ net=\sum\limits^4_(i=1)x_iw_i = 5 + 0 + 0 + 1 =6 \]

Aici intervine funcția de activare.

Funcția de activare

Este destul de inutil să trimiteți pur și simplu o sumă ponderată ca rezultat. Neuronul trebuie să-l proceseze cumva și să genereze un semnal de ieșire adecvat. În aceste scopuri este utilizată funcția de activare.

Convertește suma ponderată într-un număr, care este rezultatul neuronului (notăm ieșirea neuronului prin variabila ​\(out\)​).

Pentru diferite tipuri neuronii artificiali folosesc o varietate de funcții de activare. În general, ele sunt notate cu simbolul ​\(\phi(net) \) ​. Specificarea semnalului ponderat în paranteze înseamnă că funcția de activare ia ca parametru suma ponderată.

Funcția de activare (Funcția de activare)(​\(\phi(net) \) ​) este o funcție care ia ca argument o sumă ponderată. Valoarea acestei funcții este rezultatul neuronului (​\(out\)​).

Funcție de un singur salt

Cel mai simplu tip de funcție de activare. Ieșirea unui neuron poate fi doar egală cu 0 sau 1. Dacă suma ponderată este mai mare decât un anumit prag ​\(b\) ​, atunci ieșirea neuronului este egală cu 1. Dacă este mai mică, atunci 0.

Cum poate fi folosit? Să presupunem că mergem la mare numai atunci când suma ponderată este mai mare sau egală cu 5. Aceasta înseamnă că pragul nostru este 5:

În exemplul nostru, suma ponderată a fost 6, ceea ce înseamnă că semnalul de ieșire al neuronului nostru este 1. Deci, mergem la mare.

Cu toate acestea, dacă vremea pe mare era rea ​​și călătoria era foarte scumpă, dar exista un snack bar și mediul de lucru era normal (intrari: 0011), atunci suma ponderată ar fi egală cu 2, ceea ce înseamnă ieșirea neuron ar fi egal cu 0. Deci, nu mergem nicăieri.

Practic, un neuron se uită la o sumă ponderată și dacă este mai mare decât pragul său, atunci neuronul produce o ieșire egală cu 1.

Grafic, această funcție de activare poate fi reprezentată după cum urmează.

Axa orizontală conține valorile sumei ponderate. Pe axa verticală sunt valorile semnalului de ieșire. După cum este ușor de văzut, sunt posibile doar două valori ale semnalului de ieșire: 0 sau 1. Mai mult, 0 va fi întotdeauna scos de la minus infinit până la o anumită valoare a sumei ponderate, numită prag. Dacă suma ponderată este egală sau mai mare decât pragul, atunci funcția returnează 1. Totul este extrem de simplu.

Acum să scriem această funcție de activare matematic. Aproape sigur ați întâlnit conceptul de funcție compusă. Acesta este atunci când combinăm mai multe reguli sub o singură funcție prin care se calculează valoarea acesteia. Sub forma unei funcții compuse, funcția de un singur salt va arăta astfel:

\[ out(net) = \begin(cases) 0, net< b \\ 1, net \geq b \end{cases} \]

Nu este nimic complicat în această înregistrare. Ieșirea unui neuron (​\(out \) ​) depinde de suma ponderată (​\(net \) ​) după cum urmează: dacă ​\(net \) ​ (suma ponderată) este mai mică decât un anumit prag (​ \(b \ ) ​), atunci ​\(out \) ​ (ieșirea neuronilor) este egal cu 0. Și dacă ​\(net \) ​ este mai mare sau egal cu pragul ​\(b \) ​, atunci ​\(out\) ​ este egal cu 1 .

Funcția sigmoidă

De fapt, există o întreagă familie de funcții sigmoide, dintre care unele sunt folosite ca funcții de activare în neuronii artificiali.

Toate aceste funcții au câteva proprietăți foarte utile, pentru care sunt folosite în rețelele neuronale. Aceste proprietăți vor deveni evidente odată ce veți vedea graficele acestor funcții.

Deci... cel mai des folosit sigmoid în rețelele neuronale este functie logistica.

Graficul acestei funcții pare destul de simplu. Dacă te uiți cu atenție, poți vedea o oarecare asemănare cu litera engleză ​\(S \)​, de unde provine numele familiei acestor funcții.

Și așa este scris analitic:

\[ out(net)=\frac(1)(1+\exp(-a \cdot net)) \]

Care este parametrul \(a \) ​? Acesta este un număr care caracterizează gradul de abrupție al funcției. Mai jos sunt funcții logistice cu parametri diferiți ​\(a\) ​.

Să ne amintim neuronul nostru artificial, care determină dacă este necesar să mergem la mare. În cazul funcției de un singur salt, totul era evident. Ori mergem la mare (1) ori nu (0).

Aici cazul este mai aproape de realitate. Nu suntem complet siguri (mai ales dacă ești paranoic) - merită să mergi? Apoi, utilizarea funcției logistice ca funcție de activare va avea ca rezultat obținerea unui număr între 0 și 1. Mai mult, cu cât suma ponderată este mai mare, cu atât rezultatul va fi mai aproape de 1 (dar niciodată nu va fi exact egal cu acesta). În schimb, cu cât suma ponderată este mai mică, cu atât producția neuronului va fi mai apropiată de 0.

De exemplu, ieșirea neuronului nostru este 0,8. Asta înseamnă că el crede că mersul la mare tot merită. Dacă producția lui a fost egală cu 0,2, atunci aceasta înseamnă că este aproape sigur împotriva mersului la mare.

Ce proprietăți remarcabile are funcția de logistică?

  • este o funcție „compresivă”, adică indiferent de argument (suma ponderată), semnalul de ieșire va fi întotdeauna în intervalul de la 0 la 1
  • este mai flexibil decât funcția de un singur salt - rezultatul său poate fi nu numai 0 și 1, ci orice număr între ele
  • în toate punctele are o derivată, iar această derivată poate fi exprimată prin aceeași funcție

Din cauza acestor proprietăți, funcția logistică este folosită cel mai adesea ca funcție de activare în neuronii artificiali.

Tangenta hiperbolica

Cu toate acestea, există un alt sigmoid - tangenta hiperbolică. Este folosit ca funcție de activare de către biologi pentru a crea un model mai realist al unei celule nervoase.

Această funcție vă permite să obțineți valori de ieșire ale diferitelor semne (de exemplu, de la -1 la 1), care pot fi utile pentru o serie de rețele.

Funcția se scrie după cum urmează:

\[ out(net) = \tanh\left(\frac(net)(a)\right) \]

În formula de mai sus, parametrul ​\(a \)​ determină și gradul de abrupție a graficului acestei funcții.

Și așa arată graficul acestei funcții.

După cum puteți vedea, arată ca un grafic al unei funcții logistice. Tangenta hiperbolica are toate proprietatile utile pe care le are functia logistica.

Ce am învățat?

Acum aveți o înțelegere completă a structurii interne a unui neuron artificial. O voi aduce din nou scurtă descriere munca lui.

Un neuron are intrări. Ei primesc semnale sub formă de numere. Fiecare intrare are propria sa greutate (de asemenea, un număr). Semnalele de intrare sunt înmulțite cu greutățile corespunzătoare. Obținem un set de semnale de intrare „ponderate”.

Suma ponderată este apoi convertită functia de activareși primim ieșirea neuronilor.

Să formulăm acum cel mai mult scurtă descriere munca unui neuron - modelul său matematic:

Modelul matematic al unui neuron artificial cu intrări \(n \) ​:

Unde
​\(\phi \) ​ – funcție de activare
\(\sum\limits^n_(i=1)x_iw_i \)​ – sumă ponderată, ca suma produselor ​\(n\) ​ ale semnalelor de intrare cu ponderile corespunzătoare.

Tipuri de ANN

Am descoperit structura unui neuron artificial. Rețelele neuronale artificiale constau dintr-o colecție de neuroni artificiali. Apare o întrebare logică - cum să plasați/conectați acești neuroni artificiali unul la altul?

De regulă, majoritatea rețelelor neuronale au un așa-numit stratul de intrare, care îndeplinește o singură sarcină - distribuirea semnalelor de intrare către alți neuroni. Neuronii din acest strat nu efectuează niciun calcul.

Rețele neuronale cu un singur strat

În rețelele neuronale cu un singur strat, semnalele de la nivelul de intrare sunt transmise imediat la stratul de ieșire. Efectuează calculele necesare, ale căror rezultate sunt trimise imediat la ieșiri.

O rețea neuronală cu un singur strat arată astfel:

În această imagine, stratul de intrare este indicat prin cercuri (nu este considerat un strat de rețea neuronală), iar în dreapta este un strat de neuroni obișnuiți.

Neuronii sunt conectați între ei prin săgeți. Deasupra săgeților sunt greutățile conexiunilor corespunzătoare (coeficienți de ponderare).

Rețea neuronală cu un singur strat (Rețea neuronală cu un singur strat) - o rețea în care semnalele de la nivelul de intrare sunt imediat alimentate la stratul de ieșire, care convertește semnalul și produce imediat un răspuns.

Rețele neuronale multistrat

Astfel de rețele, pe lângă straturile de intrare și de ieșire ale neuronilor, sunt caracterizate și de un strat (straturi) ascuns. Locația lor este ușor de înțeles - aceste straturi sunt situate între straturile de intrare și de ieșire.

Această structură a rețelelor neuronale copiază structura multistrat a anumitor părți ale creierului.

Nu întâmplător stratul ascuns și-a primit numele. Faptul este că doar relativ recent au fost dezvoltate metode pentru antrenamentul neuronilor din stratul ascuns. Înainte de aceasta, au fost folosite doar rețele neuronale cu un singur strat.

Rețelele neuronale multistrat au capacități mult mai mari decât cele cu un singur strat.

Munca straturilor ascunse de neuroni poate fi comparată cu munca unei fabrici mari. Produsul (semnalul de ieșire) la uzină este asamblat în etape. După fiecare mașină se obține un rezultat intermediar. Straturile ascunse transformă, de asemenea, semnalele de intrare în unele rezultate intermediare.

Rețea neuronală multistrat (Rețea neuronală multistrat) - o rețea neuronală formată dintr-o intrare, o ieșire și unul (mai multe) straturi ascunse de neuroni situate între ei.

Rețele de distribuție directă

Puteți observa unul foarte detaliu interesantîn imaginile rețelelor neuronale din exemplele de mai sus.

În toate exemplele, săgețile merg strict de la stânga la dreapta, adică semnalul în astfel de rețele merge strict de la nivelul de intrare la cel de ieșire.

Rețele de distribuție directă (Rețea neuronală feedforward) (rețele feedforward) - rețele neuronale artificiale în care semnalul se propagă strict de la nivelul de intrare la nivelul de ieșire. Semnalul nu se propagă în direcția opusă.

Astfel de rețele sunt utilizate pe scară largă și rezolvă cu succes o anumită clasă de probleme: prognoză, grupare și recunoaștere.

Cu toate acestea, nimeni nu interzice semnalului să meargă în direcția opusă.

Rețele de feedback

În rețelele de acest tip, semnalul poate merge și în direcția opusă. Care este avantajul?

Faptul este că în rețelele feedforward, ieșirea rețelei este determinată de semnalul de intrare și de coeficienții de ponderare pentru neuronii artificiali.

Și în rețelele cu feedback, ieșirile neuronilor pot reveni la intrări. Aceasta înseamnă că ieșirea unui neuron este determinată nu numai de greutățile și semnalul de intrare, ci și de ieșirile anterioare (deoarece au revenit din nou la intrări).

Capacitatea semnalelor de a circula într-o rețea deschide noi posibilități uimitoare pentru rețelele neuronale. Folosind astfel de rețele, puteți crea rețele neuronale care restaurează sau completează semnalele. Cu alte cuvinte, astfel de rețele neuronale au proprietățile memoriei pe termen scurt (ca la om).

Rețele de feedback (Rețea neuronală recurentă) - rețele neuronale artificiale în care ieșirea unui neuron poate fi alimentată înapoi la intrarea acestuia. Mai general, aceasta înseamnă capacitatea de a propaga un semnal de la ieșiri la intrări.

Antrenamentul rețelei neuronale

Acum să ne uităm puțin mai detaliat la problema antrenării unei rețele neuronale. Ce este? Și cum se întâmplă asta?

Ce este formarea în rețea?

O rețea neuronală artificială este o colecție de neuroni artificiali. Acum să luăm, de exemplu, 100 de neuroni și să-i conectăm unul la altul. Este clar că atunci când aplicăm un semnal la intrare, vom obține ceva fără sens la ieșire.

Aceasta înseamnă că trebuie să schimbăm unii parametri de rețea până când semnalul de intrare este convertit în ieșirea de care avem nevoie.

Ce putem schimba într-o rețea neuronală?

Schimba cantitate totală neuronii artificiali nu au rost din două motive. În primul rând, creșterea numărului de elemente de calcul în ansamblu face ca sistemul să fie mai greu și mai redundant. În al doilea rând, dacă adunați 1000 de proști în loc de 100, ei tot nu vor putea răspunde corect la întrebare.

Adunatorul nu poate fi schimbat, deoarece îndeplinește o funcție strict definită - adăugarea. Dacă îl înlocuim cu ceva sau îl eliminăm cu totul, atunci nu va mai fi deloc un neuron artificial.

Dacă schimbăm funcția de activare a fiecărui neuron, vom obține o rețea neuronală prea eterogenă și incontrolabilă. În plus, în majoritatea cazurilor, neuronii din rețelele neuronale sunt de același tip. Adică toate au aceeași funcție de activare.

Mai rămâne o singură opțiune - modifica greutatea conexiunii.

Antrenamentul rețelei neuronale (Antrenament)- căutați un astfel de set de coeficienți de ponderare în care semnalul de intrare, după trecerea prin rețea, este convertit în ieșirea de care avem nevoie.

Această abordare a termenului „antrenament al rețelelor neuronale” corespunde și rețelelor neuronale biologice. Creierul nostru este format din cantitate uriașă rețele neuronale conectate între ele. Fiecare dintre ei este compus individual din neuroni de același tip (funcția de activare este aceeași). Învățăm prin schimbarea sinapselor – elemente care întăresc/slăbesc semnalul de intrare.

Cu toate acestea, mai există unul punct important. Dacă antrenați o rețea folosind un singur semnal de intrare, atunci rețeaua pur și simplu „își va aminti răspunsul corect”. Din exterior se va părea că a „învățat” foarte repede. Și de îndată ce dați un semnal ușor modificat, așteptând să vedeți răspunsul corect, rețeaua va produce prostii.

De fapt, de ce avem nevoie de o rețea care detectează o față într-o singură fotografie? Ne așteptăm ca rețeaua să fie capabilă generaliza unele semne și recunosc fețe și în alte fotografii.

În acest scop sunt create mostre de antrenament.

Set de antrenament (Set de antrenament) - un set finit de semnale de intrare (uneori împreună cu semnalele de ieșire corecte) din care este antrenată rețeaua.

După ce rețeaua este antrenată, adică atunci când rețeaua produce rezultate corecte pentru toate semnalele de intrare din setul de antrenament, aceasta poate fi utilizată în practică.

Cu toate acestea, înainte de a lansa o rețea neuronală proaspăt coaptă în luptă, calitatea muncii sale este adesea evaluată pe așa-numitul proba de testare.

Proba de testare (Set de testare) - un set finit de semnale de intrare (uneori împreună cu semnalele de ieșire corecte) prin care se evaluează calitatea funcționării rețelei.

Am înțeles ce este „antrenamentul în rețea” – alegerea setului potrivit de greutăți. Acum apare întrebarea - cum puteți antrena o rețea? În cazul cel mai general, există două abordări care conduc la rezultate diferite: învăţare supravegheată şi învăţare nesupravegheată.

Antrenament tutorat

Esența acestei abordări este că dați un semnal ca intrare, vă uitați la răspunsul rețelei și apoi îl comparați cu un răspuns corect gata făcut.

Punct important. Nu confundați răspunsurile corecte cu algoritmul de soluție cunoscut! Puteți urmări fața din fotografie cu degetul (răspunsul corect), dar nu veți putea spune cum ați făcut-o (algoritm binecunoscut). Situația este aceeași aici.

Apoi, folosind algoritmi speciali, modificați ponderile conexiunilor rețelei neuronale și îi dați din nou un semnal de intrare. Comparați răspunsul său cu cel corect și repetați acest proces până când rețeaua începe să răspundă cu o acuratețe acceptabilă (după cum am spus în capitolul 1, rețeaua nu poate oferi răspunsuri clare fără ambiguitate).

Antrenament tutorat (Învățare supravegheată) este un tip de antrenament de rețea în care ponderile sale sunt modificate astfel încât răspunsurile rețelei să difere minim de răspunsurile corecte deja pregătite.

De unde pot obține răspunsurile corecte?

Dacă dorim ca rețeaua să recunoască fețele, putem crea un set de antrenament de 1000 de fotografii (semnale de intrare) și putem selecta independent fețe din acesta (răspunsuri corecte).

Dacă dorim ca rețeaua să prezică creșteri/scăderi de preț, atunci eșantionul de instruire trebuie realizat pe baza datelor anterioare. Puteți lua ca semnale de intrare anumite zile, starea generala piață și alți parametri. Iar răspunsurile corecte sunt creșterea și scăderea prețurilor în acele zile.

Este de remarcat faptul că profesorul, desigur, nu este neapărat o persoană. Cert este că uneori rețeaua trebuie antrenată ore și zile, făcând mii și zeci de mii de încercări. În 99% din cazuri, acest rol este îndeplinit de un computer, sau mai exact, de un program special de calculator.

Învățare nesupravegheată

Învățarea nesupravegheată este folosită atunci când nu avem răspunsurile corecte la semnalele de intrare. În acest caz, întregul set de antrenament constă dintr-un set de semnale de intrare.

Ce se întâmplă când rețeaua este antrenată în acest fel? Se pare că, cu o astfel de „antrenament”, rețeaua începe să distingă clasele de semnale furnizate la intrare. Pe scurt, rețeaua începe să se grupeze.

De exemplu, arătați rețelei bomboane, produse de patiserie și prăjituri. Nu reglementați în niciun fel funcționarea rețelei. Pur și simplu alimentați datele despre acest obiect în intrările sale. În timp, rețeaua va începe să producă semnale de trei tipuri diferite, care sunt responsabile pentru obiectele de la intrare.

Învățare nesupravegheată (Învățare nesupravegheată) este un tip de antrenament de rețea în care rețeaua clasifică în mod independent semnalele de intrare. Semnalele corecte (de referință) de ieșire nu sunt afișate.

Concluzii

În acest capitol, ați învățat totul despre structura unui neuron artificial, precum și o înțelegere aprofundată a modului în care funcționează (și modelul său matematic).

Mai mult, acum știi despre diverse tipuri rețele neuronale artificiale: un singur strat, multistrat, precum și rețele feedforward și rețele cu feedback.

Ați învățat și despre învățarea în rețea supravegheată și nesupravegheată.

Știți deja teoria necesară. Capitolele ulterioare includ luarea în considerare a unor tipuri specifice de rețele neuronale, algoritmi specifici pentru formarea acestora și practica de programare.

Întrebări și sarcini

Ar trebui să cunoașteți foarte bine materialul din acest capitol, deoarece conține informații teoretice de bază despre rețelele neuronale artificiale. Asigurați-vă că obțineți răspunsuri sigure și corecte la toate întrebările și sarcinile de mai jos.

Descrieți simplificările ANN-urilor în comparație cu rețelele neuronale biologice.

1. Structura complexă și complicată a rețelelor neuronale biologice este simplificată și reprezentată sub formă de diagrame. A mai rămas doar modelul de procesare a semnalului.

2. Natura semnalelor electrice din rețelele neuronale este aceeași. Singura diferență este dimensiunea lor. Îndepărtăm semnalele electrice și folosim în schimb numere care indică magnitudinea semnalului transmis.

Funcția de activare este adesea notată cu ​\(\phi(net) \) ​.

Scrieți un model matematic al unui neuron artificial.

Un neuron artificial cu intrări \(n \) ​ convertește un semnal de intrare (număr) într-un semnal de ieșire (număr) după cum urmează:

\[ out=\phi\left(\sum\limits^n_(i=1)x_iw_i\right) \]

Care este diferența dintre rețelele neuronale cu un singur strat și cu mai multe straturi?

Rețelele neuronale cu un singur strat constau dintr-un singur strat computațional de neuroni. Stratul de intrare trimite semnale direct la stratul de ieșire, care convertește semnalul și produce imediat rezultatul.

Rețelele neuronale cu mai multe straturi, pe lângă straturile de intrare și ieșire, au și straturi ascunse. Aceste straturi ascunse realizează unele transformări interne intermediare, similare etapelor de producție a produselor într-o fabrică.

Care este diferența dintre rețelele de feedforward și rețelele de feedback?

Rețelele feedforward permit semnalului să treacă într-o singură direcție - de la intrări la ieșiri. Rețelele cu feedback nu au aceste restricții, iar ieșirile neuronilor pot fi reintroduse în intrări.

Ce este un set de antrenament? Care este sensul lui?

Înainte de a utiliza rețeaua în practică (de exemplu, pentru a rezolva probleme curente pentru care nu aveți răspunsuri), trebuie să colectați o colecție de probleme cu răspunsuri gata făcute, pe care să instruiți rețeaua. Această colecție se numește set de antrenament.

Dacă colectați un set prea mic de semnale de intrare și ieșire, rețeaua își va aminti pur și simplu răspunsurile și obiectivul de învățare nu va fi atins.

Ce se înțelege prin formare în rețea?

Antrenamentul de rețea este procesul de modificare a coeficienților de ponderare ai neuronilor artificiali ai rețelei pentru a selecta o combinație a acestora care convertește semnalul de intrare în ieșirea corectă.

Ce este învățarea supravegheată și nesupravegheată?

Când antrenați o rețea cu un profesor, semnalele sunt date intrărilor sale, iar apoi ieșirea sa este comparată cu o ieșire corectă cunoscută anterior. Acest proces se repetă până când se obține acuratețea necesară a răspunsurilor.

Dacă rețelele furnizează doar semnale de intrare, fără a le compara cu ieșiri gata făcute, apoi rețeaua începe să clasifice independent aceste semnale de intrare. Cu alte cuvinte, efectuează gruparea semnalelor de intrare. Acest tip de învățare se numește învățare nesupravegheată.

Un neuron este o unitate de procesare a informațiilor într-o rețea neuronală. Figura de mai jos prezintă un model al neuronului care stă la baza rețelelor neuronale artificiale.

Există trei elemente principale în acest model de neuroni:

Modelul neuronului imită, într-o primă aproximare, proprietățile unui neuron biologic. Intrarea unui neuron artificial primește un număr de semnale, fiecare dintre acestea fiind ieșirea unui alt neuron. Fiecare intrare este înmulțită cu o greutate corespunzătoare proporțională cu puterea sinaptică și toate produsele sunt însumate pentru a determina nivelul de activare al neuronului.

Deși paradigmele de rețea sunt foarte diverse, aproape toate se bazează pe acest model neuron. Aici, o varietate de semnale de intrare, desemnate, sunt furnizate neuronului artificial. Aceste semnale de intrare, notate colectiv de vectorul , corespund semnalelor care sosesc la sinapsele unui neuron biologic. Fiecare semnal este înmulțit cu greutatea corespunzătoare și merge la blocul de însumare desemnat . Fiecare greutate corespunde „puterii” unei conexiuni sinaptice biologice. Setul de greutăți este notat colectiv printr-un vector. Blocul de însumare, corespunzător corpului elementului biologic, adaugă intrările ponderate algebric, creând o ieșire. Apoi, intră în intrarea funcției de activare, determinând semnalul final de excitare sau inhibare a neuronului la ieșire. Acest semnal ajunge la sinapsele următorilor neuroni etc.

Modelul considerat simplu al unui neuron ignoră multe proprietăți ale omologului său biologic. De exemplu, nu ia în considerare întârzierile de timp care afectează dinamica sistemului. Semnalele de intrare generează imediat un semnal de ieșire. Și, mai important, acest model de neuron nu ține cont de efectele funcției de modulare a frecvenței sau ale funcției de sincronizare a neuronului biologic, pe care unii cercetători le consideră cruciale.

În ciuda acestor limitări, rețelele construite din acest model de neuroni prezintă proprietăți care seamănă foarte mult cu un sistem biologic. Numai timpul și cercetarea vor putea răspunde la întrebarea dacă astfel de coincidențe sunt accidentale sau o consecință a faptului că cele mai importante caracteristici ale prototipului biologic sunt corect surprinse în acest model neuron.