最近又有alpha zero 以100:0戰敗 alpha master((打敗當前人類最牛圍棋選手柯潔的人工智能)的消息,給強化學習注入了更強的一劑興奮劑。剛好順手學習了下有關強化學習的一些基礎,現整理給大家共饗。
What is RL
什麼是強化學習(Reinforcement Learning)?
通過對環境的探索,習得與環境交互的最優策略,從而獲得最大收益的過程,稱之爲“強化學習”。
舉個例子,訓練小狗去撿東西回來。獎勵小狗的某個特定動作,如果作對了某個可能撿東西的傾向動作,給它點吃的;如果做錯了某個動作,打它腦殼一下。小狗學會撿東西的整個過程,可以稱之爲強化學習的過程。小狗通過與環境(人+自然環境)的交互,獲得獎勵避免懲罰,最後得到一種策略:只要人丟出東西,就抓緊時間撿回來,就能夠獲得好處。
基本概念
RL基本模式:
agent :智能體,學習策略的主體,比如大腦。
environment :需要觀察的外部環境。
state :環境的描述。
action :智能體採取的行動。
reward :環境對某個行爲反饋的獎勵值。
MDP:只根據環境當前狀態,不斷做出action的過程,可以用MDP(Markov Decision Process)來描述。
策略的評估
根據策略做決定的過程已知,那麼如何評估採取行爲後的收益呢?如何評估當前策略好壞呢?
收益與策略
這裏主要便於理解,策略從收益的角度來評估是怎麼回事。
1)帶有狀態轉移的時間序列的描述
爲描述一個離散時間序列的狀態和行爲:
現定義時刻
狀態
依照某種策略採取行動,狀態之間的轉移概率:
執行某個行爲
注意:行爲的發生本身是概率事件,另外發生行爲後的狀態轉移也是概率事件。
則帶有狀態轉移關係的時間序列描述如下:
可視化如上面的彩圖所示。
2)瞬時收益與序列收益
定義每個時刻的瞬時收益(收益是策略好壞的體現):
則在當前狀態
其中
notice:
將所有可能地序列求個收益的平均值,是不是就搞清了未來收益。
序列的生成,是由其背後的指導策略導致的不同走向。
而這些序列背後隱藏的關係,就是狀態轉移背後的指導行動的策略
BellmanEquation與R、V、Q
整理下相關的數學概念
Bellman Equation:
假設未來收益對當前是打折扣的
假設時間起始爲
假設
1)序列收益的評估
簡寫:
或者:
對序列的收益另外表示形式:
2)策略的評估及策略下行爲的評估
計算執行某行爲action後的序列期望收益,來評估策略
序列在當前狀態下的未來期望收益,用來評估策略的好壞。
3)Q和V的關係:
根據定義可知,
notice:採取某個動作本身是依概率的
4)由收益
如何由收益
利用多元隨機變量的期望等式如下:
嘗試去掉
受啓發於決策過程受限於當前狀態,而與前面的狀態無關,
其實當前狀態隱含着已將前面的狀態考慮在內了。
將
對隊列
後面這個式子,只是將起始狀態變爲
化爲通用式子
得到:
也可以寫作:
5)由收益
以
第二時刻的狀態確定時,前面的狀態和動作都已經無影響了
化爲通用式子
也可以寫作:
如何求解 Vπ(s) 和 Qπ(s,a)
怎麼求解
1) 直接求解線性代數解:
必須得知道具體的策略
將
得到解:
2) 迭代的方法:
上面兩個式子只不過是同樣思想的不同描述,一個側重在定義,一個側重在具體動作。
簡單說明下迭代方法:
如何優化π 呢?
上述的兩種方法只是能夠計算或者近似估計
1)policy improvement
下面介紹一個優化思路:
假設當前已經得到了
簡單證明如下:
2)greedy policy
某個policy下,每一次用
若是每一步行動,都採取最大化未來收益的策略,是不是更好?
3)可操作的迭代優化方法
一般的方法都是混合了policy-evaluate和policy-improvement(邊評估邊優化),
並且不會一次遍歷所有可能的,基本不會提前知道轉移概率(以採樣方式來替代)。
時差回退法(Temporal Difference Backup Method)是RL常見的迭代優化方法。
策略提升的方法有很多,替換上即可,比如greedy。
Principle of Optimality: An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision. (See Bellman, 1957, Chap. III.3.)
參考文獻
1.《Q-Learning for Markov Decision Process》
2. https://www.wikiwand.com/en/Bellman_equation
3.《Technical Note: Q-Learning》
4.《Temporal Difference Learning and TD-gamma》
5.《 Monte-Carlo Tree Search: A New Framework for Game AI 》
6. 《An Analysis of Reinforcement Learning with Function Approximation》
7. 《Human-Level Control Through Deep Reinforcement Learning》
8.《Playing Atari with Deep Reinforcement Learning》