強化學習week1

2021-10-10 04:54:04 字數 2603 閱讀 7190

1.馬爾科夫鏈是用來描述智慧型體和環境互動的過程

2.馬爾科夫鏈包含三個要素:state,action,reward

3.馬爾科夫鏈的不確定性

如果不希望出現某種行為,那麼當這種行為出現的時候就進行懲罰;如果希望堅持某種行為,那麼就給予獎勵。

贏在未來,兩者表示式可以互相轉換。

不同點:

v值衡量狀態節點的價值,q值衡量動作節點的價值。

v值與策略有關,q值與環境轉移概率有關。

相同點:

都是馬爾科夫樹上的節點。

都是從當前節點出發,一直走到最終節點所有獎勵的期望值。

蒙特卡羅演算法和時序差分演算法

mcmc並不需要知道整個環境模型(model-free),屬於回合更新。

將智慧型體放到環境的任意狀態

從這個狀態按照策略選擇動作,並進入新的狀態,直至讓其走到最終狀態

然後從最終狀態向前回溯,計算每個狀態的g值。g值等於上乙個狀態的g值(g『),乘乙個折扣因子,再加上獎勵r。

重複幾次前面的步驟,求平均g值即為v值。

g的意義是在某個路徑上,狀態s到最終狀態的總收益。且,v是g的加權後平均值。 td

td對mc進行了改進,只需走n步就開始回溯更新。mc的更新目標是g,td的更新目標是下一狀態的v(一般乘上折扣因子)加上狀態轉移後的r。屬於單步更新。

·q-learning和sarsa都是基於td(0)的,估算動作的q值,其核心原理都是用下乙個狀態st+1的v值來估算q值。為方便估算,使用下乙個狀態下的某乙個動作的q值,來代表st+1的v值。都是value-based。

不同:sarsa選擇的是與st在同乙個策略下st+1產生的動作;q-learning選擇的是能夠產生最大q值的動作。

演算法流程:以某個策略選擇動作action(我看的例子是noise-greedy策略,選擇q值加上噪音後最大的動作,噪音會隨著遊戲步數減小),進入新的狀態st+1,再選擇出下乙個動作,根據公式更新當前action的q值,進行n個episode的迭代。

有乙個qtable記錄每乙個狀態下的各個動作的q值。

狀態有限且離散

dqn=deep network+q-learning(td)

dqn用神經網路(乙個函式)代替了q-learning中的qtable。dqn解決了q-learning中連續狀態空間的問題。預估的是q值。是基於value的方法。

神經網路:經過很多輪之後,函式的結果越來越接近目標,loss(損失)越來越小。

可以說是mc+神經網路,用mc的g值衡量動作好壞。利用帶權重的梯度下降方法更新策略,通過計算g值來獲得權重。但需要完成全部過程到達最終狀態才能開始回溯計算g值,使得pg的效率被限制。直接選行為,policy-based

得出目標函式之後,根據目標函式求解目標函式最大值以及最大值對應的policy的引數 θ。模擬深度學習中的梯度下降求最小值的方法,這裡要求目標函式的最大值,需要採取梯度上公升,即需要求出目標函式的梯度。

但它對步長敏感,因此難以確定合適的步長。

使用兩個網路,均輸入狀態s,actor輸出策略,負責選擇動作(基於 概率選動作);critic負責計算每個動作的分數,估算的是v值(給出動作的價值)。

為避免正數陷阱,希望actor的更新權重有正有負,因此用q值減去v值。td-error是當前q值與期望(v值)的差值(為了統一,整理後只含v),用來更新critic的loss。critic函式需要最小化td-error。然後把td-error輸入到actor做更新。

較pg而言,智慧型體能在每步進行更新。

關於openai的ppo**:

文章提出一種新的 pg的方法,在如下兩個步驟之間迭代進行學習:

1.sampling data through interaction with the environment ; 通過與環境進行互動,進行取樣;

2. optimizing a 「surrogate」 objective function using stochastic gradient ascent. 利用梯度上公升的方法進行代替的目標函式(surrgogate objective function)的優化。

傳統的 pg僅僅能夠利用取樣得到的 samples 進行一次更新,然後將這些samples扔掉,重新取樣,再實現更新。而ppo可以進行 multiple epochs of minibatch updates.

ppo1:

1.初始化policy的引數θ0

2.在每一次迭代中,使用θk來和環境互動,收集狀態和行動並計算對應的advantage function

3.不斷更新引數,找到目標函式最優值對應的引數 θ 在訓練的過程中採用適應性的kl懲罰因子:當kl過大時,增大beta值來加大懲罰力度;當kl過小時,減小beta值來降低懲罰力度。

ppo2:

該目標函式的第一項是 第二項是對 surrogate objective 進行修改,裁剪了概率比例(clipping the probability ratio),可以防止 rt 超出設定的範圍 [1-epsilon, 1+epsilon]。然後選擇 clipped 和 unclipped objective 中較小的那個,所以最終的目標函式是乙個下限( lower bound)。

總結來說,就是控制新舊策略的比值 rt的大小來防止更新幅度的變化影響agent的學習效果。當朝好的方向優化就會限制其優化力度,向差的方向優化則會盡可能選擇小的優化力度。

強化學習1

這是第一篇強化學習的學習筆記,會覆蓋幾個基本的概念。程式本身,接受環境的訊號,作出行動,影響環境,形成乙個閉環。價值函式,通過value來評估哪一些狀態和動作是好的,選擇那些能夠提高value的動作和狀態。動作,當agent觀察到環境的狀態後,可以作出一些行動去影響環境,比如自動駕駛的汽車看到路面的...

強化學習系列1 強化學習簡介

2015年10月,alphago在和歐洲冠軍進行的圍棋賽上獲得了5 0的完勝,其後的深度強化學習也隨之火了起來。從本期開始開個新坑,一步步把強化學習的內容捋一遍。強化學習 reinforcement learning 是用來解決連續決策問題的一種方法。針對的模型是馬爾科夫決策過程 markov de...

強化學習1 什麼是強化學習

強化學習 reinforcement learning,rl 一般也稱作增強學習,和心理學 動物行為的研究等領域有比較久的淵源。心理學中,強化 指生物受到外界環境中的某些刺激後,自覺或者不自覺調整應對策略,達到趨利避害。舉個例子。馬戲團訓練動物時 比方說猴子 訓導員首先會發出某種指令 比方說抬一下手...