劉建平Pinard,強化學習

強化學習是什么?

劉建平Pinard,強化學習


強化學習是機器學習的一個范疇,強化學習實際是來源于對生物行為的模仿,那就是反復強化記憶那些未來會帶來高收益的動作 ??梢岳斫鉃椋喝绻覀冇幸粋€與環境(Environment)交互的智能體(Agent),它能觀察環境狀態并執行行動(Action) 。一旦采取行動,環境狀態就會變成一個新的狀態,智能體就會收到獎勵(reward)(或罰款) 。
強化學習的目的是使智能體學習他與環境相互作用的經驗,從而選擇使得從環境中得到的回報總和最大化的行為 。這里舉一個將強化學習應用在下棋上的例子:在這個問題中,智能體是下棋的電腦程序,環境則是棋盤的狀態和對手 。智能體觀察棋盤的狀態,并采取行動,選擇棋盤的某個位置放下棋子 。對手也會采取相應的行動,這樣棋盤的狀態就發生了變化,智能體在根據當前狀態,給出其決策……這樣反復,直到比賽結束,智能體會勝利(接受獎勵)或失?。ń邮軕土P) 。
這樣重復的練習成千上萬盤之后,起初打得不好的電腦程序,就能夠很好地規劃和選擇出能夠贏得比賽的動作 。在強化學習中,智能體最初不知道什么行為會導致贏/輸,但必須通過探索(Exploration)來隨機的選擇動作,然后記住它所做的動作的效果,不斷改進其策略 。探索有助于智能體更多地了解環境,從而避免陷入局部最優 。
經過充分的探索后,智能體就可以選擇出更優的策略(Policy),這是就是利用(Exploitation) 。在強化學習中,智能體是否應該重新使用其中一個好的行為或嘗試另一個新的行動(希望能夠帶來更好的結果)之間總是存在權衡 。這里只是給出強化學習的簡單直觀理解,如果想深入理解強化學習,建議可以閱讀以下資料:1.Reinforcement learning: An introduction (經典教材)https://mitpress.mit.edu/books/reinforcement-learning2.David Silver的強化學習公開課 (AlphaGo的發明者)3.https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/(一個非常好的中文tutorial) 。
如何加強自身學習?
劉建平Pinard,強化學習


1、先問問自己學習的目標是什么 。2、找準方向,精準努力 。3、尋找良師益友,共同進步 。4、多讀書,多觀察生活 。5、向身邊優秀的人看齊,模仿 。6、將強項發揮到極致,避開短板 。7、每日反省,問問自己今天有什么地方做得好,什么地方不好 。8、自律,合理分配自己的時間 。9、遠離帶給你負面影響的人 。10、管理好自己的情緒 。
什么是深度強化學習?
劉建平Pinard,強化學習


深度強化學習是深度學習與強化學習的結合,具體來說是結合了深度學習的結構和強化學習的思想,但它的側重點更多的是在強化學習上,解決的仍然是決策問題,只不過是借助神經網絡強大的表征能力去擬合Q表或直接擬合策略以解決狀態-動作空間過大或連續狀態-動作空間問題 。以Atari打磚塊游戲為例,球和磚塊任意不同的位置都可以相當于一個不同的狀態,如此龐大的狀態數量使得傳統的強化學習不可能給每一個狀態對應一個動作,而深度學習端到端的學習能力能夠自動提取特征,訓練出一個復雜的多層的具有很強表達能力的模型去擬合當前的狀態,強化學習再去學會如何根據當前狀態執行相應的動作,以獲得最大的累計獎懲 。
關于強化學習有哪些應用?

推薦閱讀