Rețelele neuronale artificiale - stadopedia

În ciuda tuturor progreselor înregistrate în domeniul inteligenței artificiale, multe probleme în acest domeniu continuă să scurgă capacitățile calculatoarelor bazate pe arhitectura von Neumann. Procesoarele care execută secvențe de instrucțiuni nu pot percepe și gândesc la un nivel comparabil cu mintea umană. Din acest motiv, mulți cercetători se îndreaptă către mașini cu arhitecturi alternative. O astfel de arhitectură este o rețea neurală artificială.







Așa cum am găsit în Capitolul 2, rețeaua neuronală artificială compusă dintr-o multitudine de procesoare individuale, pe care le numim unitățile de procesare a datelor (sau, pur și simplu prescurtate unități), precum și rețele neuronale sunt formate în sistemele biologice de viață. neuronilor biologici - o singură celulă cu tentacule pentru introducerea informațiilor, numite dendrite și tentaculele pentru a afișa informații - (. Fig 10,13) axonilor. Semnalele care sunt transmise prin axonii celulei indică dacă este într-o stare împiedicată sau excitată. Această stare este determinată de combinația de semnale obținute de dendritele celulei. Dendriții primesc semnale de la axonii altor celule, prin intervale mici, numite sinapse. Studiile arată că conductivitatea sinapselor este controlată de compoziția lor chimică. Adică dacă un anumit semnal de intrare are un efect inhibitor sau excitant asupra unui neuron este determinat de compoziția chimică a sinapselor. Prin urmare, se crede că rețeaua neuronală biologică este antrenată prin reglarea acestor compuși chimici între neuroni.

Rețelele neuronale artificiale - stadopedia

Unitatea de prelucrare a datelor într-o rețea neurală artificială este un dispozitiv simplu care simulează aceste procese de bază ale unui neuron biologic. Ieșirea este una sau zero, în funcție de faptul dacă intrarea efectivă a depășit acest prag. Intrarea efectivă este suma ponderată a intrărilor efective, dintre care un exemplu este prezentat în Fig. 10.14. Pe asta

Rețelele neuronale artificiale - stadopedia

ieșirile celor trei unități de procesare a datelor (denumite t> .v2 și p3) sunt intrările celuilalt bloc. Intrările pentru cel de-al patrulea bloc sunt asociate cu valori numite greutăți (da, w2 și yes3). Blocul care primește informația înmulțește fiecare dintre valorile de intrare cu greutatea asociată și apoi adaugă rezultatele multiplicării pentru a obține intrarea efectivă (v ^ wt + v2w2 + v3w3). Dacă suma primită depășește valoarea pragului modulului de procesare, acesta dă o valoare de 1, în caz contrar se va afișa valoarea 0.

Modulele de prelucrare a datelor (a se vedea figura 10.14) vor fi notate cu dreptunghiuri. La intrarea blocului, plasăm mici dreptunghiuri pentru a indica intrările, în fiecare dintre care scriem greutatea asociată cu această intrare. În mijlocul unui dreptunghi mare, scrieți valoarea pragului pentru acest modul. Astfel, modulul de prelucrare a datelor (Figura 10.15) are trei intrări și o valoare de prag de 1,5. La prima intrare se atribuie greutatea -2, a doua greutate 3 și a treia greutate egală cu -1. Astfel, dacă modulul primește intrări egale cu 1, 1 și 0, intrarea efectivă va fi:


și 0 va fi emis.Dar, dacă modulul primește 0, 1 și 1, ieșirea efectivă va fi:

care depășește valoarea pragului. Rezultatul este unul.

Faptul că greutatea poate fi fie pozitivă, fie negativă înseamnă că intrarea corespunzătoare poate avea fie un efect de frânare, fie un efect excitant asupra unității de recepție. (Dacă greutatea este negativ, atunci valoarea 1 la orificiul de intrare reduce suma ponderată și deci tinde să mențină efectiv intrare sub pragul. Greutatea pozitivă face intrarea corespunzătoare pentru a crește suma ponderată, mărind șansele ca suma depășește valoarea de prag.) În plus, valoarea reală greutate controlează nivelul influența (inhibarea sau excitarea) pe modulul de recepție. Prin urmare, ajustarea valorii greutăților în întreaga rețea neuronală artificială, putem programa rețea, astfel încât acesta răspunde la intrări diferite, în unele manieră predeterminată.

Să luăm în considerare un exemplu. Rețeaua simplă prezentată în Fig. 10.1, a, este programat la ieșirea 1 dacă valorile celor două intrări sunt diferite și 0 altfel (funcționarea logică XOR). Dacă schimbați greutățile, ca în Fig. 10.16, b, primim o rețea care emite 1 dacă valorile ambelor intrări sunt 1 și 0 altfel (funcționarea logică ȘI).

Este necesar să se acorde atenție faptului că rețeaua din Fig. 10.16 este mult mai simplu decât o rețea biologică reală. Creierul uman contine aproximativ 10 „de neuroni, iar fiecare neuron exista aproximativ 104 sinapse. Numărul de dendrite într-un neuron biologic este atât de mare încât să arate mai mult ca rețea de fibre, mai degrabă decât tentaculele individuali prezentate în figurile noastre.

Rețelele neuronale artificiale - stadopedia

Pentru a înțelege potențialul rețelelor neuronale artificiale, ia în considerare problema recunoașterii caracterelor folosind literele majuscule C și T prezentate în Fig. 10.17. Sarcina este de a identifica literele plasate în câmpul vizual, indiferent de orientarea lor. Toate modelele din Fig. 10.18, o trebuie să fie recunoscută ca litera C, iar toate șabloanele din partea b reprezintă litera T.

Începem cu presupunerea că câmpul de vedere constă în pixeli pătrați, fiecare fiind egal cu elementele pătrate ale cărora sunt alcătuite literele. Fiecare pixel este atașat la un senzor care emite 1 dacă pixelul este închis de litera urmărită și 0 altfel. Ieșirile acestor senzori pe care le folosim ca intrări ale rețelei noastre neuronale artificiale.

Rețeaua (Figura 10.19) constă din blocuri de prelucrare a datelor de două niveluri. Primul nivel este un set de blocuri - unul pentru fiecare zonă de 3x3 pixeli în câmpul vizual. Pentru fiecare dintre aceste blocuri, există nouă intrări la care sunt conectați senzorii de zonă 3x3. (Rețineți că zonele asociate cu unitățile de procesare de la primul nivel se suprapun, astfel încât fiecare senzor este intrarea pentru nouă unități de procesare a datelor din primul nivel.)

Rețelele neuronale artificiale - stadopedia

Rețelele neuronale artificiale - stadopedia

Al doilea nivel al rețelei noastre constă într-un modul de procesare cu o intrare separată pentru fiecare bloc din primul nivel. Pentru modulul de prelucrare a datelor de la al doilea nivel este stabilită o valoare de prag de 0,5 și fiecare intrare este dată "egală cu 1. De aceea, acest bloc emite o unitate dacă și numai dacă cel puțin una din intrările sale este egală cu 1.

Pentru fiecare modul de procesare a datelor, un prag de 0,5 este, de asemenea, setat la primul nivel. Pentru fiecare greutate de intrare este setat la 1, cu excepția intrare asociată cu regiunea centrală 3x3 pixel al modulului, pentru care greutatea este egal cu 2. Astfel, fiecare dintre aceste module poate emite unitate, numai în cazul în care unitatea recepționează de la senzor asociat cu un pixel în centru zona 3x3.







Acum, în cazul în care litera C este câmpul vizual (fig. 10.20), toate unitățile procesare ale primului nivel se va da o valoare de 0. Acest lucru se datorează faptului că în zonele de blocuri 3x3 pixelul central, care a închis scrisoarea, există cel puțin alte două pixeli, închise de asemenea printr-o literă, iar semnalele primite de la senzorii lor reduc valoarea semnalului pixelului central. Prin urmare, dacă litera C se află în câmpul vizual, toate intrările blocului de procesare al celui de-al doilea nivel sunt 0, iar ieșirea întregii rețele este, de asemenea, zero.

Rețelele neuronale artificiale - stadopedia

Luați în considerare situația cu litera T în câmpul vizual. Imaginați-vă o regiune de 3x3, centrul căruia este un pătrat închis de partea inferioară a piciorului literei T (Figura 10.21). Blocul de procesare asociat cu acest pătrat va primi o intrare efectivă egală cu 1 (2 de la pixelul central și 1 de pixelii rămași acoperite de picior). Aceasta depășește pragul de blocare, astfel încât acesta va trimite unitatea

Rețelele neuronale artificiale - stadopedia

bloc de cel mai înalt nivel. Astfel, blocul de nivel superior va returna, de asemenea, o valoare de 1.

În consecință, am obținut o rețea neurală artificială care poate distinge literele C și T, indiferent de orientarea lor în câmpul vizual. Dacă litera C este în câmp, rețeaua dă valoarea 0; pentru litera T, rețeaua emite una.

De mult timp, sa constatat că dezvoltarea și testarea teoriilor merge adesea de la mici experimente la aplicații la scară largă. Primele studii ale noii teorii sunt de obicei efectuate în cazuri mici, simple. Dacă se realizează succesul, mediul experimental se extinde la sisteme mai realiste, la scară largă. Unele teorii supraviețuiesc în această tranziție, altele nu. Uneori succesul pe probleme mici este atât de mare încât apărătorii teoriei insistă asupra cercetării continue chiar și după eșecurile pe scară largă care au răcit ardoarea altor oameni de știință. În unele cazuri, o astfel de persistență se plătește, în altele este doar o risipă de efort.

Scenarii similare se regăsesc în domeniul inteligenței artificiale. Un exemplu este prelucrarea limbajelor naturale, unde succesul în condiții limitate a făcut pe mulți să creadă că, înainte de a înțelege limbile naturale, mașinile sunt în realitate accesibile. Din păcate, a fost mult mai dificil să se obțină succesul pe sarcini mai mari, iar victoriile sunt foarte lente și ca rezultat al eforturilor semnificative. Un alt exemplu este retelele neuronale artificiale, care au intrat în științifică scena „fanfara“, a intrat în umbră din cauza oportunităților lor în problemele mai mari au fost puse sub semnul întrebării, iar acum din nou din nou, dar într-o atmosferă mai relaxată în câțiva ani. După cum se descrie mai târziu în această secțiune, subiectul algoritmilor genetici este în prezent testat prin acest test tranzitoriu. Până în prezent, nu se găsește răspunsul la întrebarea dacă abordarea evolutivă va fi un instrument util în viitor.

Desigur, abilitatea de a distinge între două litere este o asemănare slabă a capabilităților de procesare a imaginilor pe care le are mintea umană. Dar eleganta solutiilor de genul asta, spune clar ca cercetarile ulterioare in acest domeniu sunt mai mult decat justificate.

Vedem că rețelele neurale artificiale sunt o zonă de cercetare activă. Principalele obstacole în cercetare sunt legate de dezvoltarea și programarea unor astfel de rețele. Sarcinile tipice de proiectare a rețelei sunt determinarea numărului de blocuri necesare pentru a rezolva o anumită sarcină și a combinației acestora, ceea ce asigură o performanță maximă.

În ceea ce privește programarea rețelelor neuronale artificiale, am văzut deja că sarcina este de a atribui greutăți adecvate intrărilor diferitelor unități de prelucrare a datelor ale sistemului. Pentru a face acest lucru, intrările de testare sunt alimentate în mod repetat în rețea, iar greutățile sunt ajustate secvențial la o mică valoare, astfel încât puterea efectivă a sistemului să se apropie de cea dorită. Pe măsură ce procesul se repetă la diferite intrări, greutățile trebuie să necesite tot mai multe ajustări minore și, ca urmare, rețeaua începe să funcționeze corect pe întreaga gamă de date de testare. Dar ceea ce este necesar acum este o strategie de ajustare a scalelor astfel încât fiecare nouă ajustare să ne apropie mai mult de obiectiv, mai degrabă decât să distrugem rezultatele obținute în etapa anterioară.

Mintea umană are o abilitate uimitoare de a restabili informațiile legate de starea actuală. Simțind anumite mirosuri, putem aminti imediat o situație din copilărie. Sunetul vocii unui prieten poate aminti imaginea unei persoane sau, poate, amintirile unui timp bine petrecut. Anumite muzică amintește de un weekend plăcut. Toate acestea sunt exemple de memorie asociativă, adică restabilirea informațiilor legate de date sau legate de acestea.

Construcția de mașini cu memorie asociativă a fost scopul multor studii în timp. O abordare a acestei probleme este folosirea tehnicilor de rețele neuronale artificiale. De exemplu, luați în considerare o rețea compusă din mai multe unități de procesare a datelor conectate la o rețea fără intrări și ieșiri. (În unele modele, numite rețele Hopfield, ieșirea fiecărei unități de procesare este conectată la intrările de toate celelalte unități, în alte cazuri, ieșirile bloc pot fi conectate doar la vecinii cei mai apropiați.) Fiecare modul poate fi în stare acționată sau blocate. Dacă denotăm starea emoționată de către una și starea inhibată cu zero, atunci starea întregii rețele poate fi reprezentată ca un set de zerouri și una. Să presupunem acum că rețeaua este programată în așa fel încât anumite configurații de zerouri și unele sunt stabile în sensul că atunci când o rețea intră într-una din aceste stări, ea rămâne în ea. Atunci când rețeaua este într-o configurație instabilă, interacțiunea dintre unitățile de procesare o va determina să se schimbe și modificările ulterioare vor avea ca rezultat o configurație stabilă.

Dacă rețeaua începe într-o configurație instabilă care este aproape de stabilă, ne așteptăm ca aceasta să intre în această stare stabilă. Într-un sens, după ce a primit o parte din configurația stabilă, rețeaua poate restabili complet această configurație. Sau, cu alte cuvinte, poate găsi o compoziție puțin asociată cu această compoziție parțială. Astfel, în cazul în care o parte din biți utilizați pentru mirosuri de codare, și altele - pentru codificarea amintiri din copilărie, stabilirea de biți miros, în conformitate cu o anumită configurație stabilă ar determina biții rămași pot restaura amintiri asociate copilărie.

Rețelele neuronale artificiale - stadopedia

Luați în considerare rețeaua neurală artificială prezentată în Fig. 10.22. Fiecare cerc din figură indică o unitate de procesare a datelor, a cărei valoare de prag este înscrisă în interiorul cercului. Linii între cercuri reprezintă legăturile dintre blocurile corespunzătoare. Toate conexiunile sunt bidirecționale, adică o linie care leagă două blocuri, indică faptul că ieșirea fiecăruia dintre aceste blocuri este intrarea pentru celălalt bloc. Prin urmare, ieșirea unității centrale este conectată la intrările tuturor blocurilor de-a lungul perimetrului, iar ieșirea fiecărui bloc perimetral este intrarea unității centrale. Două unități conectate atribuie aceleași greutăți intrărilor unul de celălalt. Această greutate totală este înregistrată lângă linia care le conectează. Deci, blocul din partea superioară a diagramei atribuie greutatea 1 intrării primite de la unitatea centrală și greutatea la 1 intrări de la vecinii săi de-a lungul perimetrului. Anatomic, unitatea centrală atribuie o greutate 1 tuturor valorilor pe care le primește de la blocurile de-a lungul perimetrului.

Această rețea funcționează discret, adică la fiecare pas toate unitățile de procesare răspund sincron la intrările. Pentru a determina următoarea configurație a rețelei de cea actuală, calculăm intrările efective ale tuturor blocurilor de rețea și apoi permitem blocurilor să reacționeze simultan la intrările lor. Prin urmare, întreaga rețea realizează o succesiune strictă de acțiuni: calculează intrările eficiente, răspunde la intrări, calculează din nou intrările eficiente, răspunde la intrări și așa mai departe.

Luați în considerare șirul de evenimente care vor apărea dacă stabilim o astfel de configurație a rețelei atunci când numai cele două blocuri drepte din dreapta sunt blocate, iar restul sunt excitate (Figura 10.23, a). Blocurile din partea stângă vor avea intrări efective egale cu 1, astfel încât acestea rămân excitate. Vecinii lor în jurul perimetrului vor primi intrări efective zero și vor intra într-o stare împiedicată. Intrarea efectivă pentru unitatea centrală va fi de 4, deci va intra și într-o stare stagnată. În consecință, configurația întregii rețele se va schimba în configurație (Figura 10.23, b), unde numai cele două blocuri de margini din stânga sunt alimentate. Deoarece unitatea centrală este acum inhibată, starea excitată a blocurilor de margini din stânga va re-energiza blocurile superioare și inferioare. În același timp, unitatea centrală va rămâne blocată, deoarece intrarea efectivă a acesteia este 2. Rețeaua va merge la starea prezentată în Fig. 10.23, c, de unde va intra în starea prezentată în Fig. 10,23, un oraș (puteți fi siguri că efectul intermitent, de asemenea, apare dacă instalați rețeaua într-o astfel de stare, atunci când a adus doar patru unitate superioară. Unitatea de sus va rămâne în stare excitată, în timp ce vecinii săi de pe perimetrul și unitatea centrală se va muta din starea excitată în spatele și împiedicat.)

Rețelele neuronale artificiale - stadopedia

În concluzie, rețineți că această rețea are două configurații stabile: atunci când unitatea centrală este excitată și toate celelalte sunt frânate și atunci când unitatea centrală este frânată și blocurile de-a lungul perimetrului sunt excitate. Dacă setăm rețeaua într-o stare în care numai unitatea centrală este excitată și nu mai mult de două blocuri în jurul perimetrului, aceasta va ajunge la prima stare stabilă. Dacă stabilim un minim de patru blocuri vecine într-o stare excitat, acesta va trece la a doua stare stabilă. Astfel, se poate spune că rețeaua conectează primul stat stabil la configurația inițială, în care blocul nervos central și cel puțin trei unități pe perimetrul, iar al doilea - la o configurație inițiată când patru sau mai multe blocuri de perimetrul rețelei. Adică rețeaua demonstrează memoria asociativă elementară.







Articole similare

Trimiteți-le prietenilor: