一. 深度學習及其適用範圍css
大數據造就了深度學習,經過大量的數據訓練,咱們可以輕易的發現數據的規律,從而實現基於監督學習的數據預測。html
沒錯,這裏要強調的是基於監督學習的,也是迄今爲止我在講完深度學習基礎所給出的知識範圍。算法
基於卷積神經網絡的深度學習(包括CNN、RNN),主要解決的領域是 圖像、文本、語音,問題聚焦在 分類、迴歸。然而這裏並無提到推理,顯然咱們用以前的這些知識沒法造一個 AlphaGo 出來,經過一張圖來了解深度學習的問題域:網絡
2016年的 NIPS 會議上,吳恩達 給出了一個將來 AI方向的技術發展圖,仍是很客觀的:學習
毋庸置疑,監督學習是目前成熟度最高的,能夠說已經成功商用,而下一個商用的技術 將會是 遷移學習(Transfer Learning),這也是 Andrew 預測將來五年最有可能走向商用的 AI技術。大數據
二. 遷移學習(觸類旁通的智能)spa
遷移學習解決的問題是 如何將學習到知識 從一個場景遷移到另外一個場景? htm
拿圖像識別來講,從白天到晚上,從 Bottom View 到 Top View,從冬天到夏天,從識別中國人到 識別外國人……對象
這是一個廣泛存在的問題,問題源自於你所關注的場景缺乏足夠的數據來完成訓練,在這種狀況下你須要 經過遷移學習來實現 模型自己的泛化能力。遊戲
借用一張示意圖(From:A Survey on Transfer Learning)來進行說明:
實際上,你可能在不知不覺中使用到了 遷移學習,好比所用到的預訓練模型,在此基礎所作的 Fine-Turning,再好比你作 Tracking 所用的 online learning。
遷移學習的必要性和價值體如今:
1. 複用現有知識域數據,已有的大量工做不至於徹底丟棄;
2. 不須要再去花費巨大代價去從新採集和標定龐大的新數據集,也有可能數據根本沒法獲取;
3. 對於快速出現的新領域,可以快速遷移和應用,體現時效性優點;
關於遷移學習算法 有許多不一樣的思路,咱們總結爲:
1. 經過 原有數據 和 少許新領域數據混淆訓練;
2. 將原訓練模型進行分割,保留基礎模型(數據)部分做爲新領域的遷移基礎;
3. 經過三維仿真來獲得新的場景圖像(OpenAI的Universe平臺藉助賽車遊戲來訓練);
4. 藉助對抗網絡 GAN 進行遷移學習 的方法;
三. 強化學習(反饋,修正)
強化學習全稱是 Deep Reinforcement Learning(DRL),其所帶來的推理能力 是智能的一個關鍵特徵衡量,真正的讓機器有了自我學習、自我思考的能力,毫無疑問Google DeepMind 是該領域的執牛耳者,其發表的 DQN 堪稱是該領域的破冰之做(有時間咱們會在後續章節討論)。
目前強化學習主要用在遊戲 AI 領域(有咱們老生常談的 AlphaGo)和 機器人領域,除此以外,Google宣稱經過 強化學習 將數據中心的冷卻費用下降了 40%,雖沒法考證真僞,但我願意相信他的價值。
強化學習 是個複雜的命題,Deepmind 大神 David Silver 將其理解爲這樣一種交叉學科:
實際上,強化學習是一種探索式的學習方法,經過不斷 「試錯」 來獲得改進,不一樣於監督學習的地方是 強化學習自己沒有 Label,每一步的 Action 以後它沒法獲得明確的反饋(在這一點上,監督學習每一步都能進行 Label 比對,獲得 True or False)。
強化學習是經過如下幾個元素來進行組合描述的:
對象(Agent)
也就是咱們的智能主題,好比 AlphaGo。
環境(Environment)
Agent 所處的場景-好比下圍棋的棋盤,以及其所對應的狀態(State)-好比當前所對應的棋局。
Agent 須要從 Environment 感知來獲取反饋(當前局勢對我是否更有利)。
動做 (Actions)
在每一個State下,能夠採起什麼行動,針對每個 Action 分析其影響。
獎勵 (Rewards)
執行 Action 以後,獲得的獎勵或懲罰,Reward 是經過對 環境的觀察獲得。
經過強化學習,咱們獲得的輸出就是:Next Action?下一步該怎麼走,這就是 AlphaGo 的棋局,你可以想到,對應圍棋的 Action 數量嗎?
關於強化學習的具體算法,大多從 馬爾可夫鏈 講起,本節只作普及性說明,後續會考慮對具體算法進行展開。