Hluboké učení Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ Obsah: Hluboké učení Aplikace hlubokého učení Techniky hlubokého učení Úvod do umělé inteligence 11/12 1 / 27 Hluboké učení Motivace Motivace vyjadřovací síla klasických neuronových sítí: s jednou skrytou vrstvou – všechny spojité funkce se dvěma skrytými vrstvami – všechny funkce Úvod do umělé inteligence 11/12 2 / 27 Hluboké učení Motivace Motivace vyjadřovací síla klasických neuronových sítí: s jednou skrytou vrstvou – všechny spojité funkce se dvěma skrytými vrstvami – všechny funkce Proč tedy pracovat s hlubšími architekturami? Úvod do umělé inteligence 11/12 2 / 27 Hluboké učení Motivace Motivace Hluboké učení (Deep Learning, Deep Neural Networks) komplexní vstup se lépe modeluje pomocí užší a hlubší sítě (příklad Goodfellow, 2017) Úvod do umělé inteligence 11/12 3 / 27 Hluboké učení Motivace Motivace (příklad Waldrop, 2019) Úvod do umělé inteligence 11/12 4 / 27 Hluboké učení Motivace Motivace SliDo (příklad Waldrop, 2019) Úvod do umělé inteligence 11/12 4 / 27 Aplikace hlubokého učení Aplikace hlubokého učení hlavní aplikační oblasti počítačové vidění analýza a generování textu, analýza signálu, analýza časové řady zpětnovazební učení Úvod do umělé inteligence 11/12 5 / 27 Aplikace hlubokého učení Počítačové vidění Počítačové vidění soutěž ImageNet – 1.2 mil. obrázků v 1000 kategoriích (Ye, 2018) Úvod do umělé inteligence 11/12 6 / 27 Aplikace hlubokého učení Počítačové vidění Počítačové vidění soutěž ImageNet – 1.2 mil. obrázků v 1000 kategoriích 2012, síť AlexNet (5 konv.vrstev) – chyba 15%, ostatní > 25%, člověk 5% (Krizhevsky et al, 2012) Úvod do umělé inteligence 11/12 6 / 27 Aplikace hlubokého učení Počítačové vidění Počítačové vidění soutěž ImageNet – 1.2 mil. obrázků v 1000 kategoriích 2021 – chyba 1%, člověk 5% např. Inception V4 (Shankar et al, 2020) Úvod do umělé inteligence 11/12 6 / 27 Aplikace hlubokého učení Počítačové vidění Konvoluční sítě požadavky na zpracování obrazu: vztah sousednosti bodů barva – RGB kanály, ×3 (pod)objekty a rysy – kdekoliv v obrázku – prostorová invariance Úvod do umělé inteligence 11/12 7 / 27 Aplikace hlubokého učení Počítačové vidění Konvoluční sítě požadavky na zpracování obrazu: vztah sousednosti bodů barva – RGB kanály, ×3 (pod)objekty a rysy – kdekoliv v obrázku – prostorová invariance Konvoluční sítě (CNN): učí se malou kernelovou matici vah (filtr) aplikovat na body obrazu, aplikace = konvoluce kernelové matice sdílí váhy matice se posouvá o krok (stride) výstupem je mapa rysů (feature map) (Ganesh, 2019) Úvod do umělé inteligence 11/12 7 / 27 Aplikace hlubokého učení Počítačové vidění Parametry konvoluční vrstvy rozměry kernelu – 1D (ℓ), 2D (ℓ × r), 3D ... počet kernelů k učení ×d krok s, s ≥ 2 redukuje dimenzi Úvod do umělé inteligence 11/12 8 / 27 Aplikace hlubokého učení Počítačové vidění Vícevrstvé konvoluční sítě další konvoluční vrstvy zpracovávají výstup předchozích vrstev simulují vyšší úroveň abstrakce mají širší recepční pole (receptive field) Úvod do umělé inteligence 11/12 9 / 27 Aplikace hlubokého učení Počítačové vidění Redukce dimenze – sdružování/pooling Pooling vrstva (sdružování): používá se pro zhuštění informace – redukci dimenze snižuje nároky v dalších vrstvách podporuje generalizaci varianty: • max-pooling – vybírá maximum vstupu, značí výskyt rysu kdekoliv v recepčním poli • average-pooling – klasická redukce (Yani et al, 2019) Úvod do umělé inteligence 11/12 10 / 27 Aplikace hlubokého učení Počítačové vidění Klasifikace výstupu – softmax klasifikace do c kategorií – softmax vrstva softmax(⃗in) = eink c j=1 einj k reprezentuje pravděpodobnosti (součet je 1), akcentuje rozdíly někdy doplněná o 1–2 předcházející plně propojené vrstvy logistická regrese (sigmoid) – speciální případ pro 2 opačné kategorie (pozitivní a negativní) (Kumar, 2020) Úvod do umělé inteligence 11/12 11 / 27 Aplikace hlubokého učení Analýza textu Obsah 1 Hluboké učení Motivace 2 Aplikace hlubokého učení Počítačové vidění Analýza textu Zpětnovazební učení 3 Techniky hlubokého učení Hledání architektury Schopnosti hlubokých sítí Úvod do umělé inteligence 11/12 12 / 27 Aplikace hlubokého učení Analýza textu Analýza textu neuronová síť pracuje pouze s čísly – jak zadat text? Úvod do umělé inteligence 11/12 13 / 27 Aplikace hlubokého učení Analýza textu Analýza textu neuronová síť pracuje pouze s čísly – jak zadat text? slova jako slovní vektory (word embeddings): stanovení pevné dimenze předpočítání/předtrénování na velmi velkých neanotovaných textech ⇒ neurální jazykové modely zachycení sémantiky – podobná slova síť zpracuje podobně univerzálnější – vektory částí slov (subword/character embeddings) jen výměnou modelu můžeme zpřesnit výsledky SliDo (Mikolov, 2013) Úvod do umělé inteligence 11/12 13 / 27 Aplikace hlubokého učení Analýza textu Predikce textu vstup: začátek textu jako řetězec slov W = w1w2w3 . . . wi−1 výstup: pravděpodobnostní distribuce dalšího slova P(wi |w1w2 . . . wi−1) Úvod do umělé inteligence 11/12 14 / 27 Aplikace hlubokého učení Analýza textu Predikce textu vstup: začátek textu jako řetězec slov W = w1w2w3 . . . wi−1 výstup: pravděpodobnostní distribuce dalšího slova P(wi |w1w2 . . . wi−1) základní neurální jazykový model s pevným kontextem (fixed-window) výstupní distribuce ⃗y = softmax(U · h + b2) ∈ R|V | skrytá vrstva h = f (W · e + b1) řetězené vektory slov e = [e1; e2; e3; e4] slova na vstupu w1w2w3w4 w1 w2 w3 w4 (Manning, 2021) Úvod do umělé inteligence 11/12 14 / 27 Aplikace hlubokého učení Analýza textu Predikce textu vstup: začátek textu jako řetězec slov W = w1w2w3 . . . wi−1 výstup: pravděpodobnostní distribuce dalšího slova P(wi |w1w2 . . . wi−1) základní neurální jazykový model s pevným kontextem (fixed-window) výstupní distribuce ⃗y = softmax(U · h + b2) ∈ R|V | skrytá vrstva h = f (W · e + b1) řetězené vektory slov e = [e1; e2; e3; e4] slova na vstupu w1w2w3w4 w1 w2 w3 w4 (Manning, 2021) nevýhoda – pevná velikost vstupu Úvod do umělé inteligence 11/12 14 / 27 Aplikace hlubokého učení Analýza textu Rekurentní jazykový model skryté stavy h(t) = σ(Whh(t−1) + Weet + b1) váhy Wh a We se aplikují opakovaně jednotlivé vektory slov e1, e2, e3, e4, . . . slova na vstupu w1w2w3w4 Úvod do umělé inteligence 11/12 15 / 27 Aplikace hlubokého učení Analýza textu Rekurentní jazykový model výstupní distribuce ⃗y(t) = softmax(U · h(t) + b2) ∈ R|V | skryté stavy h(t) = σ(Whh(t−1) + Weet + b1) váhy Wh a We se aplikují opakovaně jednotlivé vektory slov e1, e2, e3, e4, . . . slova na vstupu w1w2w3w4 w1 w2 w3 w4 Úvod do umělé inteligence 11/12 15 / 27 Aplikace hlubokého učení Analýza textu Využití rekurentních sítí – seq2seq častá varianta – model sequence-to-sequence (seq2seq) dvě navazující rekurentní sítě – enkodér a dekodér Úvod do umělé inteligence 11/12 16 / 27 Aplikace hlubokého učení Analýza textu Analýza textu problém trénování velkých RNN – mizející gradient (násobení malých čísel → 0) Úvod do umělé inteligence 11/12 17 / 27 Aplikace hlubokého učení Analýza textu Analýza textu problém trénování velkých RNN – mizející gradient (násobení malých čísel → 0) řešení – architektura Long Short-Term Memory, LSTM: buňka (cell) ct – pomocná paměť 3 brány: vstupní, výstupní a zapomínací (forget) – regulace info do a z buňky Úvod do umělé inteligence 11/12 17 / 27 Aplikace hlubokého učení Analýza textu Analýza textu problém trénování velkých RNN – mizející gradient (násobení malých čísel → 0) řešení – architektura Long Short-Term Memory, LSTM: buňka (cell) ct – pomocná paměť 3 brány: vstupní, výstupní a zapomínací (forget) – regulace info do a z buňky buňka buňka zapomínací vstupní výstupní skrytý stav Úvod do umělé inteligence 11/12 17 / 27 Aplikace hlubokého učení Analýza textu Mechanizmus attention u rekurentních sítí – celá věta reprezentována jako jeden vektor mechanizmus attention (“pozornost”) – detailní provázání informací Úvod do umělé inteligence 11/12 18 / 27 Aplikace hlubokého učení Analýza textu Architektura Transformer “Attention is All You Need” (Vaswani et al, 2017) architektura transformer: vektory pozice self-attention více hlav (multi-head attention) reziduální spojení, normalizace a škálování aktuálně nejlepší výsledky v mnoha úlohách zpracování textu beta.openai.com/examples více v další přednášce Úvod do umělé inteligence 11/12 19 / 27 Aplikace hlubokého učení Zpětnovazební učení Obsah 1 Hluboké učení Motivace 2 Aplikace hlubokého učení Počítačové vidění Analýza textu Zpětnovazební učení 3 Techniky hlubokého učení Hledání architektury Schopnosti hlubokých sítí Úvod do umělé inteligence 11/12 20 / 27 Aplikace hlubokého učení Zpětnovazební učení Zpětnovazební učení Hluboké zpětnovazební učení (deep reinforcement learning, DRL) rozhodování agenta – ze sekvence odměn cíl – zvyšovat budoucí odměny možná řešení – učení funkce pro výběr akce • ohodnocovací funkce – utility function U(s) nebo value function V (s) pro stav s (AlphaGo) • funkce akce Q, Q-learning – action-utility/quality function Q(s, a) pro stav s a akci a (Atari) můžeme vypočítat U(s) = arg maxa Q(s, a) • politika – policy π(s) pro stav s, která vrací přímo akci a (reflexní agent) (PPO) DRL zatím aplikačně obtížnější než ostatní techniky hlubokého učení Úvod do umělé inteligence 11/12 21 / 27 Aplikace hlubokého učení Zpětnovazební učení Zpětnovazební učení Hluboké zpětnovazební učení (deep reinforcement learning, DRL) rozhodování agenta – ze sekvence odměn cíl – zvyšovat budoucí odměny možná řešení – učení funkce pro výběr akce • ohodnocovací funkce – utility function U(s) nebo value function V (s) pro stav s (AlphaGo) • funkce akce Q, Q-learning – action-utility/quality function Q(s, a) pro stav s a akci a (Atari) můžeme vypočítat U(s) = arg maxa Q(s, a) • politika – policy π(s) pro stav s, která vrací přímo akci a (reflexní agent) (PPO) DRL zatím aplikačně obtížnější než ostatní techniky hlubokého učení Úvod do umělé inteligence 11/12 21 / 27 Aplikace hlubokého učení Zpětnovazební učení Deep Q-Networks Deep Q-Networks – Atari hry (2013): učení funkce Q přímo z obrázků, využívá konvoluční vrstvy odměna – herní skóre pozdější varianta lepší než člověk v 57 Atari hrách (Mnih et al, 2013) Úvod do umělé inteligence 11/12 22 / 27 Aplikace hlubokého učení Zpětnovazební učení AlphaGo AlphaGo (2016): učení funkce politiky p a ohodnocovací funkce v Monte Carlo Tree Search politika p dává distribuci pravděpodobností možných tahů ohodnocovací funkce v predikuje zisk navrhovaných nových konfigurací s′ každá síť má 13 konvolučních vrstev (Silver et al, 2016) Úvod do umělé inteligence 11/12 23 / 27 Aplikace hlubokého učení Zpětnovazební učení Proximal policy optimization novější učení politiky π jednodušší a stabilnější než ostatní metody využívá standardních principů gradientního sestupu nová ztrátová funkce LCLIP – omezuje velikost změn v zadaném pásu ±ϵ využívaná pro učení dlouhodobého chování – pohyb robota, hraní videoher hlavní reinforcement technika v OpenAI Úvod do umělé inteligence 11/12 24 / 27 Techniky hlubokého učení Hledání architektury Obsah 1 Hluboké učení Motivace 2 Aplikace hlubokého učení Počítačové vidění Analýza textu Zpětnovazební učení 3 Techniky hlubokého učení Hledání architektury Schopnosti hlubokých sítí Úvod do umělé inteligence 11/12 25 / 27 Techniky hlubokého učení Hledání architektury Hledání architektury Hledání správné architektury převážně experimentálně Auto ML (automated machine learning) základní prvky: • konvoluční vrstvy – pro hledání vzorů (patterns) kdekoliv ve vstupu (1D – text, 2D – obraz, ...) a b c d a a d c b c d c c a b d • rekurentní vrstvy – hledání závislostí mezi prvky vstupu (text, signál, časová řada, ...) (Adulapuram, 2020) Úvod do umělé inteligence 11/12 26 / 27 Techniky hlubokého učení Schopnosti hlubokých sítí Schopnosti hlubokých sítí co hluboké sítě umí výborně hledat vzory a vztahy v komplexních datech generovat nová komplexní data podle podmínek detekovat, že komplexní data byla vygenerovaná Úvod do umělé inteligence 11/12 27 / 27 Techniky hlubokého učení Schopnosti hlubokých sítí Schopnosti hlubokých sítí co hluboké sítě umí výborně hledat vzory a vztahy v komplexních datech generovat nová komplexní data podle podmínek detekovat, že komplexní data byla vygenerovaná co hluboké sítě moc neumí kvantifikovat pracovat s hierarchickými strukturami (taxonomie) pracovat s pravidly Úvod do umělé inteligence 11/12 27 / 27 Techniky hlubokého učení Schopnosti hlubokých sítí Schopnosti hlubokých sítí co hluboké sítě umí výborně hledat vzory a vztahy v komplexních datech generovat nová komplexní data podle podmínek detekovat, že komplexní data byla vygenerovaná co hluboké sítě moc neumí kvantifikovat pracovat s hierarchickými strukturami (taxonomie) pracovat s pravidly kdy je vhodné hluboké sítě použít máme velká data složité vzory nevadí chybí zdůvodnění možná zaujatost “nelogické” chyby 97 % papoušek speciální šum 99 % knihovna Úvod do umělé inteligence 11/12 27 / 27