Slide 1

Slide 1 text

政⼤應數。數學軟體應⽤ 蔡炎龍 問個好問題 政治⼤學應⽤數學系 深度學習入⾨ 02.

Slide 2

Slide 2 text

問問題的各種可能 05.

Slide 3

Slide 3 text

數學軟體應⽤ 67 01 股票⾃動交易 做個⾃動交易系 統! 我們來預測股票 的收盤價!

Slide 4

Slide 4 text

數學軟體應⽤ 68 01 股票⾃動交易 f 化成函數的形式, 我們當然可以很天真的這麼做... 輸入 輸出 ⽇期 x 某股票 x 當天的收盤價  不合理的是, 輸入⽇期這個資訊太少, 不太可能這樣就推出收盤價!

Slide 5

Slide 5 text

數學軟體應⽤ 69 01 股票⾃動交易 f ⽤前 1 週的收盤價預測下⼀次的收盤價就合理得 多。 輸入 輸出 當然還有很多其他可能的⽅式! DNN, CNN, RNN

Slide 6

Slide 6 text

數學軟體應⽤ 70 01 股票⾃動交易 拜託你, 股票是 無法預測的! 專家可能會說...

Slide 7

Slide 7 text

數學軟體應⽤ 71 01 股票⾃動交易 不如讓電腦學者做交易! f 輸入 輸出 買 不交易 賣 某股過去 20 天資料

Slide 8

Slide 8 text

數學軟體應⽤ 72 01 股票⾃動交易 但其實這樣設計, 訓練資料很難準備! Q 輸入 輸出 動作 某股過去 20 天資料 + 換學另⼀個函數! ⼀段時間, 比如 ⼀年的總利潤 S a 狀態 動作

Slide 9

Slide 9 text

數學軟體應⽤ 73 02 信⽤卡盜刷判斷 我想知道這筆信 ⽤卡交易有沒有 問題。 VISA

Slide 10

Slide 10 text

數學軟體應⽤ 74 02 信⽤卡盜刷判斷 VISA 某筆交易 正常 異常 輸入 輸出 f

Slide 11

Slide 11 text

數學軟體應⽤ 75 03 流感病毒篩檢 我想知道病⼈有 沒有感染某種流 感病毒?

Slide 12

Slide 12 text

數學軟體應⽤ 76 03 流感病毒篩檢 f 輸入 輸出 有 or 沒有 看我有沒 有在裡 ⾯? CNN

Slide 13

Slide 13 text

數學軟體應⽤ 77 04 全壘打預測 我想知道某位 MLB 選⼿新球季可以打 幾隻全壘打?

Slide 14

Slide 14 text

數學軟體應⽤ 78 04 全壘打預測 f 輸入 輸出 RNN 某選⼿第 t-1 年資料 第 t 年全壘打數 [Age, G, PA, AB, R, H, 2B, 3B, HR, RBI, SB, BB, SO, OPS+, TB] 每位選⼿都有 15 個 features!

Slide 15

Slide 15 text

數學軟體應⽤ 79 04 全壘打預測 可惜結果不準! 不要猜精確數⽬, 猜區間即可! 分五段: 0-9, 10-19, 20-29, 30-39, 40+

Slide 16

Slide 16 text

數學軟體應⽤ 80 05 對話機器⼈ 對話機器⼈ 或是⾃動翻譯

Slide 17

Slide 17 text

數學軟體應⽤ 81 05 對話機器⼈ f 輸入 輸出 客⼾說的話 客服機器⼈回應 這樣會有問題! 注意函數輸入和輸出需要⼀樣的長度!

Slide 18

Slide 18 text

數學軟體應⽤ 82 05 對話機器⼈ f 輸入 輸出 ⽬前的字 下⼀個字 令⼈驚呆的是, 最常⾒的居然是化這這樣的函數... RNN

Slide 19

Slide 19 text

數學軟體應⽤ 83 05 對話機器⼈ 比如說, “今天天氣很好。” 這句話, 輸入我們的函數就應該是... f(“今”) = “天” f(“天”) = “天” f(“天”) = “氣” f(“氣”) = “很” f(“很”) = “好” 這根本不是函 數啊!

Slide 20

Slide 20 text

數學軟體應⽤ 84 05 對話機器⼈ 結果⽤有記憶能⼒的 RNN 做, 它可以是函數的原因是不只輸入⼀個 字, 還有之前的綜合資訊! f 輸入 輸出 ⽬前的字 下⼀個字 RNN 還有前幾次的「記憶」

Slide 21

Slide 21 text

數學軟體應⽤ 85 05 對話機器⼈ 然後就可以做出對話 (翻譯) 機器⼈! 字1 字2 回1 EOS 回1 回2 回k EOS

Slide 22

Slide 22 text

數學軟體應⽤ 86 06 情境配樂 放⼀段影片, 我 想依情境配出 ⼀段背景⾳樂!

Slide 23

Slide 23 text

數學軟體應⽤ 87 06 情境配樂 f 符合情境的⾳樂 ⼀段影片 可是不能每次同 類型的情境, 都配 ⼀樣的⾳樂吧...

Slide 24

Slide 24 text

數學軟體應⽤ 88 06 情境配樂 f ⼀段影片 恐怖的 浪漫的 溫馨的 熱⾎的 可能可以先 學這個函數!

Slide 25

Slide 25 text

數學軟體應⽤ 89 07 創作機器⼈ 我想讓電腦和我⼀樣 會創作。

Slide 26

Slide 26 text

數學軟體應⽤ 90 07 創作機器⼈ f 輸入 輸出 ???? ⼀段⾳樂 到底是要輸入什麼呢?

Slide 27

Slide 27 text

數學軟體應⽤ 91 07 創作機器⼈ 結果是訓練兩個神經網路! G D ⽣成器 鑑別器 ⼀⼩段曲⼦ 像 or 不像
 ⼀⼩段曲⼦ 靈感 ⼀⼩段曲⼦ 這就是所謂的⽣成對抗網路 (GAN)!

Slide 28

Slide 28 text

數學軟體應⽤ 92 08 ⾃動駕駛 我想要讓電腦 ⾃動開⾞!

Slide 29

Slide 29 text

數學軟體應⽤ 93 08 ⾃動駕駛 f 路上情境 ⽅向盤的⾓度 油⾨⼤⼩ 剎⾞⼤⼩ 好像很合理...

Slide 30

Slide 30 text

數學軟體應⽤ 94 09 「⾃學型」的 AI 我想讓電腦⾃⼰學會 玩遊戲!

Slide 31

Slide 31 text

數學軟體應⽤ 95 09 「⾃學型」的 AI π 輸入 輸出 最好的動作 這樣做通常不⾏! どうして?

Slide 32

Slide 32 text

數學軟體應⽤ 96 09 「⾃學型」的 AI 原因是訓練資料很難準備! 1 變化太多很難各種 情境都有訓練資料! 2 以下圍棋為例, 我那 麼會的話... 我那麼會我就 世界冠軍了啊!

Slide 33

Slide 33 text

數學軟體應⽤ 97 09 「⾃學型」的 AI 直接學哪個動作最好不容易。於 是我們學習給每個動作「評分」, 通常是計算做了這個動作後「得 分的期望值」。 Q 輸入 輸出 預期的 reward DNN, CNN, RNN + 這就是強化學習 (reinforcement learning)

Slide 34

Slide 34 text

數學軟體應⽤ 98 ⼩結論 對我們想解決的問題, 可能有許多不同的問法!

Slide 35

Slide 35 text

數學軟體應⽤ 99 ⼩結論 f 輸入 輸出 x y (再⼀次) 點是⼀次要非常 明確化成函數的形式, 也就 是要知確實說清楚輸入、輸 出是什麼。

Slide 36

Slide 36 text

數學軟體應⽤ 100 我們常常會碰到這樣的情況... 兔⼦老闆 我想知道怎麼樣紅蘿葡 會長得更快? 你們⽤ AI 做⼤數據分析, 然後交 出來。

Slide 37

Slide 37 text

數學軟體應⽤ 101 你跟他說不⾏, 他會回應這句話... 光這樣問是不⾏的! 為什麼!? 我有數據! 不⾏的原因是沒有把問題化為函 數的形勢。⼤家做 AI 經驗多了, 遲早會出現這樣對話的場景...

Slide 38

Slide 38 text

神經網路 06.

Slide 39

Slide 39 text

數學軟體應⽤ 103 深度學習和神經網路 現在 AI ⼤紅的原因是 深度學習有很多突破性 的發展, ⽽深度學習的 核⼼是神經網路。

Slide 40

Slide 40 text

數學軟體應⽤ 104 假設我們確定要學哪個函數了 f x1 x2 xn y1 y2 ym 也就是我們輸入和輸出都很 明確, 明確到輸入輸出的⼤⼩ 當然也都確定了!

Slide 41

Slide 41 text

數學軟體應⽤ 105 接下來就是要打造函數學習機 我們要⽤深度學習 (神 經網路) 的⽅法, 打造 ⼀台函數學習機! വᏐ ላशػ

Slide 42

Slide 42 text

數學軟體應⽤ 106 神經網路暗⿊學習法! 這個世界有個近乎全能 的暗⿊函數學習法 神經網路

Slide 43

Slide 43 text

數學軟體應⽤ 107 神經網路暗⿊學習法! 還有數學定理證明 「⼀個隱藏層」的神 經網路就能學會你要 學的函數! Universal Approximation Theorem

Slide 44

Slide 44 text

數學軟體應⽤ 108 神經網路暗⿊學習法! ⽽且我們不⽤知道函 數長什麼樣⼦ (線性 啦、多項式樣啦等 等)!

Slide 45

Slide 45 text

數學軟體應⽤ 109 神經網路暗⿊學習法! Hidden Layer Output Layer Input Layer 暗⿊魔法 如同魔法般的, 你問好問 題 、準備好資料, 神經網 路就告訴你函數應該長 什麼樣⼦!

Slide 46

Slide 46 text

數學軟體應⽤ 110 神經網路暗⿊學習法! 在 1980-1990 年代可以說紅極⼀時!

Slide 47

Slide 47 text

數學軟體應⽤ 111 魔法光茫不再!? 有⼀陣⼦如果研究計畫說要 研究「神經網路」, 那計畫還 沒送出就可以確定不會通過! 然後它就死掉了...

Slide 48

Slide 48 text

數學軟體應⽤ 112 為什麼上個世紀神經網路沒有預期成功? 複雜的軟體 電腦計算能⼒ ⼤ 的數據 三⼤要件當時不具⾜。 Yann LeCun

Slide 49

Slide 49 text

數學軟體應⽤ 113 到了現在, 情況完全不⼀樣了! 比起上個世紀, 要寫個 強強的深度學習程式, 真的太容易了!

Slide 50

Slide 50 text

數學軟體應⽤ 114 神經網路新時代! Human-level control through deep reinforcement learning ” “ DeepMind 2015-2-26 Deep Q- Learning letter 原來電腦可以⾃已學 會做⼀些複雜的任務!

Slide 51

Slide 51 text

數學軟體應⽤ 115 神經網路新時代! Deep Learning “ LeCun-Bengio-Hinton 2015-5-28 http://bit.ly/ai_history 介紹 Deep Learning「三巨頭」 的故事。 延申閱讀 度過神經網路寒冬的 三巨頭, ⼀起宣告 deep learning 時代 的來臨! ”

Slide 52

Slide 52 text

數學軟體應⽤ 116 神經網路新時代! Deep Learning 打敗 世界棋王, 讓⼤家⼤ ⼤期待 deep learning 的能⼒! ” Mastering the game of Go with deep neural networks and tree search” “ DeepMind 2016-2-26

Slide 53

Slide 53 text

數學軟體應⽤ 117 再⼀次, 就這三⼤天王改變了全世界! DNN CNN RNN 我們會來⼀⼀介紹這 些神經網路架構有什 麼特點。

Slide 54

Slide 54 text

神經網路標準版 DNN 07.

Slide 55

Slide 55 text

數學軟體應⽤ 119 全連結神經網路 (DNN) Fully Connected Neural Networks 1980 年代就火紅的 model

Slide 56

Slide 56 text

數學軟體應⽤ 120 全連結神經網路 (DNN) 只需要決定兩組數字, 神經網路 就決定了! 1. 幾層隱藏層 2. 每層幾個神經元 層層之間的神經元是完全連結 的。

Slide 57

Slide 57 text

數學軟體應⽤ 121 深度學習就是建⼀層層「隱藏層」 x ̂ y input layer hidden layers output layer DNN, CNN, RNN 嚴格說是每 ⼀層都可以決定是要⽤三種之 中, 哪⼀種⽅式做隱藏層的設 計。

Slide 58

Slide 58 text

數學軟體應⽤ 122 深度學習就是建⼀層層「隱藏層」 x 1 x 2 x n h 1 h 2 h k x h ℱ 1 全連結層 (Dense) 卷積層 (Conv) 遞歸層 (LSTM, GRU) 差不多就是決定 幾個神經元就結 束了。 隱藏層基本上就三種選擇: DNN CNN RNN

Slide 59

Slide 59 text

數學軟體應⽤ 123 神經元怎麼運作 不管哪種神經網路, 神 經元就是基本的運算 單元, ⽽每個神經元的 運算⽅式是⼀樣的!

Slide 60

Slide 60 text

數學軟體應⽤ 124 神經元怎麼運作 每個神經元就是接受 若⼲個刺激輸入, 然後 送出⼀個刺激輸出。

Slide 61

Slide 61 text

數學軟體應⽤ 125 神經元怎麼運作 我們先要這個神經元接受到的 總刺激。 3 ∑ i=1 w i x i

Slide 62

Slide 62 text

數學軟體應⽤ 126 神經元怎麼運作 接著加上偏值 (bias), 做⼀個基 準的調整。不管是權 、偏值 都是要經過學習得到的! 這裡我 們估且稱調整後的總刺激。 3 ∑ i=1 w i x i 3 ∑ i=1 w i x i + b b

Slide 63

Slide 63 text

數學軟體應⽤ 127 神經元怎麼運作 ⽬前的計算都是線性的, 即使經所 有神經元算還是線性的, 因此我們 需經⼀個激發函數 (activation function) 轉換再送出。 φ( 3 ∑ i=1 w i x i + b) = h φ( ) = h

Slide 64

Slide 64 text

數學軟體應⽤ 128 激發函數 以下我們介紹幾個有名的激發函數。 ReLU Sigmoid Gaussian 本世紀新寵! 感覺應該很接近⼈ 類神經元的動作。 舊時代的懷念, 已 很少使⽤。

Slide 65

Slide 65 text

數學軟體應⽤ 129 把⾃⼰當⼀個神經元! 現在把⾃⼰當成⼀個 神經元, ⽤ ReLU 做 我們的激發函數。

Slide 66

Slide 66 text

數學軟體應⽤ 130 把⾃⼰當⼀個神經元! 權 和偏值都是學來 的, 但⼀開始我們會隨 機給⼀個值。 1 2 1 假設初始化得到: w 1 = 1 w 2 = 2 b 1 = 1

Slide 67

Slide 67 text

數學軟體應⽤ 131 把⾃⼰當⼀個神經元! 記得我們神經元的計算⽅式。現 在有任何輸入我們都應該知道該 怎麼輸出了。 1 2 1 1 1 2

Slide 68

Slide 68 text

數學軟體應⽤ 132 把⾃⼰當⼀個神經元! 比如說我們接到 的輸入, 輸出應該是多少呢? 1 2 1 1 1 2 x = (x 1 , x 2 ) = (1,3) 1 3

Slide 69

Slide 69 text

數學軟體應⽤ 133 把⾃⼰當⼀個神經元! 計算調整後 的加權和。 1 2 1 1 3 1 1 2 8 1 3 × ×

Slide 70

Slide 70 text

數學軟體應⽤ 134 把⾃⼰當⼀個神經元! 因為⽤了可愛 的 ReLU, 會得 到輸出正是 8! 1 2 1 1 3 8 φ(8) = 8

Slide 71

Slide 71 text

數學軟體應⽤ 135 函數學習機建造完成! 我們會把所有要學習的參數, 包括所有的權 、所有的偏 值, 合併起來叫做: θ

Slide 72

Slide 72 text

數學軟體應⽤ 136 函數學習機建造完成! 當決定了權 、參數, 也就是 ⼀組 的值, 我們輪入任意的 數值, 神經網路就會吐出⼀個 輸出給我們了! θ വᏐ ላशػ 完成!