reinforcement learning,增強學習:Policy Evaluation,Policy Iteration,Value Iteration,Dynamic Programming f_reinforcement

來源:互聯網
上載者:User



首先回憶上一次的內容:

Bellman Expectation Equation:
【計算時常用】



【計算時常用】


【計算時常用】

Bellman Optimality Equation:







為什麼DP能夠解決MDP問題:






Policy Evaluation:

1)要解決的問題:


也就是說,要評價一個policy π的在每個狀態的最優值Vπ。通常也成為prediction任務。這種任務因為policy π給出了,典型的DP可解決任務。


2)解決方案:

iterative application of Bellman expectation equation即可得到最終的Vπ。





3)一個例子(能計算對錶格中的數字,表示明白了基本原理):




比如上面的-1.7的計算如下:0.25*[(-1)+(-1)]*3+0.25*[(-1)+0]=-1.75。

比如下面的-2.4的計算如下:0.25*[(-1)+(-2)]*2+0.25*[(-1)+0]+0.25*[(-1)+(-1.7)]=-2.425。







Policy Iteration

1)要解決的問題:


也就是說,沒有給出特定的policy π,只給出MDP,希望找到針對該MDP的最優policy π*;同時給出π*在每個狀態的最優值Vπ*。

從上面的描述可以看出,Policy Evaluation是policy iteration的一個子問題。


2)解決方案:

先任意給出一個最簡單的policy(比如上面的random policy),然後對該policy進行evaluation(這個步驟需要迴圈很多輪),再進行policy improvement(比如上面的第二列,greedy policy)。

然後迭代上面的過程,即iterate policy evaluation / policy improvement。

(policy evaluation需要很多輪才能穩定,如果僅僅進行policy evaluation,則一定要等Vπ穩定;但在這裡,可能只需要進行幾步,比如上面的第二列,evaluation迴圈到K=3之後做policy improvement,就可以得到最優policy π*。但在實際中往往不知道evaluation應該迴圈幾輪,這樣可以先迴圈5輪或者10輪的evaluation,然後再進行policy improvement,之後對改進後的policy再進行5輪或者10輪的evaluation,然後再進行policy improvement。)




3)例子:

上面的第二列。




Value Iteration

1)要解決的問題:

和policy iteration一樣,只給出MDP,希望找到針對該MDP的最優policy π*;同時給出π*在每個狀態的最優值Vπ*。

2)解決方案:

可以按照policy iteration的方法,但在policy evaluation階段僅僅迴圈一輪,之後馬上進行policy improvement【這個方案就是value iteration】。

利用optimal policy具有的偏序關係:


這樣,只要我們知道the solution to sub-problems v∗(s') ,v∗(s) 的解就可以通過進行one-step look-ahead來獲得:

The idea of value iteration is to apply these updates iteratively:


3)好處:

更直觀:Intuition: start with final rewards and work backwards 

Still works with loopy, stochastic MDPs 

Unlike policy iteration, there is no explicit policy (Intermediate value functions may not correspond to any policy )

4)壞處:由於 start with final rewards and work backwards,並且每次只能look-ahead one step,所以直觀上,迴圈輪數會非常大才能收斂到最優策略。


4)例子:







最後給出synchronous Dynamic Programming Algorithms 的總結:











Extensions to Dynamic Programming

1)Asynchronous Dynamic Programming

In-place dynamic programming
Prioritised sweeping
Real-time dynamic programming

2)sample backups

DP uses full-width backups, DP is effective for medium-sized problems(millions of states)
Every successor state and action is considered
Using knowledge of the MDP transitions and reward function 


Using sample rewards and sample transitions <S, A, R, S'>:
Advantages:
Model-free: no advance knowledge of MDP required
Breaks the curse of dimensionality through sampling
Cost of backup is constant, independent of n= |S|

3)Approximate Dynamic Programming








注意,上面所有方法的收斂性都已經有了證明,這裡不給出。

How do we know that value iteration converges to v∗?
Or that iterative policy evaluation converges to vπ?
And therefore that policy iteration converges to v∗?
Is the solution unique?
How fast do these algorithms converge?
These questions are resolved by contraction mapping theorem


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.