Upgrade to Pro — share decks privately, control downloads, hide ads and more …

人工智慧介紹

 人工智慧介紹

這是幾次分享深度學習演講的投影片:

2019 淡江大學、高雄科技大學、開南大學
2020 東吳大學
2020 清華大學

[email protected]

November 21, 2019
Tweet

Other Decks in Technology

Transcript

  1. 3 吳恩達 (Andrew Ng) AI for Everyone AI 大師深信人人都可以做 AI

    蔡炎龍 人人都可參一咖 的人工智慧 Coursera 課程
  2. 15 No, No. 應該叫 Human Level Intelligence Yann LeCun 被稱為

    deep learning 三巨頭之一、CNN 之 父。
  3. 27 傳統機器學習 2 [5, 16, 4, 3, 0, 7, …]

    1 2 3 4 5 500維向量 500 維可能還是太多了! 於是我們會用各種降 維 (dimension reduction) 的方式, 把輸入縮 小到 (例如) 10 維向量。 x 10維向量
  4. 30 深度學習 3 f 社群媒體、 部落格文章 中立客觀 明顯立場 我們可能會發現, 這樣訓練效果不好,

    或是提供 給我們的資訊太少, 說不定應該訓練這種分類, 甚至多類別型的分類! 我以前都是
  5. 47 台灣黑熊 豬 蠎蛇 1 2 3 [ 1 0

    0 ] [ 0 1 0 ] [ 0 0 1 ] 我們常把它做成 one-hot encoding
  6. ( , "台灣黑熊") ( , "蠎蛇") , , ... x

    k+1 , y k+1 x k , y k x1 , y1 x n , y n 訓練資料 測試資料 3 準備歷史資料
  7. 63 第 t-1 年資料 [Age, G, PA, AB, R, H,

    2B, 3B, HR, RBI, SB, BB, SO, OPS+, TB] 15 個 features! f 第 t 年全壘打數 RNN 結果不準!
  8. 65 Mike Trout (LAA) 預測 30-39 實際 33 Mookie Betts

    (BOS) 預測 20-29 實際 24 Jose Altuve (HOU) 預測 20-29 實際 24 Kris Bryant (CHC) 預測 30-39 (第⼆⾼ 20-29) 實際 29 Daniel Murphy (WSH) 預測 20-29 實際 23 Corey Seager (LAD) 預測 20-29 實際 22 2017 預測結果 (2017 年 6 月預測) 65
  9. 76 G 一小段曲子 靈感 D 一小段曲子 像 or 不像 首曲子

    這就是所謂的生成對抗網路 (GAN)! 結果是做了兩個神經網路
  10. 81 Q CNN + NN + 這就是強化學習 (reinforcement learning) 嚴格來說,

    是強化學習 中的 Q-Learning。 直接學哪個動作最好不容易。於是我們學習 給每個動作「評分」, 通常是計算做了這個 動作後「得分的期望值」。
  11. 82 Montezuma™s Revenge StarCraft (星海爭霸) II Quake (雷神之鎚 ) III

    Arena Capture the Flag 2019 AI 重大突破! 以前玩不好的, 再繼續玩...
  12. 100 Human-level control through deep reinforcement learning ” “ DeepMind

    2015-2-26 Deep Q- Learning letter 玩電動上《Nature》!
  13. 102 Mastering the game of Go with deep neural networks

    and tree search” “ DeepMind 2016-2-26 當然還有 AlphaGo!
  14. 105

  15. 124 1 常用 Loss Function 1 這什麼啊? L(θ) = 1

    2 k ∑ i=1 ∥yi − Fθ (xi )∥2
  16. 125 1 常用 Loss Function 1 L(θ) = 1 2

    k ∑ i=1 ∥yi − Fθ (xi )∥2 我們希望差越少越好! 正確答案 函數學習機 給的答案
  17. 記得 L 是 w1 , w2 , b1 , …

    的函數 128 希望數值越小越好
  18. 155 偏微分 我們有 L(w1, w2, b1) 這三個變數的函數, 當我們 只把 w1

    當變數, 其他 w2, b1 當常數的微分。 定義
  19. 166 f 6 還有兩件小事 這要「拉平」 * 這是因為我們要用標準 NN 才需要。 0

    0 0 0 0 0 1 0 0 0 One-hot encoding 反正老師會幫你做...
  20. 177 z1 z2 z3 z4 z5 z7 z8 z9 z0

    z6 α0 α1 α2 α3 α4 α5 α6 α7 α8 α9 有 10 個數字, 怎麼轉換, 可以變成加起來等於 1? 9 ∑ i=0 αi = 1
  21. 184 filter 1 filter 2 input 每個 filter 看⼀個特徵, 掃過每

    ⼀個點, 紀錄該點附近的「特 徵強度」。 Convolutional Neural Network (CNN)
  22. 186 博士就研究 ConvNet (不全連結的神經網路) Ph.D. in CS, Universite Pierre et

    Marie Curie (巴黎第六大學), 1987 postdoc at the University of Toronto 1988- Bell 實驗室 2003 NYU 教授 2013 Facebook AI Director Yann LeCun
  23. 191 自 2012 以降, 歷屆 ImageNet 冠軍都是 CNN 的天下! InceptionV3

    GoogLeNet, V1 是 2014 冠軍 VGG16/VGG19 2014 亞軍 ResNet50 2015 冠軍 * 這些都是 TensorFlow 準備好可以給你用的!
  24. 194 為什麼 filter 能看出「特性」 [ 0 1 0 0 1

    0 0 1 0 ] 0 1 0 0 1 0 0 1 0 [ 1 0 0 0 1 0 0 0 1 ] 3分 1分 Filter 1 Filter 2 圖
  25. 195 為什麼 filter 能看出「特性」 [ 0 1 0 0 1

    0 0 1 0 ] 1 0 0 0 1 0 0 0 1 [ 1 0 0 0 1 0 0 0 1 ] 1分 3分 Filter 1 Filter 2 圖
  26. 196 2 5 5 2 5 2 0 1 2

    3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 想成這是⼀張圖所成的矩陣 filter 內積 這學來的 W=
  27. 197 2 5 5 2 5 2 0 1 2

    3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 filter 右移⼀格 還是⼀樣的矩陣 W=
  28. 198 2 5 5 2 5 2 0 1 2

    3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter 一路到最後 W=
  29. 199 35 27 44 32 36 38 36 36 37

    36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 最後就是一個 6x6 的矩陣 有時我們會把它弄成還是 8x8 基本上和原矩陣一樣大 而且我們通常 filter 會很多!
  30. 200 「記分板」大小 1 0 0 0 0 1 0 0

    0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 [ 0 1 0 0 1 0 0 1 0 ] Filter 1 0 0 0 0 0 0 0 0 0 圖 記分板 padding="valid"
  31. 201 「記分板」大小 0 0 0 0 0 0 0 0

    1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 [ 0 1 0 0 1 0 0 1 0 ] Filter 1 2 0 0 0 0 3 0 0 0 0 3 0 0 0 0 3 0 0 0 0 2 0 0 0 0 圖 記分板 外面加圈 0! 注意和原圖 一樣大! padding=“same"
  32. 203 2 5 5 2 5 2 0 1 2

    3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter 圖片上的點是一個個輸 入層神經元
  33. 204 2 5 5 2 5 2 0 1 2

    3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter Conv 層也是一個個神經元
  34. 205 2 5 5 2 5 2 0 1 2

    3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter 兩層中沒有完全相連 W=
  35. 206 2 5 5 2 5 2 0 1 2

    3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter 再來 share 同樣的 weights W=
  36. 207 35 27 44 32 36 38 36 36 37

    36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 最後就是一個 6x6 的矩陣 有時我們會把它弄成還是 8x8 基本上和原矩陣一樣大 而且我們通常 filter 會很多!
  37. 210 35 27 44 32 36 38 36 36 37

    36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 36 44 43 37 26 35 38 34 40 每區投出最大的!!
  38. 213 Conv Max- Pooling Conv Max- Pooling Conv Max- Pooling

    Dense Conv 層的 filter 要 越來越多還越來越少 呢?
  39. 219 符號說明。 wx ij wh ij ht i t 時的第

    i 個 hidden state 對輸入的權重 對 hidden state 的權重
  40. 220 注意 也有類似的公式。 ht 2 ht 2 = σ(wx 12

    xt 1 + wx 22 xt 2 + wh 12 ht−1 1 + wh 22 ht−1 2 + b2 )
  41. 221 ht = [ ht 1 ht 2 ] =

    [ σ(wx 11 xt 1 + wx 21 xt 2 + wh 11 ht−1 1 + wh 21 ht−1 2 + b1 ) σ(wx 12 xt 1 + wx 22 xt 2 + wh 12 ht−1 1 + wh 22 ht−1 2 + b2 )] 重要的 hidden states 寫成向量形式。 這看來好 可怕!
  42. 222 WT x = [ wx 11 wx 21 wx

    12 wx 22 ] 權重矩陣 x 1號 RNN 神經元 xt = [ xt 1 xt 2 ]
  43. 223 WT x ⋅ xt = [ w11 xt 1

    + w21 xt 2 w12 xt 1 + w22 xt 2 ] 加權和 x 同時算了兩 個神經元的!
  44. 224 ht−1 = [ ht−1 1 ht−1 2 ] hidden

    states 也寫成 向量。
  45. 225 WT x ⋅ xt + WT h ⋅ ht−1

    + b b = [ b1 b2 ] 計算「總刺 激」的部份。
  46. 226 ht = σ(WT x ⋅ xt + WT h

    ⋅ ht−1 + b) 最後美美的公式 (?) 長這樣。
  47. 231 f(“今”) = “天” f(“天”) = “天” f(“天”) = “氣”

    f(“氣”) = “很” f(“很”) = “好” 比如說, “今天天氣很好。” 這句話... 這根本不 是函數啊!
  48. 241 Recurrent Neural Network (RNN) ht 1 = σ (w1

    xt 1 + w2 xt 2 + w3 h3 t−1 + w4 h4 t−1 + b1 ) 會加入上⼀次的 outputs 當這次的 inputs。
  49. 248 LSTM GRU Long Short Term Memory Gated Recurrent Unit

    事實上現在⼤家說到 RNN 是想到...
  50. 258 編號 k 的 LSTM LSTM 再一次 多出來的 cell state

    是屬於這個 cell 的 一個 cell 的 output 還是會和 同一層分享
  51. 260

  52. 266

  53. 267 重點 RNN 的名字 現在說到 RNN, 其實包括原始 RNN, LSTM, GRU

    等各種變形。 特別要叫原始的 RNN, 我們習慣叫它 Vanilla RNN, 在 Keras 中是 SimpleRNN。
  54. 269 第 t-1 年資料 [Age, G, PA, AB, R, H,

    2B, 3B, HR, RBI, SB, BB, SO, OPS+, TB] 15 個 features! f 第 t 年全壘打數 RNN 分五段: 0-9, 10-19, 20-29, 30-39, 40+ 269
  55. 270 1 3 2 4 5 10-19 One-Hot encoding 0

    1 0 0 0 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ 0-9 10-19 20-29 30-39 40+
  56. 272 Mike Trout (LAA) 預測 30-39 實際 33 Mookie Betts

    (BOS) 預測 20-29 實際 24 Jose Altuve (HOU) 預測 20-29 實際 24 Kris Bryant (CHC) 預測 30-39 (第⼆⾼ 20-29) 實際 29 Daniel Murphy (WSH) 預測 20-29 實際 23 Corey Seager (LAD) 預測 20-29 實際 22 2017 預測結果 (2017 年 6 ⽉預測)
  57. 283 There are many interesting recent development in deep learning…

    The most important one, in my opinion, is adversarial training (also called GAN for Generative Adversarial Networks). ” “ —Yan LeCun (楊立昆), 2016
  58. 285 生成器 generator Noise 鑑別器 discriminator 真的 or 假的 GAN

    是兩個神經網路, 一個生 成、一個判斷, 相互對抗! z x G D G(z)
  59. 287 朱俊彦等人 (ECCV 2016) “Generative Visual Manipulation on the Natural

    Image Manifold” iGAN https://arxiv.org/abs/1609.03552
  60. 289 Karras 等 NVIDIA 團隊 (ICLR 2018) “Progressive Growing of

    GANs for Improved Quality, Stability, and Variation” Progressive GAN https://arxiv.org/abs/1710.10196
  61. 290 Karras-Aila-Laine-Lehtinen NVIDIA 團隊最近很有名的⽂章 ⽤ Theano (不是快退出了), Python 2, 單

    GPU Progressive Growing of GANs for Improved Quality, Stability, and Variation
  62. 310 AlphaGo Lee AlphaGo Master AlphaGo Zero 中國烏鎮 圍棋會 4:1

    擊敗世界 棋王李世乭 神秘高手網路 60 連勝 與柯潔對奕, 人工智慧與人 的合作 完全自學的人 工智慧, 擊敗 之前版本 2016.3 2016.12.29 —2017.1.4 2017.5 2017.10
  63. 314 選定一支 ETF 開始 20,000 美金 經過一年 (最後手上還有 ETF 就全賣)

    使用 reinforcement learning * ETF 資料由全球智能提供
  64. 315 過去 20 天的資料 (20x6 的矩陣) f 1 2 3

    4 5 買 20 單位 買 10 單位 不做交易 賣 10 單位 賣 20 單位 五種 actions
  65. 316 CDQN 無腦法 CDQN 無腦法 ETF1 17.71% 10.89% ETF11 10.76%

    5.26% ETF2 16.53% 12.6% ETF12 10.19% 13.17% ETF3 16.3% 0.35% ETF13 7.8% 1.42% ETF4 14.4% 13.25% ETF14 6.23% 3.56% ETF5 14.3% 12.7% ETF15 5.73% 4.61% ETF6 13.91% 13.37% ETF16 3.78% -12.76% ETF7 13.17% 10.52% ETF17 2.85% 5.83% ETF8 12.35% 17.07% ETF18 1.59% -4.45% ETF9 11.68% 10.81% ETF19 1.07% -18.09% ETF10 11.09% 8.14% ETF20 -0.59% -0.75% 交易結果 * 「無腦法」正確的名稱是「買入持有策略」
  66. 320 安裝 deep learning 套件 > conda install tensorflow >

    conda install keras 在 Terminal 或 Anaconda Prompt 之下 * 使用 GPU, TensorFlow 請安裝 tensorflow-gpu