最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

深度強化學習之策略梯度(Policy Gradient)

2021-05-01 14:14 作者:剎那-Ksana-  | 我要投稿

前言

本文算是對于策略梯度做一個簡單介紹,因為敲公式巨麻煩,所以也不想寫得太長,如果以后有機會(當我說這句話的時候,就代表大概率沒有)做相關(guān)的視頻的話,會更加詳細的說明其中的細節(jié)。

注意:本文中會出現(xiàn)很多英文術(shù)語。

一、什么是策略梯度

首先,策略梯度是一種所謂的policy based learning,即我們的對象是我們的策略(policy),而非某個value function(雖然我們可能會間接地用到value function)。

在這種policy based learning下,我們用θ參數(shù)化(parameterize)我們的策略%CF%80,換言之,我們希望用某些參數(shù)θ來控制我們的%CF%80。比方說——我們可以用一個神經(jīng)網(wǎng)絡(luò)來參數(shù)化我們的%CF%80。我們給模型輸入某個state?s,然后模型輸出對應的action a。

確立模型之后,我們還需要一個衡量標準,即我們的objective,這個標準可以是我們的Reward的期望值(expected reward):

J(%CE%B8)%3DE_%7B%CF%84~%CF%80%7D%20%5BR(%CF%84)%5D%3DE_%7B%CF%84~%CF%80%7D%20%5B%E2%88%91_%7Bt%3D0%7D%5ETR_t%20%5D

這里的%CF%84%3D(s_0%2Ca_0%2Cr_0%20)%2C(s_1%2Ca_1%2Cr_1%20)%E2%80%A6(s_t%2Ca_t%2Cr_t)代表我們的路徑。

這個objective的意義很明確——我們希望我們的策略π能夠給出高return.

當我們明確了我們的objective以后,自然我們就用gradient ascent來更新我們的參數(shù)θ,讓我們的參數(shù)向高處爬:

%CE%B8_%7Bt%2B1%7D%3D%CE%B8_t%2B%CE%B1%E2%88%87J(%CE%B8)

但是問題是,如果我們想要用gradient ascent,我們首先需要計算我們的%E2%88%87J(%CE%B8).

我們知道期望的計算是E(x)%3D%E2%88%91_%7Bi%3D0%7D%5Ekx_i%20p_i,這里的x_i對應我們的R_tp_i對應我們的p(%CF%84%E2%94%82%CF%80_%CE%B8%20)%3Dp_0%20%E2%88%8F_%7Bt%3D0%7D%5ET%5Bp(s_%7Bt%2B1%7D%20%7Cs_t%2Ca_t)%CF%80(a_t%20%7Cs_t)%5D.

在將%E2%88%87J(%CE%B8)變形之后(這里省略過程),我們得到:

%E2%88%87J(%CE%B8)%3DE_%CF%80%20%5BQ%5E%CF%80%20(s%2Ca)%20%E2%88%87_%CE%B8%20%20log%E2%81%A1(%CF%80_%CE%B8%20(a%7Cs))%20%5D

*公式在不同的地方可能會有不同的版本。

二、REINFORCE

REINFORCE(所有字母都是大寫)是用total reward G_t%3D%E2%88%91_%7Bi%3D0%7D%5EtR_i%20%20%20(這里先不考慮γ)來估測Q%5E%CF%80%20(s%2Ca)

%E2%88%87J(%CE%B8)%3DE_%CF%80%20%5BQ%5E%CF%80%20(s%2Ca)%20%E2%88%87_%CE%B8%20%20log%E2%81%A1(%CF%80_%CE%B8%20(a%7Cs))%5D%E2%89%85E_%CF%80%20%5B%E2%88%91_%7Bt%3D0%7D%5ETR_t%20%20%E2%88%91_%7Bt'%3D0%7D%5Et%E2%88%87_%CE%B8%20%20log%E2%81%A1(%CF%80_%CE%B8%20(a_%7Bt'%7D%7Cs_%7Bt'%7D))%5D

將這個轉(zhuǎn)變?yōu)槲覀兊膐bjective:

L%3D-%E2%88%91_%7Bt%3D0%7DR_t%20%20%20log%E2%81%A1(%CF%80_%CE%B8%20(a_t%E2%94%82s_t%20))

(注意這里有一個負號)

三、Actor-Critic

相比REINFOECE,actor-critic有兩個參數(shù)化的模型——Actor和Critic,Actor是策略%CF%80_%CE%B8,Critic是一個用w參數(shù)化的value function V_w%5E%CF%80%20(s),你可以用另一個神經(jīng)網(wǎng)絡(luò)來代表這個V_w%5E%CF%80%20(s),這個神經(jīng)網(wǎng)絡(luò)我們輸入state s,輸出我們的state value V.

所以在訓練的時候,我們既更新我們的θ,也更新我們的w:

w_%7Bt%2B1%7D%E2%86%90w_t%2B%CE%B7%E2%88%87_w%20J(w)

傳統(tǒng)的Actor-Critic用TD Learning來確立objective:

J(w)%3D1%2F2%20%5BR_%7Bt%2B1%7D%2B%CE%B3V_w%5E%CF%80%20(s_%7Bt%2B1%7D)-V_w%5E%CF%80%20(s_t%20)%5D%5E2

Actor-Critic下面衍生出了很多個版本,如A2C,A3C,還有Unity用戶熟悉的SAC和PPO。

后記

策略梯度的方法和我們平時常見的supervised learning形式不太一樣,所以剛接觸會有點不適應。多看幾下就習慣了(?)

參考資料:

Richard S. Sutton, Andrew G Barto - Reinforcement Learning: An Introduction

Zihan Ding, Yanhua Huang, Hang Yuan, and Hao Dong - Introduction to Reinforcement Learning

THE END.

深度強化學習之策略梯度(Policy Gradient)的評論 (共 條)

分享到微博請遵守國家法律
盖州市| 民勤县| 涞水县| 个旧市| 天津市| 周宁县| 保康县| 绥中县| 盐津县| 石狮市| 磴口县| 房产| 天峻县| 阜阳市| 陈巴尔虎旗| 五常市| 巴楚县| 安义县| 遵义县| 河东区| 会宁县| 聊城市| 安徽省| 大埔县| 大姚县| 灌南县| 黑河市| 岳普湖县| 色达县| 临泉县| 福泉市| 汝阳县| 巴林左旗| 北安市| 衡水市| 两当县| 安图县| 溆浦县| 四子王旗| 泰宁县| 武夷山市|