Inteligența Artificială - Curs 1 - 2024 (PDF)
Document Details
Uploaded by BullishArtNouveau
2024
Tags
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.