2022 政大應數「數學軟體應用」深度學習課程 02
政⼤應數。數學軟體應⽤蔡炎龍問個好問題政治⼤學應⽤數學系深度學習入⾨02.
View Slide
問問題的各種可能05.
數學軟體應⽤ 6701 股票⾃動交易做個⾃動交易系統!我們來預測股票的收盤價!
數學軟體應⽤ 6801 股票⾃動交易f化成函數的形式, 我們當然可以很天真的這麼做...輸入 輸出⽇期 x 某股票 x 當天的收盤價 不合理的是, 輸入⽇期這個資訊太少, 不太可能這樣就推出收盤價!
數學軟體應⽤ 6901 股票⾃動交易f⽤前 1 週的收盤價預測下⼀次的收盤價就合理得多。輸入 輸出當然還有很多其他可能的⽅式!DNN, CNN, RNN
數學軟體應⽤ 7001 股票⾃動交易拜託你, 股票是無法預測的!專家可能會說...
數學軟體應⽤ 7101 股票⾃動交易不如讓電腦學者做交易!f輸入輸出買不交易賣某股過去20 天資料
數學軟體應⽤ 7201 股票⾃動交易但其實這樣設計, 訓練資料很難準備!Q輸入 輸出動作某股過去20 天資料+換學另⼀個函數!⼀段時間, 比如⼀年的總利潤Sa狀態動作
數學軟體應⽤ 7302 信⽤卡盜刷判斷我想知道這筆信⽤卡交易有沒有問題。VISA
數學軟體應⽤ 7402 信⽤卡盜刷判斷VISA某筆交易正常異常輸入 輸出f
數學軟體應⽤ 7503 流感病毒篩檢我想知道病⼈有沒有感染某種流感病毒?
數學軟體應⽤ 7603 流感病毒篩檢f輸入 輸出有 or 沒有看我有沒有在裡⾯?CNN
數學軟體應⽤ 7704 全壘打預測我想知道某位 MLB選⼿新球季可以打幾隻全壘打?
數學軟體應⽤ 7804 全壘打預測f輸入 輸出RNN某選⼿第 t-1 年資料 第 t 年全壘打數[Age, G, PA, AB, R, H, 2B, 3B, HR,RBI, SB, BB, SO, OPS+, TB]每位選⼿都有 15 個 features!
數學軟體應⽤ 7904 全壘打預測可惜結果不準!不要猜精確數⽬,猜區間即可!分五段: 0-9, 10-19, 20-29, 30-39, 40+
數學軟體應⽤ 8005 對話機器⼈對話機器⼈或是⾃動翻譯
數學軟體應⽤ 8105 對話機器⼈f輸入 輸出客⼾說的話 客服機器⼈回應這樣會有問題!注意函數輸入和輸出需要⼀樣的長度!
數學軟體應⽤ 8205 對話機器⼈f輸入 輸出⽬前的字 下⼀個字令⼈驚呆的是, 最常⾒的居然是化這這樣的函數...RNN
數學軟體應⽤ 8305 對話機器⼈比如說, “今天天氣很好。” 這句話, 輸入我們的函數就應該是...f(“今”) = “天”f(“天”) = “天”f(“天”) = “氣”f(“氣”) = “很”f(“很”) = “好”這根本不是函數啊!
數學軟體應⽤ 8405 對話機器⼈結果⽤有記憶能⼒的 RNN 做, 它可以是函數的原因是不只輸入⼀個字, 還有之前的綜合資訊!f輸入 輸出⽬前的字 下⼀個字RNN還有前幾次的「記憶」
數學軟體應⽤ 8505 對話機器⼈然後就可以做出對話 (翻譯) 機器⼈!字1字2回1EOS 回1回2回kEOS
數學軟體應⽤ 8606 情境配樂放⼀段影片, 我想依情境配出⼀段背景⾳樂!
數學軟體應⽤ 8706 情境配樂f 符合情境的⾳樂⼀段影片可是不能每次同類型的情境, 都配⼀樣的⾳樂吧...
數學軟體應⽤ 8806 情境配樂f⼀段影片恐怖的浪漫的溫馨的熱⾎的可能可以先學這個函數!
數學軟體應⽤ 8907 創作機器⼈我想讓電腦和我⼀樣會創作。
數學軟體應⽤ 9007 創作機器⼈f輸入 輸出???? ⼀段⾳樂到底是要輸入什麼呢?
數學軟體應⽤ 9107 創作機器⼈結果是訓練兩個神經網路!GD⽣成器鑑別器⼀⼩段曲⼦像 or 不像 ⼀⼩段曲⼦靈感⼀⼩段曲⼦這就是所謂的⽣成對抗網路 (GAN)!
數學軟體應⽤ 9208 ⾃動駕駛我想要讓電腦⾃動開⾞!
數學軟體應⽤ 9308 ⾃動駕駛f路上情境⽅向盤的⾓度油⾨⼤⼩剎⾞⼤⼩好像很合理...
數學軟體應⽤ 9409 「⾃學型」的 AI我想讓電腦⾃⼰學會玩遊戲!
數學軟體應⽤ 9509 「⾃學型」的 AIπ輸入 輸出最好的動作這樣做通常不⾏!どうして?
數學軟體應⽤ 9609 「⾃學型」的 AI原因是訓練資料很難準備!1變化太多很難各種情境都有訓練資料!2以下圍棋為例, 我那麼會的話...我那麼會我就世界冠軍了啊!
數學軟體應⽤ 9709 「⾃學型」的 AI直接學哪個動作最好不容易。於是我們學習給每個動作「評分」,通常是計算做了這個動作後「得分的期望值」。Q輸入 輸出預期的 rewardDNN, CNN, RNN+這就是強化學習 (reinforcement learning)
數學軟體應⽤ 98⼩結論對我們想解決的問題,可能有許多不同的問法!
數學軟體應⽤ 99⼩結論f輸入 輸出x y (再⼀次) 點是⼀次要非常明確化成函數的形式, 也就是要知確實說清楚輸入、輸出是什麼。
數學軟體應⽤ 100我們常常會碰到這樣的情況...兔⼦老闆我想知道怎麼樣紅蘿葡會長得更快? 你們⽤ AI做⼤數據分析, 然後交出來。
數學軟體應⽤ 101你跟他說不⾏, 他會回應這句話...光這樣問是不⾏的!為什麼!? 我有數據!不⾏的原因是沒有把問題化為函數的形勢。⼤家做 AI 經驗多了,遲早會出現這樣對話的場景...
神經網路06.
數學軟體應⽤ 103深度學習和神經網路現在 AI ⼤紅的原因是深度學習有很多突破性的發展, ⽽深度學習的核⼼是神經網路。
數學軟體應⽤ 104假設我們確定要學哪個函數了fx1x2xny1y2ym也就是我們輸入和輸出都很明確, 明確到輸入輸出的⼤⼩當然也都確定了!
數學軟體應⽤ 105接下來就是要打造函數學習機我們要⽤深度學習 (神經網路) 的⽅法, 打造⼀台函數學習機!വᏐላशػ
數學軟體應⽤ 106神經網路暗⿊學習法!這個世界有個近乎全能的暗⿊函數學習法神經網路
數學軟體應⽤ 107神經網路暗⿊學習法!還有數學定理證明「⼀個隱藏層」的神經網路就能學會你要學的函數!Universal Approximation Theorem
數學軟體應⽤ 108神經網路暗⿊學習法!⽽且我們不⽤知道函數長什麼樣⼦ (線性啦、多項式樣啦等等)!
數學軟體應⽤ 109神經網路暗⿊學習法!HiddenLayerOutputLayerInputLayer暗⿊魔法如同魔法般的, 你問好問題 、準備好資料, 神經網路就告訴你函數應該長什麼樣⼦!
數學軟體應⽤ 110神經網路暗⿊學習法!在 1980-1990 年代可以說紅極⼀時!
數學軟體應⽤ 111魔法光茫不再!?有⼀陣⼦如果研究計畫說要研究「神經網路」, 那計畫還沒送出就可以確定不會通過!然後它就死掉了...
數學軟體應⽤ 112為什麼上個世紀神經網路沒有預期成功?複雜的軟體 電腦計算能⼒ ⼤ 的數據三⼤要件當時不具⾜。Yann LeCun
數學軟體應⽤ 113到了現在, 情況完全不⼀樣了!比起上個世紀, 要寫個強強的深度學習程式,真的太容易了!
數學軟體應⽤ 114神經網路新時代!Human-levelcontrol throughdeep reinforcementlearning ”“ DeepMind2015-2-26Deep Q-Learningletter原來電腦可以⾃已學會做⼀些複雜的任務!
數學軟體應⽤ 115神經網路新時代!Deep Learning“LeCun-Bengio-Hinton2015-5-28http://bit.ly/ai_history介紹 Deep Learning「三巨頭」的故事。延申閱讀度過神經網路寒冬的三巨頭, ⼀起宣告deep learning 時代的來臨!”
數學軟體應⽤ 116神經網路新時代!Deep Learning 打敗世界棋王, 讓⼤家⼤⼤期待 deeplearning 的能⼒!”Mastering the gameof Go with deepneural networksand tree search”“ DeepMind2016-2-26
數學軟體應⽤ 117再⼀次, 就這三⼤天王改變了全世界!DNN CNN RNN我們會來⼀⼀介紹這些神經網路架構有什麼特點。
神經網路標準版 DNN07.
數學軟體應⽤ 119全連結神經網路 (DNN)Fully Connected Neural Networks1980 年代就火紅的 model
數學軟體應⽤ 120全連結神經網路 (DNN)只需要決定兩組數字, 神經網路就決定了!1. 幾層隱藏層2. 每層幾個神經元層層之間的神經元是完全連結的。
數學軟體應⽤ 121深度學習就是建⼀層層「隱藏層」x ̂yinputlayerhiddenlayersoutputlayerDNN, CNN, RNN 嚴格說是每⼀層都可以決定是要⽤三種之中, 哪⼀種⽅式做隱藏層的設計。
數學軟體應⽤ 122深度學習就是建⼀層層「隱藏層」x1x2xnh1h2hkx hℱ1全連結層 (Dense)卷積層 (Conv)遞歸層 (LSTM, GRU)差不多就是決定幾個神經元就結束了。隱藏層基本上就三種選擇:DNNCNNRNN
數學軟體應⽤ 123神經元怎麼運作不管哪種神經網路, 神經元就是基本的運算單元, ⽽每個神經元的運算⽅式是⼀樣的!
數學軟體應⽤ 124神經元怎麼運作每個神經元就是接受若⼲個刺激輸入, 然後送出⼀個刺激輸出。
數學軟體應⽤ 125神經元怎麼運作我們先要這個神經元接受到的總刺激。3∑i=1wixi
數學軟體應⽤ 126神經元怎麼運作接著加上偏值 (bias), 做⼀個基準的調整。不管是權 、偏值都是要經過學習得到的! 這裡我們估且稱調整後的總刺激。3∑i=1wixi3∑i=1wixi+ bb
數學軟體應⽤ 127神經元怎麼運作⽬前的計算都是線性的, 即使經所有神經元算還是線性的, 因此我們需經⼀個激發函數 (activationfunction) 轉換再送出。φ(3∑i=1wixi+ b) = hφ( ) = h
數學軟體應⽤ 128激發函數以下我們介紹幾個有名的激發函數。ReLU Sigmoid Gaussian本世紀新寵!感覺應該很接近⼈類神經元的動作。舊時代的懷念, 已很少使⽤。
數學軟體應⽤ 129把⾃⼰當⼀個神經元!現在把⾃⼰當成⼀個神經元, ⽤ ReLU 做我們的激發函數。
數學軟體應⽤ 130把⾃⼰當⼀個神經元!權 和偏值都是學來的, 但⼀開始我們會隨機給⼀個值。121假設初始化得到:w1= 1w2= 2b1= 1
數學軟體應⽤ 131把⾃⼰當⼀個神經元!記得我們神經元的計算⽅式。現在有任何輸入我們都應該知道該怎麼輸出了。1211 12
數學軟體應⽤ 132把⾃⼰當⼀個神經元!比如說我們接到的輸入, 輸出應該是多少呢?1211 12x = (x1, x2) = (1,3)13
數學軟體應⽤ 133把⾃⼰當⼀個神經元!計算調整後的加權和。12113 1 1281 3× ×
數學軟體應⽤ 134把⾃⼰當⼀個神經元!因為⽤了可愛的 ReLU, 會得到輸出正是 8!12113 8φ(8) = 8
數學軟體應⽤ 135函數學習機建造完成!我們會把所有要學習的參數,包括所有的權 、所有的偏值, 合併起來叫做:θ
數學軟體應⽤ 136函數學習機建造完成!當決定了權 、參數, 也就是⼀組 的值, 我們輪入任意的數值, 神經網路就會吐出⼀個輸出給我們了!θവᏐላशػ完成!