IV130 Přínosy a rizika inteligentních systémů 3. května 2024 Strojové učení Učící se aktéři • Aktér se učí, pokud zlepšuje svou činnost v důsledku pozorování světa (prostředí) • U aktérů, kterými jsou počítače, hovoříme o strojovém učení: počítač pozoruje data, vytváří si model založený na těchto datech a následně tento model používá pro hypotézu o stavu světa i jako kód v počítači, který řeší problémy • Proč chceme, aby se stroje učily (namísto toho, abychom je rovnou lépe naprogramovali)? ➢ Nelze dost dobře předvídat všechnu budoucí situace (např. navigace v bludišti po seznámení se s plánem bludiště, předpovídání vývoje akcií po zvládnutí, jak přizpůsobit chování při změnách trendu, atd.) ➢ Autoři systému nemusí sami vědět, jak zvládání problému naprogramovat (např. rozeznávání tváří lidí z rodiny, atd.) Formy učení • Zlepšovat učením lze kteroukoli část aktéra, odtud volby • Jakou část aktéra zlepšovat? – Zobrazení podmínek aktuálního stavuna akce – Způsob odvozovánívlastnostísvěta z posloupnostivstupů – Informace o tom, jak se svět vyvíjí a jaké akce může aktér používat – Informace o užitku indikujícíto, jaké stavy světa jsou preferovány – Informace o hodnotěakcí indikujícížádoucístavy – Cíle, které popisujínejvíce preferované stavy – Generátor problémů, kritik i prvek umožňujícísystému zlepšovatse • Jakou předchozí znalost aktér má, a tedy i jaké modely aktér může vytvářet, jakou reprezentaci znalostí a svých vlastních zlepšovaných komponent využívá? • Příklad: Aktér pracující jako samořiditelné auto se může učit pozorováním toho, jak řidič pracuje s brzdou, a vypracovat si pravidla pro brzdění. Sledováním kamerového vstupu a řidičovy informace o obsahu scény se může naučit rozeznávatautobusy. Zkoušením brzdění na mokré vozovce se může učit účinkům akcí na různém stavu povrchu vozovky.Atd. Specifické podoby učení • Učení je formou induktivní operace (z nějakých konkrétních situací se usuzuje na obecné pravidlo) • Na rozdíl od operací deduktivních není garantována korektnostzávěrů • Obecným principem je zpravidla výběr nejjednoduššípodoby zobecnění • Technologie strojovéhoučení se dnes užívají rutinně v prakticky jakýchkoli druzích softwaru a jsou použitelné pro libovolný model struktury aktérů • Odezva (zpětná vazba), kterou učící se aktér potřebuje, vede ke třem základním typům učení: ➢ Učení (se) s učitelem, v němž aktér pozoruje dvojice vstup-výstup a učí se funkci, která tomu odpovídá (klasifikace na základě označení vstupů, regrese nebo informace pocházející ze senzorů např. pro učení se, jak brzdit) ➢ Učení bez učitele, kdy se aktér učí rozpoznávatvzory bez nejké explicitní zpětné vazby (např. hledání vzorů pomocí klastrování) ➢ Zpětnovazební učení probíhající na základě zpětné vazby odpovídající odměnám a trestům (např. vyhraná nebo prohraná partie šachu nebo go) Učení se s učitelem • Pro výcvikovou (tréninkovou) množinu dvojic (x1,y1), (x2,y2), …, (xN,yN) generovaných funkcí y=f(x) hledáme funkci h, která aproximuje skutečnou funkci f. • Funkce h je modelem těchto dat, funkce sama je vybírána z nějaké třídy modelů funkcí, které uvažujeme • Funkci h označujeme jako konzistentní (s daty), pokud h(xi)=yi, pro všechny dvojice z výcvikových dat. • Regrese hodnot ilustrující příklady různých funkcí konzistentních s výukovými daty; jedna z polynomiálních funkcí je zjevně přeučená • Srovnej též tzv. Ockhamovu břitvu Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th ed., 2021 Modelový příklad: Čekání v restauraci • Problém rozhodování,zda čekat na volné místo v restauraci • Výstupem je Booleovskáproměnná WillWait nabývajícíhodnotuTrue, pokudna stůl počkáme • Vstupem je vektordeseti hodnot atributů: 1. Alternate: zda je poblíž vhodná alternativní restaurace 2. Bar: zda je v restauracipříjemný bar, kde se dá počkat 3. Fri/Sat: hodnota true v pátek a v sobotu 4. Hungry: zda jsmezrovna hladoví 5. Patrons: kolik lidí je v restauraci, možnéhodnoty jsou None, Some a Full 6. Price: cenová úroveň restaurace($, $$, $$$) 7. Raining: zda venku prší 8. Reservation: zda máme rezervaci 9. Type: druh restaurace(French, Italian, Thainebo burger) 10. WaitEstimate: odhad doby čekání: 0–10, 10–30, 30–60, or >60 minut Modelový příklad: Čekání v restauraci 1. Alternate: zda je poblíž vhodná alternativní restaurace 2. Bar: zda je v restauraci příjemný bar, kde se dá počkat 3. Fri/Sat: hodnota true v pátek a v sobotu 4. Hungry: zda jsme zrovna hladoví 5. Patrons: kolik lidí je v restauraci, možné hodnoty jsou None, Some a Full 6. Price: cenová úroveň restaurace($, $$, $$$) 7. Raining: zda venku prší 8. Reservation: zda máme rezervaci 9. Type: druh restaurace (French, Italian, Thai nebo burger) 10. WaitEstimate: odhad doby čekání: 0–10, 10–30, 30–60, or >60 minut Existuje zde 26 × 32 × 42 = 9216 možných kombinací pro vstupní hodnoty, ve výukovém souboru je jen 12 z nich. Podstata procesu indukce: potřebujeme nejlepší odhad 9204 výstupních hodnot na základě toho, že máme dán podklad v podobě pouhých 12 příkladů. Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th ed., 2021 Učení rozhodovacích stromů • Rozhodovací strom je reprezentací funkce, která zobrazuje vektor atributů na jeden výsledek – rozhodnutí • Realizuje se v něm posloupnost testů, která začíná v kořeni, a pokračuje se až do listu ohodnoceného příslušným rozhodnutím 1. Alternate: zda je poblížvhodná alternativní restaurace 2. Bar: zda je v restauraci příjemný bar,kde se dá počkat 3. Fri/Sat: hodnota true v pátek a v sobotu 4. Hungry: zda jsme zrovna hladoví 5. Patrons: kolik lidí je v restauraci,možné hodnoty jsou None, Some a Full 6. Price: cenová úroveň restaurace($, $$, $$$) 7. Raining: zda venku prší 8. Reservation: zda máme rezervaci 9. Type: druh restaurace(French, Italian,Thai nebo burger) 10. WaitEstimate: odhad doby čekání: 0–10, 10–30, 30–60, or >60 minut Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th ed., 2021 Učení rozhodovacího stromu • Do kořene vybíráme atribut, který dává největší rozdělení („nejvíce informativní atribut“) • Jsou-li zbylé příklady všechny stejné, je to list s odpovědí Yes nebo No. • Pokud jsou v uzlu smíchaně pozitivní a negativní příklady, vezmeme nejlepší atribut a dál podle něj rozdělíme možnosti • Pokud již žádné příklady nezbývají, vrátíme jako hodnotu nejčastější výstup z příkladů, které byly užity v konstrukci rodičovského uzlu • Pokud již nezbývají žádné atributy, mají příklady stejný popis, ale různý výstup – jde o šum v datech nebo je doména nedeterministická a atributy nestačí k popsání výsledku Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th ed., 2021 Učení rozhodovacího stromu • Pro příklad s restauracemi je finální podoba rozhodovacího stromu následující • Získaný strom je konzistentní s dvanácti příklady a podstatně jednodušší než strom přímo z nich vytvořený • Testy na vstupy Raining a Reservation v něm nejsou použity, protože pro klasifikaci příkladů nejsou potřeba • Zajímavá drobnost je ochota čekat na thajskou restauraci v pátek a v sobotu • Malý počet příkladů nepokrývá uspokojivě situaci, kdy je sice reastaurace plná, ale doba čekání je 0-10 Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th ed., 2021 Oblasti zájmu v souvislosti s učením rozhodovacích stromů • Výběr atributupro test lze exaktnějipopsat jako výběr atributu podle entropie s ním spojené (míry neurčitosti) • Informační zisk spojený s výběrem atributu odpovídáočekávanémusnížení entropie provedenímtestu podle tohoto atributu (u příkladus restauracemi nevede volbaatributu Type k žádné redukci entropie) • Rozhodovacístromy lze zjednodušovat prořezáváním částí založeným na statistickém testu významnosti jednotlivýchatributů • Lze tak redukovatpřeučení: pokud je atribut na konci nějaké cesty irelevantní,lze ho vyřadit, protože odpovídápřeučení (popisuje jen šum v datech) • Rozhodovacístromy lze dále upravovatna zahrnutí chybějícíchdat nebo zahrnutí atributů se spojitými hodnotami • Existují komerční nástroje umožňujícís učením rozhodovacímstromům rutinně pracovat; nevýhodouje obecně nestabilita:přidání dat může změnit test v kořeni a tím i celý strom Lineární regrese a klasifikace • Lineární funkce jsou dobře zkoumanou oblastípro prokládání hodnotami • Pokud lze prostormožných hypotézomezit na lineárnífunkce, je zde možnost užití metod lineárníregrese • Hledáme funkce ve tvaru y=w1x+w0 v podobě hypotézyodpovídající nejlépedatům (hledáme váhy w1 a w0). • Chyba vzhledem ke trénovacímdatům se nejčastěji měří jako kvadratickáodchylka a hledáme funkci, která ji minimalizuje Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th ed., 2021 Lineární regrese a klasifikace • Lineární funkce lze též užít pro klasifikaci:oddělenídvou množin případů • Hledáme lineárníseparátorjako separátoroddělujícídvě skupinypřípadů vyjádřenýjako lineárnífunkce Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th ed., 2021 Metoda nejbližších sousedů • Klasifikacilze konstruovatz k nejbližšíchvyučovacíchpříkladůa odpovědískládanýchz jejich výstupů • Funguje dobře pro velké počty příkladůs malým počtem atributů(ve vícedimenzionálním prostoru jsou nejbližší sousedé přílišdaleko) Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th Support Vector Machines (SVM) • Od roku 2000 patrně nejpopulárnější používaná metoda proučení s učitelem, která je použitelnájako nástroj pro oblasti,kde nemusí být další specifické znalosti o doméně • Metodahledá lineárníseparátor s maximálnímokrajem (vzdáleností od příkladů) • Pokud se příkladynedaří lineárně separovat,transformují se do prostoru vyšší dimenze, kde separovatjdou (tzv. „kernel trick“) • Užívá se neparametrickýpřístup, tj. oddělujícínadrovinaje určena množinou bodů z příkladů,nikoli parametry nadplochy,stačí ale jen body nejblíže separátoru (tzv. support vectors) • Kernel funkce dokáže transformací do vyšší dimenze, kde jsou separovatelné: Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th Učení s využíváním předchozí znalosti • V řadě případůlze využít předchozích znalostí o problémovédoméně, není třeba ji konstruovat(učit se) celou jen z příkladů • Předchozí znalost je zpravidlavyjádřenav jazyce logiky (predikátové lgiky prvního řádu) • Metody učení založené na logickém aparátua již získanýchznalostí o světě (background knowledge) se převádína práci s logickými hypotézami(příkladyi hypotézy jsou logickými formulemi) • Prostor hypotézje množina všech hypotéz • Učící se algoritmus„metoda nejlepší hypotézy) předpokládá,že nějakáhypotézaje správná a hypotézy s ní nekozistentníeliminuje,resp. u falešně negativníchhypotéz (hypotézatvrdí, že příklad je negativní,ale ve skutečnostije pozitivní)hypotézuzobecní, u falešně pozitivních(hypotézatvrdí, že příklad je pozitivní,je ale ve skutečnostinegativní) ji specializuje Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th Učení s využíváním předchozí znalosti • Používánípředchozí znalosti umožňuje postup s využitím kumulativního učení:aktéři vylepšují i své schopnostiučit se s tím, jak získávajívětší množství znalostí • Učení založené na vysvětlováníextrahujeobecná pravidlaz jednotlivýchpříkladů prostřednictvímvysvětlovánípříkladůa generalizace vysvětlení; • Učení založené na relevanci používápředchozí znalost prop identifikacirelevantních atributů a omezení stavovéhoprostoru v zájmu zrychlení učení • Induktivníučení založené na znalostní bázi hledá induktivní hypotézy,které příklady vysvětlujís použitím předchozích znalostí • Induktivnílogické programováníkombinuje učicí metody s logickými programy poskytujícími logickou reprezentaci – v podobě shora dolů zejňováním obecných pravidel,nebo zdola nahoru v obrácení deduktivního postupu (inverznírezoluce) Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th Bayesovské učení • V reálnýchaplikacíchje významná role neurčitosti, pro jejií zpracováníjsou ústřední technikou bayesovskésítě • Bayesovské učení: • Na základě dat se spočte pravděpodobnostkaždé hypotézy • Ze získané pravděpodobnostia všech hypotézse vytvoří předpověď • Učení se převádína pravděpodobnostní inferenci (odvozováníaktualizujícíapriorní distribuce) • Pro složité prostory hypotézse metoda může stát nezvládnutelnou,je ale možné užívat některé aproximace • Maximální aposteriorní učení vybírá jednu nejpravděpodobnějšíhypotézuodpovídající datům • Učení s maximálnípravděpodobností vybírá hypotézu, ktzerá maximalizuje pravděpodobnostdat (zvládnutelnépro lineárníregresi a plně viditelnéprostředí), naivní Bayesovoučení, které netestuje některé podmínky,je rovněžefektivní technika • Variantyse používajípro prostředí, kde jsou některé proměnné skryté (maximalizace očekávání) • V současnosti zřejmě nejaktivnějšíoblastprobíhajícíhovýzkumu Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th Hluboké učení • Hluboké učení (také neuronové sítě) obsahujívrstvy jednoduchých výpočetníchprvků, které agregují vstupy a uplatňují naně nelineárníaktivační/prahovéfunkce • Konvoluční neuronové sítě obsahujíprostorovělokálníspoje v počátečníchvrstvách, jejichž rozložení vah se opakujev dalších vrstvách (jádrazpracovávající pixelovou informaci v obrazech) • V současné době nejpoužívanějšítechnikapro rozpoznávání vizuálníchobjektů, strojový překlad, rozpoznávánířeči a syntézu řeči i obrazu Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th • Zpracování dat z velké části spočívá na vektorových a maticových operacích • Efektivně implementovatelné na grafickýchprocesorech(GPU) nebo v tenzorových výpočetních jednotkách (TPU) • Extrémní implementace zahrnují i Summit, nejvýkonnější americký superpočítač (https://techxplore.com/news/2022- 04-deep-techniques-materials-imaging-breakthrough.html) Hluboké učení, generativní model • Generativní model založený na hlubokém učení dovolujei relativněabstraktníoperace s obsahem obrazů: např. parametry tváří „muž s brýlemi“, od něhož odečteme parametry obrazů „muž“ a přičteme parametr „žena“: Obrázky a schémata z RussellNorw ig: AIA Modern Approach, 4th ed., 2021, zde z Radford et al., 2015, https://arxiv.org/abs/1511.06434v2 Zpětnovazební učení • Aktér se ocitá v prostředí, kde se musí naučit úspěšně chovat • V řadě případůje to jediná možnost, jak problém zvládnout (např. šachy: relativně málo příkladůk dispozici pro učení, cca 108, ve srovnánís celkovým počtem pozic, cca 1040) • Aktér se žádostmi (utility-basedlearning) se učí užitkovou funkci pro stavy • Aktér s Q-učením se učí akce na základě očekávanéhoužitku • Reflexní aktér se učí strategii, jakou akci použít na daný stav • Při aktivním učení se aktér učí, co dělat a zahrnuje to i jistou formu prohledávání prostředí; při pasivním učení se učí užitek stavůnebo akcí a pracuje s pevnou strategií • Motivovánometodamiučení u zvířat (např. Pavlov, jako nobelistaz roku 1911) • Alan Turing tento způsob navrhovalv letech 1948 a 50: „Používánítrestů a odměn může být výborná součást učícího procesu [pro počítače]“ • Rozsáhlé užívánís přesahy do neurovědnebo psychologie • DeepMindposkytuje několikplatforem s otevřeným zdrojovým kódem • Facebook s platformami AI Habitata Horizon umožňuje užití zpětnovazebníhoučení v produkčních systémech velkého rozsahu • Dobrý přehled viz např. https://www.nature.com/articles/nature14540 Transformátory • Transformátory poprvé užity společností Google Brain v roce 2017 – kombinace hlubokého učení a mechanismu pozornosti (self-attention) přiřazující váhy různým částem vstupu • Vhodné pro paralelizaci a zpracování velkých textových informací • Převod vstupu do reprezentace tokeny s poziční informací, plus technika kódování a dekódování • Tokeny jsou na každé úrovni uváděny do kontextu a jejich váhy zesilovány nebo zeslabovány • Původní návrh motivován strojovým překladem (cca od roku 2014), obecně vedou na generování nejpravděpodobnějších pokračování sekvence zadané na vstupu (text, dialog, atd.) • Zhruba od roku 2020 se podařilo vyřešit problém konvergence vah a v kombinaci se zpětnovazebním samostatným učením znamenají významnou architekturu učících se systémůpro aplikace v přirozeném jazyce a predikce textů nebo i třeba aplikace typu analýzy struktury proteinů z DNA • Architektura transformátorů z velké části nahradila dříve užívané hluboké neuronové sítě Transformátory • Architektura transformátorů z velké části nahradila dříve užívané hluboké neuronové sítě, využívá se architektura GPU a paralelismus: Růst počtu parametrů a počtu tréninkových operací (FLOPs) jazykových modelů založených na transformátorech (modře) a kapacity paměti a špičkové propustnosti zařízení GPU NVIDIA P100, V100 a A100 (červeně) v čase. Rychlost růstu nejmodernějších jazykových modelů (zhruba 10× ročně) značně převyšuje rychlost růstu výpočetní kapacity hardwaru (zhruba 10× za čtyři roky), to motivuje potřebu paralelismu ve velkém počtu akcelerátorů a společného návrhu algoritmů, modelů, softwaru a hardwaru. Počet parametrů a počet tréninkových operací z příslušných článků [Brown et al. 2020: Language Models are Few-Shot Learners, NeurIPS 2020] a kapacita paměti a špičková propustnost jsou ze specifikačníchlistů GPU – Percy Liang et al.: On the Opportunities and Risks of Foundation Models, Stanford University, 2022. GPT a LLM • Dnes populárnív implementaciGPT (Generativní (před)trénovaný transformátor) společnosti OpenAI (OpenAI: htps://openai.com/blog/chat) • Velké jazykové modely (LLM) motivovány pracíAndrejeMarkova z roku 1913 (Příklad statistickéhozkoumání textu Eugen Oněgin ve vztahu k návaznostemvzorků řetězců, přednáska na Královské akademiivěd, St. Peterrburg, 13. 1. 193, doi:10.1017/S0269889706001074) • Trénovanéna masivních datech (volné texty z internetu plus licencovanézdroje) → v roce 2023 síť s cca 175 miliardamiparametrůtrénovanána stovkáchmiliard slov v textech • GPT-1 publikován vroce 2018 v článkuOpenAI “Improving Language Understandingby Generative Pre-Training”,založeno na architektuře transformátorů a tréninku na velkém vzorku knih • 2019: GPT-2 schopný generovatsoudržné texty • 2020: GPT-3 se zhruba 100násobným zvětšením počtu parametrů • Konec 2022: vylepšení do GPT-3.5 posloužilojako základ pro vytvořeníchatbota ChatGPT a zpřístupnění pro experimenty a zpětnou vazbu široké veřejnosti • Jaro 2023: GPT-4 s dalším zvýšením počtu parametrů i spolehlivosti,s možností zpracování grafické informace (interní systém, o jehož vlastnostech OpenAI referuje, ale není k dispozici jeho kód) Rozhovorse šéfem OpenAI Samem Altmanem na podcastu Lexe Fridmana:#367 OpenAI CEO on GPT-4, ChatGPT, and the Future of AI Specifika LLM • Trénování sítí doplněno„jemným dolaďováníms učitelem“vedoucímu k užití generování jako partnera v konverzaci(laděno na textech a v interakci s placenýmilidskými účastníky) • Generováníje následně spouštěno pokynem znějícím jako otázka • Poslední fází tréninkuje „posilovanéučení se zpětnou vazbouod lidí“ řadící odpovědipodle vhodnosti,zdvořilosti, vyhýbáníse nevhodnýmtématům, atd., na základě interakce s tisíci lidmi • Systémy se tím učí řadit odpovědipodle vhodnostia vyhýbatse nevhodnýmprávním či lékařským radám a redukovatnapř. rasistické stereotypy z původníchvstupních dat • Systémy typu ChatGPT zvládajíuspokojivéodpovědii bez koherentníhovnitřníhomodelu • Možné reakce zřejmě obsahujíkorektně vytvořená pokračováníbezzřetele na konzistenci nebo pravdivost(efekt „blouznění“) • Plné pochopenívnitřníhofungování LLM však v současné době nemáme • Systémy LLM si fakticky mohou na základědat tvořit vlastní cíle, které neznáme • Princip učení napodobováním(imitationlearning) nemusí pokrývat cíle vyšší úrovně abstrakce, které typicky přiřazujeme lidskému myšlení • Šíře trénovacíchdat vede k chovánísystémů LLM, které vůči různým uživatelůmnení konzistentní(cíle konverzace závisí na jejím průběhu) Malá ilustrace konverzace s ChatGPT-4 Aktivace specifického cíle v ChatGPT-4 • Úryvky z konverzace s předběžnou verzí ChatGPT-4 ze článku Kevin Roose, “Bing’s A.I. Chat: ‘I Want to Be Alive. ’”, New York Times, February 16, 2023, ilustrující „naladění“ systému na specifické cíle vyvolané konkrétní konverzací: Stuart Russell, 9/2003