Inteligența Artificială - Curs 1 - 2024 (PDF)

Summary

Aceste note de curs prezintă introducerea în Inteligența Artificială și învățarea automată. Se discută despre definiții, tipuri de învățare (supervizată, nesupervizată, prin întărire) și algoritmi utilizați. Spre deosebire de un articol sau o lucrare științifică, textul se adresează studenților, menționând procesele de evaluare.

Full Transcript

INTELIGENTA ARTIFICIALA CURS 1 PROCEDURA DE EVALUARE  Laborator Test 1 – 15%  Laborator Test 2 – 15%  Laborator Proiect – 20%  Examen – 50%  Bonus (dezvoltarea unui algoritm utilizat in cadrul cursului ) – 10% Inteligența artificială și învățarea automată Reprezentarea...

INTELIGENTA ARTIFICIALA CURS 1 PROCEDURA DE EVALUARE  Laborator Test 1 – 15%  Laborator Test 2 – 15%  Laborator Proiect – 20%  Examen – 50%  Bonus (dezvoltarea unui algoritm utilizat in cadrul cursului ) – 10% Inteligența artificială și învățarea automată Reprezentarea Inteligența Învățarea Cunoștințelor Artificială Automată = = = Knowledge Artificial Machine Representation Intelligence Learning La ce se referă inteligența artificială?  Scopul suprem al inteligenței artificiale este de a construi sisteme care să atingă nivelul de inteligență al omului  Testul Turing: un computer prezintă un nivel de inteligență uman dacă un interlocutor uman nu reușește să distingă, în urma unei conversații în limbaj natural, că vorbește cu un om sau cu un calculator La ce se referă învățarea automată?  O mare parte din cercetători consideră că acest scop poate fi atins prin imitarea modului în care o oamenii învață  Învățarea automată – domeniu care studiază modul în care calculatoarele pot fi înzestrate cu abilitatea de a învăța, fără ca aceasta să fie programată în mod explicit  În acest context, învățarea se referă la:  recunoașterea unor tipare / structuri (patterns) complexe  luarea deciziilor inteligente bazate pe observațiile din date Problemă “bine pusă” de învățare automată  Ce probleme pot fi rezolvate* folosind învățarea automată?  Problemă “bine pusă” de învățare automată:  Spunem despre un program pe calculator că învață dintr-o experiență E în raport cu o clasă de task-uri T și o măsură de performanță P, dacă performanța sa în rezolvarea task- urilor T, măsurată prin P, se îmbunătățește odată cu experiența E  (*) rezolvate cu un anumit grad de acuratețe Problemă “bine pusă” de învățare automată  Arthur Samuel (1959) a scris un program pentru a juca dame (probabil primul program bazat pe conceptul de învățare)  Programul a jucat împotriva lui însuși 10 mii de jocuri  Programul a fost conceput să găsească ce poziții ale tablei de joc erau bune sau rele în funcție de probabilitatea de a câștiga sau pierde  În acest caz:  E = 10000 de jocuri  T = joacă dame  P = dacă câștigă sau nu Strong AI versus Weak AI  strong / generic / true AI (vezi definiția lui Turing)  weak / narrow AI (se concentrează pe o anumită problemă) Când se aplică învățarea automată?  Se aplică în situații în care este foarte greu (imposibil) să definim un set de reguli de mână / să scriem un program  Exemple de probleme unde putem aplica învățarea automată:  Detectarea facială  Înțelegerea vorbirii  Prezicerea prețului acțiunilor  Recunoașterea obiectelor ESENȚA ÎNVĂȚĂRII AUTOMATE Există un tipar Dar nu îl putem exprima programatic / matematic Avem date / exemple în care regăsim acest tipar PROGRAMARE TRADIȚIONALĂ Date Computer Output Program Învățare automată Date Computer Program Output DE CE FUNCȚIONEAZĂ ÎN PREZENT? Mai multă putere de calcul Acuratețe Mai multe date Modele mai bune Numărul de exemple pentru antrenare ESENȚA ÎNVĂȚĂRII AUTOMATE Mii de algoritmi de învățare automata existenți  Cercetătorii publică sute de noi algoritmi în fiecare an Simplificând decenii de cercetare în domeniu, putem reduce învățarea automată la:  Învățarea unei funcții f care să mapeze un input X către un output Y, anume  Exemplu: X: email-uri, Y: {spam, non-spam} ESENȚA Input: X ÎNVĂȚĂRII AUTOMATE (imagini, texte, email-uri…) Output: Y (spam sau non-spam…) Funcție Target (necunoscută)  (realitatea / ”adevărata” mapare) Date  ,… Model  ESENȚA ÎNVĂȚĂRII AUTOMATE Orice algoritm de învățare automată are 3 componente:  Reprezentare / Modelare  Evaluare / Funcție obiectiv  Optimizare CE CUNOȘTINȚE SUNT NECESARE? Biologie Matematică Neurologi aplicată e Optimizare Biologia învățării Algebră liniară Sursă de Derivate și inspirație Ex: rețele Învățare integrale automată Ex: minim local neuronale Informatic Statistică ă Algoritmi Tehnici de estimare Structuri de date Paradigme Analiza teoretice complexității Optimalitate, Ex: arbori k-d eficiență Paradigme ale învățării  Învățare supervizată (supervised learning)  Învățare nesupervizată (unsupervised learning)  Învățare semi-supervizată (semi-supervised learning)  Învățare ranforsată (reinforcement learning)  Paradigme non-standard:  Învățarea activă (active learning)  Învățare prin transfer (transfer learning) Învățare supervizată  Avem la dispoziție exemple de obiecte etichetate  Exemplu 1: recunoașterea obiectelor din imagini cu eticheta obiectelor conținute Car Person Person Dog Car Învățare supervizată  Exemplu 2: recunoașterea caracterelor scrise de mână (setul de date MNIST)  Imagini de 28 x 28 de pixeli  Reprezentăm o imagine ca un vector x cu 784 de componente  Antrenăm un clasificator f(x) astfel încât:  f : x → {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Învățare supervizată  Exemplu 2: recunoașterea caracterelor scrise de mână (setul de date MNIST)  Pornind de la un set de antrenare, de exemplu 6000 de imagini per clasă  Rata de eroare poate ajunge la 0.23% (cu rețele neuronale convoluționale)  Printre primele sisteme (bazate pe învățare) comerciale utilizate pe scară largă pentru procesare de coduri poștale și cecuri bancare Învățare supervizată  Exemplu 3: detectare facială  O abordare constă în plimbarea unei ferestre peste imagine  Scopul este să clasificăm fereastra într-una din cele două clase posibile: față sau non-față (transformarea problemei într-una de clasificare) Învățare supervizată  Exemplu 3: detectare facială  Pornim de la un set cu imagini cu fețe cu diverse variații de vârstă, gen, condiții de iluminare, dar nu translație.  Și un set mult mai mare cu imagini care nu conțin fețe Învățare supervizată  Exemplu 4: detectare de spam  Problema este de a clasifica un e-mail în spam și non-spam  Apariția cuvântului “Dollars” este un indicator de spam  Un exemplu de reprezentare este un vector cu frecvența cuvintelor NUMĂRĂM CUVINTELE Obținem X ALGORITM DE DETECTARE A SPAM-ULUI Confidență / garanția performanței? De ce combinație De ce aceste cuvinte? De unde vin liniară? aceste ponderi? Învățare supervizată  Exemplu 5: prezicerea prețului acțiunilor la bursă  Scopul este de a prezice prețul la o dată din viitor, de exemplu peste câteva zile  Acesta este un task de regresie, deorece output-ul este unul continuu Învățare supervizată  Exemplu 6: prezicerea dificultății unei imagini  Scopul este de a prezice cât de dificil ar fi pentru un om să recunoască obiectele din imagine  Acesta este un task de regresie, deorece output-ul este unul continuu Formele canonice ale problemelor de învățare supervizată  Clasificare  Regresie Paradigma de învățare supervizată Modele de învățare supervizată  Clasificatorul Bayes naiv  Metoda celor mai apropiați vecini  Clasificatorul cu vectori suport  Metode kernel  Rețele neuronale și învățare “deep”  Arbori de decizie și random forests  Altele Învățare nesupervizată  Avem la dispoziție exemple de obiecte fără etichete  Exemplu 1: gruparea imaginilor după similaritate Învățare nesupervizată Exemplu 1: clusterizarea aglomerativă a imaginilor MNIST [Georgescu et al. ICIP2019] Învățare nesupervizată Exemplu 2: învățarea de trăsături folosind principiul “bottleneck” Învățare nesupervizată Exemplu 2: învățarea de trăsături pentru detectarea evenimentelor anormale [Ionescu et al. CVPR2019] Învățare nesupervizată  Exemplu 2: gruparea mamiferelor pe familii, specii, etc.  Generarea arborelui filogenetic pe baza secvențelor ADN Formele canonice ale problemelor de învățare nesupervizată  Grupare (clustering)  Reducerea dimensiunii Modele de învățare nesupervizată  K-means clustering  Clustering ierarhic  Analiza în componente principale  Modele de tip auto-encoder  Altele Învățare semi-supervizată  Avem la dispoziție exemple de obiecte etichetate și exemple de obiecte netichetate  Exemplu 1: recunoașterea obiectelor din imagini, unele cu eticheta obiectelor conținute Car Dog Person Învățare ranforsată  Cu ce diferă această paradigmă de învățare?  Sistemul învăță comportamentul inteligent pe baza unei recompense (reinforcement signal)  Recompensa este primită după mai multe acțiuni (nu vine instant)  Timpul contează (datele sunt secvențiale)  Acțiunea sistemului influențeză datele Învățare ranforsată  Exemplu 1: învățarea jocului Go  recompensă +/- pentru câștigarea/pierderea unui joc Învățare ranforsată  Exemplu 2: învățarea unui robot să meargă pe bicicletă  recompensă +/- pentru mișcare înainte/cădere Învățare ranforsată  Exemplu 3: învățarea jocului Pong din pixeli  recompensă +/- pentru creșterea scorului personal/al adversarului Paradigma de învățare ranforsată Formalizarea cu Procese de Decizie Markov Formalizarea cu Procese de Decizie Markov Formalizarea cu Procese de Decizie Markov  Soluția bazată pe programare dinamică (grafuri mici) sau aproximare (grafuri mari)  Scop: selectarea acțiunilor pentru a maximiza recompensa totală finală  Acțiunile pot avea consecințe pe termen lung  Sacrificarea unei recompense imediate poate conduce la câștiguri mai mari pe termen lung Conduce la strategii noi de joc  Exemplu AlphaGo:  Comentator 1: “That’s a very strange move”  Comentator 2: “I thought it was a mistake”  But actually, “the move turned the course of the game. AlphaGo went on to win Game Two, and at the post- game press conference, Lee Sedol was in shock.”  https://www.wired.com/2016/03/two-moves-alphago- lee-sedol-redefined-future/ Învățarea activă  Având un set mare de exemple netichetate, trebuie să alegem un subset mult mai mic pe care să îl etichetăm pentru a obține un clasificator cât mai bun Învățarea prin transfer  Pornind la un model antrenat pe un domeniu / o problemă anume, doresc să îl folosesc pentru o altă problemă / alt domeniu  Exemplu 1: rețele neuronale convoluționale Alte clase de obiecte (mai specifice), recunoaștere facială, clasificare de texturi, etc. Învățarea prin transfer Exemplu 1: recunoașterea expresiilor faciale [Georgescu et al. Access2019] Estimarea vârstei unei persoane din imagini  Clasificare?  Regresie? Ce vârstă?  Alt tip de învățare? Multe aplicații interesante, dar…  Ce este etic și ce nu?  Trolley paradox Multe aplicații interesante, dar…  Ce este etic și ce nu?  Trolley paradox Multe aplicații interesante, dar…  Ce este etic și ce nu?  Trolley paradox  http://moralmachine.mit.edu Bibliografie o O parte din materialele utilizate în acest curs sunt preluate și adaptate din notițele oferite de domnul Prof. Dr. Radu Ionescu, căruia îi mulțumesc pentru contribuția valoroasă la dezvoltarea acestui conținut.

Use Quizgecko on...
Browser
Browser