漲知識,什麼是強化學習(Reinforcement Learning)

—— 原文發佈於本人的微信公衆號「大數據與人工智能Lab」(BigdataAILab),歡迎關注。算法

 

機器學習算法能夠分爲3種:有監督學習(Supervised Learning)、無監督學習(Unsupervised Learning)和強化學習(Reinforcement Learning),以下圖所示:微信

有監督學習、無監督學習、強化學習具備不一樣的特色:機器學習

  • 有監督學習是有一個label(標記)的,這個label告訴算法什麼樣的輸入對應着什麼樣的輸出,常見的算法是分類、迴歸等;函數

  • 無監督學習則是沒有label(標記),常見的算法是聚類;學習

  • 強化學習強調如何基於環境而行動,以取得最大化的預期利益。大數據

強化學習(Reinforcement Learning)靈感來源於心理學中的行爲主義理論,即有機體如何在環境給予的獎勵或懲罰的刺激下,逐步造成對刺激的預期,產生能得到最大利益的習慣性行爲。優化

這個方法具備普適性,所以在其餘許多領域都有研究,例如博弈論、控制論、運籌學、信息論、模擬優化方法、多主體系統學習、羣體智能、統計學以及遺傳算法。人工智能

強化學習採用的是邊得到樣例邊學習的方式,在得到樣例以後更新本身的模型,利用當前的模型來指導下一步的行動,下一步的行動得到reward以後再更新模型,不斷迭代重複直到模型收斂。在這個過程當中,很是重要的一點在於「在已有當前模型的狀況下,若是選擇下一步的行動纔對完善當前的模型最有利」,這就涉及到了RL中的兩個很是重要的概念:探索(exploration)和開發(exploitation),exploration是指選擇以前未執行過的actions,從而探索更多的可能性;exploitation是指選擇已執行過的actions,從而對已知的actions的模型進行完善。對象

強化學習最重要的3個特色是:ci

(1)基本是以一種閉環的形式;

(2)不會直接指示選擇哪一種行動(actions);

(3)一系列的actions和獎勵信號(reward signals)都會影響以後較長的時間。

強化學習決策實現過程須要設定一個agent(圖中的大腦部分),Agent可以接收當前環境的一個observation(觀察),Agent還能接收當它執行某個action後的reward,而環境environment則是agent交互的對象,它是一個行爲不可控制的對象,agent一開始不知道環境會對不一樣action作出什麼樣的反應,而環境會經過observation告訴agent當前的環境狀態,同時環境可以根據可能的最終結果反饋給agent一個reward,它代表了agent作出的決策有多好或者有多很差,整個強化學習優化的目標就是最大化累積reward。

 

在強化學習中,有四個很是重要的概念:

(1)規則(policy)

Policy定義了agents在特定的時間特定的環境下的行爲方式,能夠視爲是從環境狀態到行爲的映射,經常使用π來表示。policy能夠分爲兩類:

肯定性的policy(Deterministic policy): a=π(s) 

隨機性的policy(Stochastic policy): π(a|s)=P[At=a|St=t]

其中,t是時間點,t=0,1,2,3,……

St∈S,S是環境狀態的集合St表明時刻t的狀態,s表明其中某個特定的狀態;

At∈A(St),A(St)是在狀態St下的actions的集合,At表明時刻t的行爲,a表明其中某個特定的行爲。

(2)獎勵信號(a reward signal)

Reward就是一個標量值,是每一個time step中環境根據agent的行爲返回給agent的信號,reward定義了在該情景下執行該行爲的好壞,agent能夠根據reward來調整本身的policy。經常使用R來表示。

(3)值函數(value function)

Reward定義的是當即的收益,而valuefunction定義的是長期的收益,它能夠看做是累計的reward,經常使用v來表示。

(4)環境模型(a model of the environment),預測environment下一步會作出什麼樣的改變,從而預測agent接收到的狀態或者reward是什麼。

 

總之,強化學習做爲一個序列決策(Sequential Decision Making)問題,它須要連續選擇一些行爲,從這些行爲完成後獲得最大的收益做爲最好的結果。它在沒有任何label告訴算法應該怎麼作的狀況下,經過先嚐試作出一些行爲——而後獲得一個結果,經過判斷這個結果是對仍是錯來對以前的行爲進行反饋。

 

歡迎關注本人的微信公衆號「大數據與人工智能Lab」(BigdataAILab),獲取更多資訊

相關文章
相關標籤/搜索