Rețeaua neuronală artificială (RNA) în învățarea automată – Data Science Central
On septembrie 24, 2021 by adminRețele neuronale artificiale – Introducere
Rețelele neuronale artificiale (RNA) sau rețele neuronale sunt algoritmi de calcul.
Au scopul de a simula comportamentul sistemelor biologice compuse din „neuroni”. RNA sunt modele computaționale inspirate de sistemele nervoase centrale ale animalelor. Este capabil de învățare automată, precum și de recunoaștere a tiparelor. Acestea se prezintă ca sisteme de „neuroni” interconectați, care pot calcula valori din intrări.
O rețea neuronală este un graf orientat. Este format din noduri care în analogia biologică reprezintă neuronii, conectate prin arce. Aceasta corespunde dendritelor și sinapselor. Fiecărui arc i se asociază o pondere în timp ce la fiecare nod. Se aplică valorile primite ca intrare de către nod și se definește funcția de activare de-a lungul arcurilor de intrare, ajustată de ponderile arcurilor.
O rețea neuronală este un algoritm de învățare automată bazat pe modelul unui neuron uman. Creierul uman este format din milioane de neuroni. Acesta trimite și procesează semnale sub formă de semnale electrice și chimice. Acești neuroni sunt conectați cu o structură specială cunoscută sub numele de sinapse. Sinapsele permit neuronilor să transmită semnale. Dintr-un număr mare de neuroni simulați se formează rețele neuronale.
O rețea neuronală artificială este o tehnică de procesare a informației. Ea funcționează la fel ca și modul în care creierul uman procesează informațiile. RNA include un număr mare de unități de procesare conectate care lucrează împreună pentru a procesa informațiile. Ele generează, de asemenea, rezultate semnificative din aceasta.
Potem aplica rețeaua neuronală nu numai pentru clasificare. Se poate aplica, de asemenea, pentru regresia atributelor țintă continue.
Rețelele neuronale găsesc o mare aplicație în mineritul de date utilizat în sectoare. De exemplu economie, criminalistică, etc. și pentru recunoașterea modelelor. Poate fi utilizată și pentru clasificarea datelor într-o cantitate mare de date după o pregătire atentă.
O rețea neuronală poate conține următoarele 3 straturi:
- Strat de intrare – Activitatea unităților de intrare reprezintă informația brută care poate alimenta rețeaua.
- Strat ascuns – Pentru a determina activitatea fiecărei unități ascunse. Activitățile unităților de intrare și ponderile pe conexiunile dintre unitățile de intrare și cele ascunse. Pot exista unul sau mai multe straturi ascunse.
- Strat de ieșire – Comportamentul unităților de ieșire depinde de activitatea unităților ascunse și de ponderile dintre unitățile ascunse și cele de ieșire.
Capacități ale rețelei neuronale artificiale
Rețeaua neuronală artificială este organizată de obicei în straturi. Straturile sunt alcătuite din mai multe „noduri” interconectate care conțin o „funcție de activare”. O rețea neuronală poate conține următoarele 3 straturi:
a. Stratul de intrare
Scopul stratului de intrare este de a primi ca intrare valorile atributelor explicative pentru fiecare observație. De obicei, numărul de noduri de intrare într-un strat de intrare este egal cu numărul de variabile explicative. ‘stratul de intrare’ prezintă modelele către rețea, care comunică către unul sau mai multe ‘straturi ascunse’.
Nodurile stratului de intrare sunt pasive, ceea ce înseamnă că nu modifică datele. Ei primesc o singură valoare la intrarea lor și dublează valoarea la numeroasele lor ieșiri. Din stratul de intrare, se dublează fiecare valoare și se trimite la toate nodurile ascunse.
b. Stratul ascuns
Straturile ascunse aplică transformări date la valorile de intrare în interiorul rețelei. În acesta, arcele de intrare care pleacă de la alte noduri ascunse sau de la nodurile de intrare conectate la fiecare nod. Acesta se conectează cu arcele de ieșire la nodurile de ieșire sau la alte noduri ascunse. În stratul ascuns, procesarea efectivă se realizează prin intermediul unui sistem de „conexiuni” ponderate. Pot exista unul sau mai multe straturi ascunse. Valorile care intră într-un nod ascuns se înmulțesc cu ponderile, un set de numere prestabilite stocate în program. Intrările ponderate sunt apoi adăugate pentru a produce un singur număr.
c. Stratul de ieșire
Cele ascunse se leagă apoi de un „strat de ieșire”. Stratul de ieșire primește conexiuni de la straturile ascunse sau de la stratul de intrare. Acesta returnează o valoare de ieșire care corespunde predicției variabilei de răspuns. În problemele de clasificare, există, de obicei, un singur nod de ieșire. Nodurile active ale stratului de ieșire combină și modifică datele pentru a produce valorile de ieșire.
Capacitatea rețelei neuronale de a oferi o manipulare utilă a datelor constă în selectarea corectă a ponderilor. Acest lucru este diferit de procesarea convențională a informației.
Structura unei rețele neuronale
Structura unei rețele neuronale se mai numește și „arhitectura” sau „topologia” acesteia. Ea constă în numărul de straturi, unități elementare. Ea constă, de asemenea, în mecanismul de ajustare a ponderii între schimburi. Alegerea structurii determină rezultatele care se vor obține. Este cea mai critică parte a implementării unei rețele neuronale.
Cea mai simplă structură este cea în care unitățile se distribuie în două straturi: Un strat de intrare și un strat de ieșire. Fiecare unitate din stratul de intrare are o singură intrare și o singură ieșire care este egală cu intrarea. Unitatea de ieșire are toate unitățile din stratul de intrare conectate la intrarea sa, cu o funcție de combinație și o funcție de transfer. Poate exista mai mult de o unitate de ieșire. În acest caz, modelul rezultat este o regresie liniară sau logistică. în funcție de faptul că funcția de transfer este liniară sau logistică. Greutățile rețelei sunt coeficienții de regresie.
Prin adăugarea a 1 sau mai multe straturi ascunse între straturile de intrare și ieșire și a unităților din acest strat, puterea de predicție a rețelei neuronale crește. Dar un număr de straturi ascunse ar trebui să fie cât mai mic posibil. Acest lucru asigură faptul că rețeaua neuronală nu stochează toate informațiile din setul de învățare, ci le poate generaliza pentru a evita supraadaptarea.
Se poate produce supraadaptarea. Aceasta apare atunci când ponderile fac ca sistemul să învețe detalii din setul de învățare în loc să descopere structuri. Acest lucru se întâmplă atunci când dimensiunea setului de învățare este prea mică în raport cu complexitatea modelului.
Un strat ascuns este prezent sau nu, stratul de ieșire al rețelei poate avea uneori multe unități, atunci când există multe clase de prezis.
Avantaje și dezavantaje ale rețelelor neuronale
Să vedem câteva avantaje și dezavantaje ale rețelelor neuronale:
- Rețelele neuronale se comportă bine cu date liniare și neliniare, dar o critică obișnuită a rețelelor neuronale, în special în robotică, este că necesită o mare diversitate de antrenamente pentru funcționarea în lumea reală. Acest lucru este așa deoarece orice mașină de învățare are nevoie de suficiente exemple reprezentative pentru a capta structura subiacentă care îi permite să generalizeze la cazuri noi.
- Rețelele neuronale funcționează chiar dacă una sau câteva unități nu reușesc să răspundă la rețea, dar pentru a implementa rețele neuronale software mari și eficiente, trebuie angajate multe resurse de procesare și stocare. În timp ce creierul are un hardware adaptat la sarcina de procesare a semnalelor printr-un graf de neuroni, simularea chiar și a celei mai simplificate forme pe tehnologia Von Neumann poate obliga un proiectant de rețele neuronale să completeze milioane de rânduri de baze de date pentru conexiunile sale – ceea ce poate consuma cantități uriașe de memorie de calculator și spațiu pe hard disk.
- Rețelele neuronale învață din datele analizate și nu necesită reprogramare, dar acestea sunt denumite modele de tip „cutie neagră” și oferă foarte puține informații despre ceea ce fac cu adevărat aceste modele. Utilizatorul trebuie doar să îi alimenteze datele de intrare, să îl urmărească cum se antrenează și să aștepte rezultatul.
Concluzie
RAN-urile sunt considerate modele matematice simple pentru a îmbunătăți tehnologiile existente de analiză a datelor. Deși nu se poate compara cu puterea creierului uman, totuși este blocul de bază al inteligenței artificiale.
.
Lasă un răspuns