complete guide artificial neural network machine learning
Acest tutorial explică ce este rețeaua neuronală artificială, cum funcționează o ANN, structura și tipurile de arhitectură ANN și rețea neuronală:
In acest Instruire de învățare automată pentru toți , am explorat totul Tipuri de învățare automată în tutorialul nostru anterior.
Aici, în acest tutorial, discutați diferiții algoritmi din rețelele neuronale, împreună cu comparația dintre învățarea automată și ANN. Înainte de a afla cum contribuie ANN la învățarea automată, trebuie să știm ce este o rețea neuronală artificială și cunoștințe scurte despre învățarea automată.
Să explorăm mai multe despre învățarea automată și rețeaua neuronală artificială !!
=> Citiți seria completă de formare pentru învățarea automată
Ce veți învăța:
- Ce este învățarea automată?
- Ce este o rețea neuronală artificială?
- Structura unei rețele neuronale biologice
- Comparație între neuronul biologic și neuronul artificial
- Caracteristicile ANN
- Structura ANN
- Funcția de activare
- Ce este un neuron artificial?
- Cum funcționează neuronul artificial?
- Modele de bază ale ANN
- Arhitectura rețelei neuronale
- Exemplu de rețea de neuroni artificiali
- Comparație între învățarea automată și ANN
- Rețele neuronale și învățare profundă
- Aplicații de rețea neuronală artificială
- Limitările rețelelor neuronale
- Concluzie
- Lectură recomandată
Ce este învățarea automată?
Învățarea automată este un domeniu al științei care permite computerelor capacitatea de a învăța și de a acționa fără a fi programat în mod explicit. Este un subdomeniu al Inteligenței Artificiale.
Ce este o rețea neuronală artificială?
ANN este un model neliniar care este utilizat pe scară largă în învățarea automată și are un viitor promițător în domeniul inteligenței artificiale.
Rețeaua neuronală artificială este similară unei rețele neuronale biologice. O rețea neuronală biologică este o structură de miliarde de neuroni interconectați într-un creier uman. Creierul uman cuprinde neuroni care trimit informații către diferite părți ale corpului ca răspuns la o acțiune efectuată.
Similar cu aceasta, o rețea neuronală artificială (ANN) este o rețea de calcul în știință care seamănă cu caracteristicile unui creier uman. ANN poate fi modelat ca neuronii originali ai creierului uman, prin urmare părțile de procesare a ANN sunt numite neuroni artificiali.
ANN constă dintr-un număr mare de neuroni interconectați, care sunt inspirați de funcționarea unui creier. Acești neuroni au capacitatea de a învăța, de a generaliza datele de antrenament și de a obține rezultate din date complicate.
Aceste rețele sunt utilizate în domeniile clasificării și predicției, identificării modelelor și tendințelor, problemelor de optimizare etc. ANN învață din datele de instruire (intrare și ieșire țintă cunoscute) fără nicio programare.
Rețeaua neuronală învățată se numește an sistem expert cu capacitatea de a analiza informațiile și de a răspunde la întrebările unui anumit domeniu.
Definiția formală a ANN dată de Dr. Robert Hecht-Nielson, inventatorul unui prim computer neuro este:
„... un sistem de calcul alcătuit dintr-o serie de elemente de procesare simple, foarte interconectate, care procesează informațiile prin răspunsul lor de stare dinamică la intrările externe”.
Structura unei rețele neuronale biologice
O rețea neuronală biologică constă din:
- Soma: Aceasta se mai numește și corpul celular. Este locul unde se află nucleul celular.
- Dendrite: Acestea sunt rețele asemănătoare copacilor care sunt conectate la corpul celulei. Este realizat din fibra nervoasa.
- Axon: Axon transportă semnalul din corpul celulei. Se împarte în fire și fiecare fir se termină într-o structură asemănătoare unui bec numită sinapsă. Semnalele electrice sunt trecute între sinapsă și dendrite.

(imagine sursă )
Comparație între neuronul biologic și neuronul artificial
| Neuron biologic | Neuron artificial |
|---|---|
| ML se aplică în eCommerce, asistență medicală, recomandări de produse etc. | ANN este aplicat în domeniul finanțelor, învățării automate și inteligenței artificiale. |
| Este format din celule. | Celulele corespund neuronilor. |
| Are dendrite care sunt interconectări între corpul celulei. | Ponderile conexiunii corespund dendritelor. |
| Soma primește intrarea. | Soma este similar cu greutatea netă de intrare. |
| Axonul primește semnalul. | Ieșirea ANN corespunde axonului. |
Caracteristicile ANN
- Non-liniaritate: Mecanismul urmat în ANN pentru generarea semnalului de intrare este neliniar.
- Învățare supravegheată: Intrarea și ieșirea sunt mapate și ANN este instruit cu setul de date de instruire.
- Învățare fără supraveghere: Ieșirea țintă nu este dată, astfel încât ANN va învăța de la sine descoperind caracteristicile din tiparele de intrare.
- Natura adaptivă: Ponderile conexiunii din nodurile ANN sunt capabile să se adapteze pentru a da ieșirea dorită.
- Analogia neuronului biologic: ANN are o structură și funcționalitate inspirate de creierul uman.
- Toleranță la erori: Aceste rețele sunt extrem de tolerante, deoarece informațiile sunt distribuite în straturi, iar calculul are loc în timp real.
Structura ANN
Rețelele neuronale artificiale sunt elemente de procesare fie sub formă de algoritmi sau dispozitive hardware modelate după structura neuronală a cortexului cerebral al creierului uman.
Aceste rețele sunt numite pur și simplu rețele neuronale. NN este format din mai multe straturi. Straturile multiple care sunt interconectate sunt deseori numite „Perceptron multistrat”. Neuronii dintr-un strat sunt numiți „Noduri”. Aceste noduri au o „funcție de activare”.
ANN are 3 straturi principale:
- Strat de intrare: Modelele de intrare sunt introduse în straturile de intrare. Există un singur strat de intrare.
- Straturi ascunse: Pot exista unul sau mai multe straturi ascunse. Procesarea care are loc în straturile interioare se numește „straturi ascunse”. Straturile ascunse calculează ieșirea pe baza „greutăților” care este „suma conexiunilor de sinapsă ponderate”. Straturile ascunse rafinează intrarea prin eliminarea informațiilor redundante și trimit informațiile la următorul strat ascuns pentru procesare ulterioară.
- Strat de ieșire: Acest strat ascuns se conectează la „stratul de ieșire” unde este afișată ieșirea.
Funcția de activare
Funcția de activare este o stare internă a unui neuron. Este o funcție de intrare pe care neuronul o primește. Funcția de activare este utilizată pentru a converti semnalul de intrare pe nodul ANN într-un semnal de ieșire.
Ce este un neuron artificial?
O rețea neuronală artificială constă din elemente de procesare extrem de interconectate numite noduri sau neuroni.
Acești neuroni funcționează în paralel și sunt organizați într-o arhitectură. Nodurile sunt conectate între ele prin legături de conexiune. Fiecare neuron poartă o greutate care conține informații despre semnalul de intrare.
Cum funcționează neuronul artificial?
Un neuron artificial primește o intrare. Aceste intrări au o pondere numită „sinapsă”. Acești neuroni (numiți și noduri) au „funcție de activare”. Această funcție de activare funcționează la intrare și o procesează pentru a da o ieșire.
Suma ponderată a intrărilor devine un semnal de intrare pentru funcția de activare pentru a da o ieșire. Aceste greutăți de intrare sunt reglabile astfel încât rețeaua neuronală să își poată regla parametrii pentru a da ieșirea dorită.
Puține funcții comune de activare care sunt utilizate în rețeaua neuronală artificială sunt:
# 1) Funcția de identitate
Poate fi definit ca f (x) = x pentru toate valorile lui x. Aceasta este o funcție liniară în care ieșirea este aceeași cu intrarea.

# 2) Funcția de pas binar
Această funcție este utilizată în rețelele cu un singur strat pentru a converti intrarea netă în ieșire. Ieșirea este binară, adică 0 sau 1. T reprezintă valoarea pragului.


(imagine sursă )
# 3) Funcția pasului bipolar
Funcția pas bipolar are ieșiri bipolare (+1 sau -1) pentru intrarea netă. T reprezintă valoarea pragului.


# 4) Funcția sigmoidală
Este utilizat în rețelele de propagare înapoi.
Este de două tipuri:
- Funcția binară Sigmoid: Se mai numește și funcția sigmoidă unipolară sau funcția sigmoidă logistică. Gama funcțională sigmoidală este de la 0 la 1.


- Sigmoid bipolar: Funcția bipolară sigmoidală variază de la -1 la +1. Este similar cu funcția tangentă hiperbolică.


(imagine sursă )
# 5) RampFunction


suma ponderată a intrărilor înseamnă „produsul ponderii intrării și valorii intrării” însumate pentru toate intrările.
Fie I = {I1, I2, I3 ... In} să fie modelul de intrare pentru neuron.
Fie W = {W1, W2, W3 ... Wn} greutatea asociată cu fiecare intrare la nod.
Suma ponderată a intrărilor = Y = (? Wi * Ii) pentru i = 1 până la n

Modele de bază ale ANN
Modelele de rețea neuronală artificială sunt formate din 3 entități:
- Greutăți sau conexiuni sinaptice
- Regula de învățare utilizată pentru ajustarea greutăților
- Funcțiile de activare ale neuronului
Arhitectura rețelei neuronale
În ANN, neuronii sunt interconectați, iar ieșirea fiecărui neuron este conectată la următorul neuron prin greutăți. Arhitectura acestor interconectări este importantă într-un ANN. Acest aranjament este sub formă de straturi, iar conexiunea dintre straturi și în interiorul stratului este arhitectura rețelei neuronale.
cea mai bună conversie YouTube în aplicație mp3
Cele mai cunoscute arhitecturi de rețea sunt:
- Rețea de transmisie cu un singur strat
- Rețea multi-strat Feed-Forward
- Un singur nod cu propriul feedback
- Rețea recurentă cu un singur strat
- Rețea recurentă multi-strat
Să aruncăm o privire la fiecare dintre acestea în detaliu.
# 1) Rețea de transmisie cu un singur strat
Un strat este o rețea formată din neuroni. Acești neuroni sunt conectați la ceilalți neuroni ai stratului următor. Pentru un singur strat, există doar straturile de intrare și ieșire. Stratul de intrare este conectat la nodurile stratului de ieșire cu greutăți.
Toate nodurile de intrare sunt conectate la fiecare dintre nodurile de ieșire. Termenul feed-forward descrie că nu există feedback trimis de la stratul de ieșire la stratul de intrare. Aceasta formează o rețea de feed-forward cu un singur strat.

(imagine sursă )
# 2) Rețea multi-strat Feed-Forward
Rețeaua cu mai multe straturi constă din unul sau mai multe straturi între intrare și ieșire. Stratul de intrare primește doar un semnal și îl tamponează în timp ce stratul de ieșire arată ieșirea. Straturile dintre intrare și ieșire se numesc straturi ascunse.
Straturile ascunse nu sunt în contact cu mediul extern. Cu un număr mai mare de straturi ascunse, răspunsul de ieșire este mai eficient. Nodurile din stratul anterior sunt conectate la fiecare nod din stratul următor.
Deoarece nu există un strat de ieșire conectat la straturile de intrare sau ascunse, acesta formează o rețea de avansare cu mai multe straturi.

# 3) Nod unic cu feedback propriu
Rețelele în care ieșirea stratului de ieșire este trimisă înapoi ca intrare în stratul de intrare sau celelalte straturi ascunse se numește Rețele de feedback. În sistemele de feedback cu un singur nod, există un singur strat de intrare în care ieșirea este redirecționată înapoi ca feedback.

# 4) Rețea recurentă cu un singur strat
Într-o rețea recurentă cu un singur strat, rețeaua de feedback formează o buclă închisă. În acest model, un singur neuron primește feedback către sine sau către ceilalți neuroni din rețea sau ambii.

# 5) Rețea recurentă multi-strat
În rețeaua recurentă cu mai multe straturi, există mai multe straturi ascunse și ieșirea este redirecționată înapoi către neuronii straturilor anterioare și alți neuroni din aceleași straturi sau același neuron în sine.

Exemplu de rețea de neuroni artificiali
Să luăm rețeaua de mai jos cu intrarea dată și să calculăm neuronul net de intrare și să obținem ieșirea neuronului Y cu funcția de activare ca sigmoidă binară.

Intrarea are 3 neuroni X1, X2 și X3 și o singură ieșire Y.
Ponderile asociate cu intrările sunt: {0,2, 0,1, -0,3}
Intrări = {0,3, 0,5, 0,6}
Intrare netă = {x1 * w1 + x2 * w2 + x3 * w3}
Intrare netă = (0,3 * 0,2) + (0,5 * 0,1) + (0,6 * -0,3)
Intrare netă = -0.07
Ieșire pentru Sigmoidal binar:

X este -0,07
Rezultatul este 0,517

Comparație între învățarea automată și ANN
| Învățare automată | Retele neuronale artificiale |
|---|---|
| Învățarea automată învață din datele de intrare și descoperă tiparele de date de ieșire de interes. | ANN sunt utilizate în algoritmi de învățare automată pentru a instrui sistemul folosind sinapse, noduri și legături de conexiune. |
| ML este un subset al câmpului inteligenței artificiale. | ANN este, de asemenea, o parte a câmpului științei de inteligență artificială și un subset de învățare automată. |
| Algoritmii ML învață din datele transmise algoritmului în scopul luării deciziilor. Unii dintre acești algoritmi sunt clasificare. Clustering, extragerea datelor de asociere. | ANN este o știință de învățare profundă care analizează datele cu structuri logice așa cum fac oamenii. Unele dintre schemele de învățare ANANN sunt Hebbian, Perceptron, propagarea spatelui etc. |
| Algoritmii ML au capacități de auto-învățare, dar ar necesita intervenția umană dacă rezultatul este inexact. | Algoritmii ANN au capacități de a se adapta folosind greutăți de conexiune dacă rezultatul este greșit. |
| Algoritmii ML necesită abilități de programare, structura datelor și cunoștințe în baza de date de date mari. | ANN necesită, de asemenea, abilități puternice în matematică, probabilitate, structuri de date etc. |
| Programele ML pot prezice rezultatul pentru setul de date învățat și se pot adapta pentru date noi. | ANN poate învăța și lua decizii inteligente pe cont propriu pentru date noi, dar este mai profund decât învățarea automată. |
| Învățarea supravegheată și nesupravegheată se încadrează în învățarea automată. | Învățarea, cum ar fi Kohenen, tendința radială, rețeaua neuronală feed-forward intră sub ANN. |
| Câteva exemple de ML sunt rezultatele căutării Google etc. | Câteva exemple de ANN sunt recunoașterea feței, recunoașterea imaginii etc. |
Rețele neuronale și învățare profundă
Rețelele Deep Learning conțin mai multe straturi ascunse între intrare și ieșire. Aceste rețele se disting prin profunzimea straturilor ascunse din ele. Datele de intrare trec prin mai mulți pași înainte ca ieșirea să fie afișată.
Aceste rețele diferă de NN anterioare, cum ar fi perceptronul care avea un singur strat ascuns și a fost numit Rețele Shallow. Fiecare strat ascuns din rețeaua de învățare profundă antrenează datele cu anumite caracteristici bazate pe rezultatul stratului anterior.
Datele trec prin multe straturi de funcții neliniare la nod. Cu cât numărul de straturi este mai mare, cu atât caracteristicile mai complexe pot fi recunoscute, deoarece stratul următor va efectua agregarea caracteristicilor din straturile anterioare.
Straturile ascunse multiple din rețea măresc complexitatea și abstractizarea. Această profunzime este denumită și o ierarhie a caracteristicilor. Datorită acestui fapt, rețelele de învățare profundă sunt capabile să manipuleze date cu dimensiuni ridicate.
Câteva exemple de rețele de învățare profundă includ gruparea a milioane de imagini pe baza caracteristicilor și asemănărilor sale, filtrarea mesajelor de e-mail, aplicarea filtrelor la mesajele din CRM, identificarea vorbirii etc.
Rețelele de învățare profundă pot fi instruite atât asupra setului de date etichetate, cât și pe cel neetichetat. Pentru setul de date neetichetat, rețelele precum mașinile de selecție Boltzmann efectuează extragerea automată a caracteristicilor.
Rețeaua învață automat analizând intrarea prin eșantionare și minimizând diferența de ieșire și distribuția intrării. Rețeaua neuronală găsește aici corelații între caracteristici și rezultate.
Rețelele de învățare profundă instruite pe date etichetate pot fi aplicate datelor nestructurate. Cu cât datele de instruire sunt alimentate în rețea, cu atât vor fi mai precise.
Capacitatea rețelei de a învăța din datele neetichetate este un avantaj față de ceilalți algoritmi de învățare.
Aplicații de rețea neuronală artificială
Rețelele neuronale au fost utilizate cu succes într-o varietate de soluții, așa cum se arată mai jos.
# 1) Recunoașterea modelului: ANN este utilizat în recunoașterea modelelor, recunoașterea imaginilor, vizualizarea imaginilor, scrierea de mână, vorbirea și alte astfel de sarcini.
# 2) Probleme de optimizare: Probleme precum găsirea celei mai scurte rute, programarea și fabricarea în care trebuie satisfăcute constrângerile problemei și trebuie realizate soluții optime utilizează NN-uri.
# 3) Prognoza: NN poate prezice rezultatul pentru situații analizând tendințele din trecut. Aplicații precum activitățile bancare, bursa, prognoza meteo utilizează rețele neuronale.
# 4) Sisteme de control: Sistemele de control, cum ar fi produsele informatice, produsele chimice și robotica utilizează rețele neuronale.
Limitările rețelelor neuronale
Mai jos sunt enumerate câteva dintre dezavantajele rețelelor neuronale.
- Aceste rețele sunt cutii negre pentru utilizator, deoarece utilizatorul nu are niciun rol, cu excepția alimentării intrării și a observării ieșirii. Utilizatorul nu este conștient de instruirea care se întâmplă în algoritm.
- Acești algoritmi sunt destul de încet și necesită multe iterații (numite și epoci) pentru a da rezultate exacte. Acest lucru se datorează faptului că CPU calculează greutățile, funcția de activare a fiecărui nod separat, făcându-l să consume atât timp, cât și resurse. De asemenea, cauzează o problemă cu o cantitate mare de date.
Concluzie
În acest tutorial, am aflat despre rețeaua neuronală artificială, analogia sa cu neuronul biologic și tipurile de rețea neuronală.
ANN se încadrează în învățarea automată. Este un model de calcul compus din mai mulți noduri neuronice. Aceste noduri primesc intrarea, procesează intrarea utilizând funcția de activare și transmit ieșirea către straturile următoare.
Intrările sunt asociate cu greutățile legăturilor de conexiune numite sinapsă. Un ANN de bază constă dintr-un strat de intrare, greutăți, funcție de activare, strat ascuns și un strat de ieșire.
Funcțiile de activare sunt utilizate pentru a converti intrarea în ieșire. Unele dintre ele sunt binare, bipolare, sigmoidale și cu funcție de rampă. Există diferite tipuri de ANN, cum ar fi redirecționarea cu un singur strat, redirecționarea cu mai multe straturi, rețelele recurente etc., bazate pe numărul de straturi ascunse și mecanisme de feedback.
ANN cu multe straturi ascunse între intrare și ieșire formează o rețea de învățare profundă. Rețelele de învățare profundă au o complexitate ridicată și un nivel de abstractizare care le face capabile să calculeze date cu dimensiuni ridicate cu mii de parametri.
ANN este utilizat în domeniul prognozării, procesării imaginilor, sistemelor de control etc. Acestea au fost aplicate cu succes ca soluție la gama de probleme din știință.
Sperăm că acest tutorial a explicat tot ce trebuie să știți despre rețelele neuronale artificiale !!
=> Vizitați aici pentru seria exclusivă de învățare automată
Lectură recomandată
- Data Mining Vs Machine Learning Vs Intelligence Artificial Vs Deep Learning
- Testarea securității rețelei și cele mai bune instrumente de securitate a rețelei
- Tipuri de învățare automată: supravegheată vs. învățare nesupravegheată
- Cele mai populare instrumente software de învățare automată în 2021
- Tutorial de învățare automată: Introducere în ML și aplicațiile sale
- Ghid pentru masca de subrețea (subrețea) și calculatorul de subrețea IP
- Ghid de evaluare și gestionare a vulnerabilității în rețea
- Cele mai bune 15 instrumente de scanare în rețea (rețea și scaner IP) din 2021