Inteligența Artificială - Curs 4 - 2024 PDF
Document Details
Uploaded by BullishArtNouveau
2024
Tags
Summary
Documentele prezintă un curs de introducere în inteligența artificială, elaborând concepte fundamentale și exemple concrete. Prezentate sunt diferite tipuri de rețele neuronale, aplicațiile lor practice și exemple în diferite contexte. Cuprinde informații despre neuronii biologici, arhitecturi de rețele neuronale și funcții de activare.
Full Transcript
INTELIGENTA ARTIFICIALA CURS 4 INTRODUCERE Definiție: Sunt sisteme adaptive de tip "cutie neagră" (black-box), ceea ce înseamnă că procesele lor interne sunt dificil de interpretat direct, dar sunt folosite pentru a extrage modele din date printr-un...
INTELIGENTA ARTIFICIALA CURS 4 INTRODUCERE Definiție: Sunt sisteme adaptive de tip "cutie neagră" (black-box), ceea ce înseamnă că procesele lor interne sunt dificil de interpretat direct, dar sunt folosite pentru a extrage modele din date printr-un proces de învățare. Scop: Se bazează pe ideea de a imita modul de funcționare al creierului uman în procesarea informației. INTRODUCERE Neuron biologic Dendrite: Partea neuronului care primește semnale de la alți neuroni sau stimuli externi. Acestea corespund intrărilor în neuronul artificial (datele de intrare 𝑦1, 𝑦2,..., 𝑦𝑛). Nucleus: Nucleul celulei, unde sunt procesate informațiile primite. În neuronul artificial, această funcție este analogă funcției de activare. Axon: Transportă semnalul procesat către alte celule. În neuronul artificial, axonul corespunde procesului de generare a ieșirii. Myelin sheath: Ajută la accelerarea transmisiei semnalelor electrice în neuronii biologici. În neuronii artificiali, acest lucru nu are un corespondent direct. Axon terminal: Punctul final unde semnalul este transmis altor neuroni. Similar cu ieșirea calculată într-un neuron artificial. INTRODUCERE Neuron artificial Intrări (𝑦1,𝑦2,...,𝑦𝑛): Sunt datele de intrare care vin în neuron (caracteristici ale setului de date, cum ar fi temperatură, umiditate etc.). Aceste intrări sunt ponderate cu valori numerice specifice ( 𝑤1, 𝑤2,..., 𝑤𝑛). Ponderi (𝑤1,𝑤2,...,𝑤𝑛): Fiecare conexiune între intrări și neuron are o pondere atașată. Reflectă importanța fiecărei intrări. Valorile sunt ajustate în timpul procesului de învățare pentru a îmbunătăți precizia modelului. Procesarea informației: Neuronul calculează suma ponderată a intrărilor: Această sumă este trecută printr-o funcție de activare pentru a decide ieșirea finală. Ieșirea: Reprezintă rezultatul final produs de neuron, care poate fi transmis mai departe altor neuroni sau interpretat ca răspuns al rețelei neuronale. INTRODUCERE Paralelă între biologic și artificial: Dendritele corespund intrărilor (𝑦1,𝑦2,...,𝑦𝑛). Ponderile (𝑤1,𝑤2,...,𝑤𝑛) reflectă intensitatea conexiunilor dintre neuroni. Nucleul procesează datele într-un mod similar funcției de activare din neuronii artificiali. Axonul și ieșirea corespund semnalului generat de neuronul artificial. COMPONENTELE UNEI REȚELE NEURONALE Arhitectura: Este reprezentată sub formă de graf suport, unde: Nodurile reprezintă neuronii. Muchiile reprezintă conexiunile dintre neuroni (cu ponderi asociate). Tipurile comune de arhitecturi includ: Rețele feedforward: Fluxul datelor este unidirecțional, de la intrare spre ieșire. Rețele recurente: Conțin conexiuni ciclice, utile pentru procesarea datelor secvențiale. Include alegerea numărului de straturi (ex.: intrare, ascuns, ieșire) și a numărului de neuroni pe strat. Antrenare: Procesul prin care rețeaua ajustează parametrii (ponderile și biasurile) pentru a îmbunătăți performanța. Cum funcționează: Rețeaua este expusă unui set de date de antrenament (input și etichete asociate). Se calculează eroarea dintre ieșirea produsă și ieșirea dorită (funcția de cost). Algoritmi precum backpropagation și optimizatori (ex.: Gradient Descent) sunt folosiți pentru a ajusta ponderile, minimizând eroarea. Obiectiv: Obținerea unei rețele capabile să generalizeze bine la date noi (nespecificate în timpul antrenării). REȚELE NEURONALE ARTIFICIALE UNI- DIRECȚIONALE (FEED-FORWARD): Rețelele neuronale unidirecționale (feed-forward) sunt un tip de rețea neuronală artificială în care fluxul informației are loc doar într-o direcție, de la stratul de intrare (input) spre stratul de ieșire (output), trecând prin unul sau mai multe straturi ascunse (hidden layers). Informația procesată nu se întoarce înapoi către nodurile anterioare, ceea ce înseamnă că nu există cicluri în graful rețelei. Aplicații practice: Clasificarea imaginilor: Recunoașterea obiectelor în imagini (ex.: identificarea unei mașini). Sisteme de recomandare: Predicția preferințelor utilizatorilor pe baza datelor istorice. Analiza datelor: Predicții financiare, identificarea modelelor în date numerice. REȚELE NEURONALE ARTIFICIALE UNI- DIRECȚIONALE (FEED-FORWARD): Stratul de intrare: Este primul strat al rețelei, unde sunt primite datele brute (vectorul de intrare, ex.: imagini, date numerice etc.). Fiecare neuron din acest strat corespunde unei caracteristici din setul de date. Straturi ascunse: Acestea sunt unul sau mai multe straturi intermediare care procesează datele din stratul de intrare. Fiecare neuron dintr-un strat ascuns primește semnale de la neuronii din stratul precedent, le procesează și transmite rezultatul către stratul următor. Procesarea implică calcularea unei sume ponderate a intrărilor sau aplicarea unei funcții de activare pentru a decide ieșirea neuronului (de exemplu, sigmoid, ReLU, tanh). Stratul de ieșire: Este stratul final, care produce rezultatele rețelei. Ieșirile pot fi clasificări (ex.: pisică sau câine), regresii (ex.: valoarea numerică a unei predicții), altele, în funcție de problema abordată. REȚELE NEURONALE ARTIFICIALE (RECURRENT NEURAL NETWORKS - RNN) Rețelele neuronale recurente (RNN) sunt un tip de rețea neuronală artificială care permite fluxul bidirecțional al informației. Spre deosebire de rețelele feed-forward, RNN-urile pot reține informația din stări anterioare, utilizând conexiuni ciclice în structura lor. Acest lucru le face ideale pentru sarcinile care implică date secvențiale sau dependente de timp, cum ar fi procesarea textului, recunoașterea vorbirii sau analiza seriei temporale. Aplicații practice: Procesarea limbajului natural (NLP): Traducere automată (Google Translate) , Analiza sentimentului textului, Generarea de text (chatbot-uri, scriere automată). Recunoașterea vorbirii: Conversia vorbirii în text (Speech-to-Text), Asistenți vocali (Alexa, Siri). Analiza seriei temporale: Predicții financiare, Analiza datelor meteorologice sau a datelor de trafic. Recunoașterea video: Detectarea obiectelor în videoclipuri, Predicția mișcării. REȚELE NEURONALE ARTIFICIALE (RECURRENT NEURAL NETWORKS - RNN) Stratul de intrare: Primește datele secvențiale sau dependente de timp (ex.: un text, o serie de valori numerice, un semnal audio). Fiecare element al secvenței este procesat individual, dar ieșirea unui moment temporal afectează momentele ulterioare. Straturi ascunse: Este nucleul rețelei recurente, având conexiuni recurente care permit fiecărui neuron să-și trimită ieșirea înapoi către el însuși și către ceilalți neuroni din strat. Strat ascuns reține informații din stările anterioare și le combină cu datele curente pentru a produce o ieșire. Stratul de ieșire: Produce rezultatele finale pe baza datelor procesate și a informației memorate. Poate genera ieșiri pentru fiecare moment temporal (ex.: predicții per cuvânt) sau o ieșire globală (ex.: sentimentul unui text întreg). REȚELE NEURONALE ARTIFICIALE (RECURRENT Modul de funcționare: NEURAL NETWORKS - RNN) Proces iterativ: În fiecare moment temporal tt, stratul ascuns primește: Datele curente (xt): intrarea de la momentul tt. Ieșirea stării anterioare (ht−1): rezultatul stratului ascuns din momentul t−1. Această combinație permite rețelei să memoreze informații din trecut, procesând secvențial intrările. Memorie dinamică: RNN-urile memorează informații din trecut pe termen scurt și le integrează în deciziile curente. Pentru a memora pe termen lung, se folosesc variante avansate, cum ar fi LSTM (Long Short-Term Memory) sau GRU (Gated Recurrent Unit). REȚELE NEURONALE ARTIFICIALE Tipuri principale de arhitecturi: Uni-direcționale (feed-forward): Graful suport nu conține cicluri (unitățile funcționale sunt plasate pe nivele). Vectorul de ieșire se determină prin calcul direct din vectorul de intrare. Exemplu: Clasificarea imaginilor, predicții simple. Recurente: Graful suport conține cicluri. Vectorul de ieșire se determină printr-un proces iterativ (simularea unui sistem dinamic). Exemple de aplicații: recunoașterea vorbirii, traducerea automată, analiza seriei temporale. PROIECTAREA REȚELELOR NEURONALE Etape: Alegerea arhitecturii: număr de nivele număr de unități pe fiecare nivel mod de interconectare (topologie) funcții de activare Antrenarea: determinarea valorilor ponderilor pornind de la setul de antrenare folosind un algoritm de învățare Validarea rețelei: analiza comportării rețelei pentru date ce nu fac parte din setul de antrenare UNITĂȚI FUNCȚIONALE Generarea semnalului de ieșire: Se “combină” semnalele de intrare utilizând ponderile sinaptice și pragul de activare: Valoarea obținută modelează potențialul local al neuronului. Combinarea semnalelor de intrare în unitate se realizează printr-o funcție de agregare (integrare). Se generează semnalul de ieșire aplicând o funcție de activare (transfer): Corespunde generării impulsurilor de-a lungul axonului. UNITĂȚI FUNCȚIONALE Exemple de funcții clasice de agregare: Observație:Pentru varianta cu suma ponderată se poate asimila pragul cu o pondere sinaptică corespunzătoare unei intrări fictive (cu valoare -1), astfel că starea neuronului poate fi exprimată prin suma ponderată: UNITĂȚI FUNCȚIONALE Exemple de funcții de activare (transfer) UNITĂȚI FUNCȚIONALE Exemple de funcții de activare (funcții sigmoidale) UNITĂȚI FUNCȚIONALE Ce se poate face cu un singur neuron? Se pot rezolva probleme simple de clasificare (ex: se pot reprezenta funcții booleene simple) THAT'S A L L F OL KS!