Policy Gradient【強化學習的數學原理】

目錄

policy 與表格方式的區別:

metric to define optimal policies

1.?weighted averge

2. the average reward

問題:

梯度計算

如何理解policy-gradient?


policy gradient與表格方式(value based)的區別:

policy 通過參數化的函數來表示:\pi (a|s, \theta)

函數近似與表格方式的區別:

1. 在狀態空間很大時,相比表格形式會更高效

1. 對最優策略的定義:

? ? ? ? - 表格形式:能夠最大化每個狀態值的策略\pi是最優策略;

? ? ? ? - 函數形式:最大化certain scalar metrics的是最優策略;

2. access action的概率:

? ? ? ?- 查表

? ? ? ?- 計算給定參數和函數結構下\pi (a|s, \theta)的值

3. 更新policy:

? ? ? ?- 直接更改表中的值

? ? ? ?- 通過改變參數\theta來更改

metric to define optimal policies

1.?weighted averge

\overline{v_{\pi}} = \sum_{s \in S}^{}d(s)v_{\pi}(s).??\sum_{s \in S}^{}d(s) = 1

d(s)是一個概率分布。

\overline{v_{\pi}} = \Xi [v_{\pi}(S)].? where?S \sim d

如何選擇分布d?

1. d獨立與policy?\pi: 梯度更容易計算。這種情況下d ->?d_0,??\overline{v_{\pi}}?as?\overline{v}_{\pi}^0

如何選擇d_0

- 將所有狀態看作同等重要的,d_0(s) = 1/|S|

- 只對特殊狀態s_0感興趣。一些任務總是從相同的狀態s_0開始,所有我們只關心從s_0?開始的長期:

d_0(s_0) = 1, d_0(s \neq s_0) = 0

2. d 依賴于policy?\pi

d_{\pi}^TP_{\pi} = d_{\pi}^T?, 其中P是狀態轉移矩陣。

如果一個狀態經常被訪問,那么它會產生更多的權重。相反,則是更少的權重

2. the average reward

weighted average one-step reward 或者average reward:

\overline{r}_{\pi} = \sum_{s \in S}^{}d_{\pi}(s)r_{\pi}(s) = \Xi [r_{\pi}(s) ]

r_{\pi}(s) = \sum_{a \in A}^{}\pi(a|s)r(s,a). 從狀態s開始的one-step immediate reward

r(s,a) =\Xi [R|s,a] = \sum_{r}^{}rp(r|s,a)

- 從某個狀態出發,跑無窮多步,reward的平均是:

lim_{n\rightarrow \infty}\frac{1}{n}\Xi [R_{t+1} + R_{t+2} + ... + R_{t+n}| S_t=s_0]

=lim_{n\rightarrow \infty}\frac{1}{n}\Xi [\sum_{k=1}^{n}R_{t+k}| S_t=s_0]

=lim_{n\rightarrow \infty}\frac{1}{n}\Xi [\sum_{k=1}^{n}R_{t+k}]

= \sum_{s \in S}^{}d_{\pi}(s)r_{\pi}(s) =\overline{r}_{\pi}

1. basic idea of policy gradient methods:

- 這些metrics都是\pi的函數,\pi是由\theta參數化的,這些metrics是\theta的函數。

- 通過最大化metrics來尋找最優的\theta值;

2.?

- 直覺上,\overline{r}_{\pi}?是短視的(只考慮即時reward),\overline{v}_{\pi}考慮了所有step的總共reward;

- 但是,這兩個metrics是彼此相等的(在discounted case中):\overline{r}_{\pi} = (1-\lambda)\overline{v}_{\pi}

問題:

-?J(\theta) = \Xi [\sum_{t=0}^{\infty}{\lambda}^tR_{t+1}]?這個metric與之前的關系?

clarify and understand this metric:

A_t \sim \pi(s_t)?and?R_{t+1}, S_{t+1} \sim p(R_{t+1}|s_t, A_t) p(S_{t+1}|s_t, A_t)

J(\theta) = \Xi [\sum_{t=0}^{\infty}{\lambda}^tR_{t+1}] = \sum_{s \in S}^{}d(s)\Xi[\sum_{t=0}^{\infty}\gamma^tR_{t+1}|S_0=s] = \sum_{s \in S}d(s)v_{\pi}(s) = \bar{v}_{\pi}

梯度計算

\bigtriangledown_{\theta} J(\theta) =\sum_{s \in S}^{} \eta (s)\sum_{a \in A}^{}\bigtriangledown_{\theta}\pi(a|s, \theta)q_{\pi}(s,a)

將其轉換為期望的形式,就可以通過采樣的方式來求解梯度:

=\Xi [\bigtriangledown_{\theta}In\pi(A|S, \theta)q_{\pi}(S,A)]

如何轉換得到的?

\bigtriangledown_{\theta}In\pi(a|s, \theta)=\frac{\bigtriangledown_{\theta}\pi(a|s, \theta)}{\pi(a|s, \theta)}

\bigtriangledown_{\theta}\pi(a|s, \theta)=\pi(a|s, \theta)\bigtriangledown_{\theta}In\pi(a|s, \theta)

\bigtriangledown_{\theta} J(\theta) =\sum_{s}^{} d (s)\sum_{a \in A}^{}\bigtriangledown_{\theta}\pi(a|s, \theta)q_{\pi}(s,a)

=\sum_{s}^{} d (s)\sum_{a \in A}^{}\pi(a|s, \theta)\bigtriangledown_{\theta}In\pi(a|s, \theta)q_{\pi}(s,a)

=\Xi _{S \sim d}[\sum_{a \in A}^{}\pi(a|s, \theta)\bigtriangledown_{\theta}In\pi(a|s, \theta)q_{\pi}(s,a)]

=\Xi _{S \sim d, A \sim \pi}[\bigtriangledown_{\theta}In\pi(A|S, \theta)q_{\pi}(S,A)]

=\Xi [\bigtriangledown_{\theta}In\pi(A|S, \theta)q_{\pi}(S,A)]

其中\pi?要求是>0的,所以\pi?采用softmax函數的形式,\sum_a \pi(a|s) =1(對應網絡中的激活層);策略是stochastic的且探索性的。

那么如果action是無窮多個怎么辦?

gradient-ascent algorithm(REINFORCE)

\theta_{t+1}=\theta_t +\alpha\Xi [\bigtriangledown_{\theta}In\pi(A|S, \theta)q_{\pi}(S,A)]

采樣:

\theta_{t+1}=\theta_t +\alpha \bigtriangledown_{\theta}In\pi(a_t|s_t, \theta)q_{\pi}(s_t,a_t)

q_{\pi}(s_t,a_t)?也是未知的,可以通過q_{t}(s_t,a_t)采樣來近似(MonteCarlo等)

\theta_{t+1}=\theta_t +\alpha \bigtriangledown_{\theta}In\pi(a_t|s_t, \theta)q_{t}(s_t,a_t)

如何來采樣?

\Xi _{S \sim d, A \sim \pi}[\bigtriangledown_{\theta}In\pi(A|S, \theta)q_{\pi}(S,A)] \rightarrow \bigtriangledown_{\theta}In\pi(a|s, \theta)q_{\pi}(s,s)

- how to sample S??S \sim d, distribution d is a long-run hehavior under?\pi

- how to sample A ??A \sim \pi(A|S, \theta),?a_t? should be sampled following?\pi(\theta_t)?at?s_t

so , policy gradient is on-policy.

REINFORCE是online還是offline的?

如何理解policy-gradient?

\bigtriangledown_{\theta}In\pi(a|s, \theta)=\frac{\bigtriangledown_{\theta}\pi(a|s, \theta)}{\pi(a|s, \theta)}

\theta_{t+1}=\theta_t +\alpha \bigtriangledown_{\theta}In\pi(a_t|s_t, \theta)q_{\pi}(s_t,a_t)

=\theta_t +\alpha (\frac{q_{\pi}(s_t,a_t)}{\pi(a_t|s_t, \theta_t)})\bigtriangledown_{\theta}\pi (a_t|s_t, \theta)

其中\beta_t =\frac{q_{\pi}(s_t,a_t)}{\pi(a_t|s_t, \theta_t)}

- 當\beta_t >0, 選擇(s_t, a_t)的概率被加強

\pi (a_t|s_t, \theta_{t+1}) > \pi (a_t|s_t, \theta_{t})

- 當\beta_t <0

\pi (a_t|s_t, \theta_{t+1}) < \pi (a_t|s_t, \theta_{t})

\beta_t?可以很好的平衡exploration and exploitation

正比于分子,算法會傾向于加強有更大值的action

反比于分母,會探索有更小概率被選擇的action

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87588.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87588.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87588.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【深圳大學機器學習】實驗一:PCA算法

實驗目的 1、實現PCA算法的人臉重構&#xff0c;即用20,40,60,80,...,160個投影來重構圖像的效果。 2、實現PCA算法的人臉識別&#xff0c;給出不少于三個人臉數據庫上 10,20,30,...,160維的人臉識別識別率&#xff0c;并打印出識別率變化曲線圖。 3、用PCA用來進行人臉圖像…

編程中的英語

case this are mixed case version case在這里表示大小寫&#xff1f;為什么case可以表示大小寫的含義&#xff1f; “case”在這里的含義 在句子“This are mixed case version”中&#xff0c;“case”確實表示“大小寫”&#xff0c;用于描述字母的形式&#xff08;大寫字母…

LabVIEW開發關節軸承試驗機

LabVIEW通過NI硬件&#xff08;CompactRIO 實時控制器、FPGA 模塊等&#xff09;與模塊化軟件設計的結合&#xff0c;實現試驗參數采集、多工況控制、數據存儲的并行處理&#xff0c;體現LabVIEW 在工業自動化中對多任務并發場景的高效支持能力。 ? 應用場景 關節軸承試驗機…

【Linux庖丁解牛】— 動靜態庫的制作和使用!

1. 什么是庫庫是寫好的現有的&#xff0c;成熟的&#xff0c;可以復?的代碼。現實中每個程序都要依賴很多基礎的底層庫&#xff0c;不可能 每個?的代碼都從零開始&#xff0c;因此庫的存在意義?同尋常。 本質上來說庫是?種可執?代碼的?進制形式&#xff0c;可以被操作系統…

Hadoop集群啟動 (ZooKeeper、HDFS、YARN、Hbase)

一、啟動ZooKeeper集群 sh /opt/modules/zookeeper-3.4.14/bin/zkServer.sh start[hadoopcentos01 ~]$ sh /opt/modules/zookeeper-3.4.14/bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /opt/modules/zookeeper-3.4.14/bin/../conf/zoo.cfg Startin…

React Hooks全面解析:從基礎到高級的實用指南

React Hooks全面解析&#xff1a;從基礎到高級的實用指南 React Hooks自2018年16.8版本引入以來&#xff0c;徹底改變了React組件的開發方式。** Hooks使函數組件獲得了與類組件同等的表達能力&#xff0c;同時簡化了代碼結構&#xff0c;提升了可維護性**。本文將系統介紹Rea…

LINUX75 LAMP

LAMP 環境 yum NetworkManager systemctl status firewalld setenforce 0 Last login: Fri Jul 4 19:21:47 2025 from 192.168.235.1 [rootweb ~]# cd /usr/local/apache2/conf/ [rootweb conf]# ls extra httpd.conf httpd.conf.bak magic mime.types original [root…

cloudflare配合github搭建免費開源影視LibreTV一個獨享視頻網站 詳細教程

一、項目簡介 LibreTV 是一個開源的 IPTV/影視聚合前端項目&#xff0c;支持 M3U 播放列表、EPG 電子節目單等。它本身是純前端項目&#xff0c;非常適合用 GitHub Pages Cloudflare 免費托管。 二、準備工作 GitHub 賬號 注冊并登錄 GitHub Cloudflare 賬號 注冊并登錄 …

Linux/Unix進程概念及基本操作(PID、內存布局、虛擬內存、環境變量、fork、exit、wait、exec、system)

進程 文章目錄 進程I 進程基本概念1、進程和程序2、進程號和父進程號3、進程內存布局4、虛擬內存管理&#xff08;1&#xff09;程序的兩種局部性&#xff08;2&#xff09;虛擬內存的規劃&#xff08;3&#xff09;虛擬內存的優點 5、棧和棧幀6、命令行參數argc和argv7、環境變…

0基礎學Python系列【25】 單元測試入門教程

大家好,歡迎來到Python學習的第三站!?? 這部分會涉及一些Python的進階技術,雖然不一定是必需的,但學會這些,你會覺得編程更得心應手。 本章要學什么? Python調試器(pdb)裝飾器lambda函數代碼性能分析單元測試入門 —— 今天講這里聽起來有點多?別擔心,我們慢慢來,…

iOS常見內存錯誤碼

一、經典十六進制錯誤碼0xDEADBEEF&#xff08;EXC_BAD_ACCESS&#xff09; 含義&#xff1a;野指針訪問&#xff08;訪問已釋放的內存地址&#xff09;。 記憶點&#xff1a;“DEAD BEEF” 可理解為 “死亡牛肉”&#xff0c;象征指針指向的內存已 “死亡”。 觸發場景&#x…

CSS01:CSS的快速入門及優勢

CSS快速入門 style 練習格式&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>CSS</title><!-- 規范,<style>可以編寫css代碼,每一個聲明最好用分號結尾語法&#xff1a;…

springsecurity5配置之后啟動項目報錯:authenticationManager cannot be null

目錄 配置代碼 報錯信息 解決辦法 配置代碼 下面的配置為響應式的配置方式 //這個配置只是配置springboot admin的一個例子,具體的配置可能比較復雜 @EnableWebFluxSecurity public class SecurityConfig {private final AdminServerProperties adminServer;public Securi…

攻防世界-Rerverse-game

知識點 1.ida逆向 2.函數分析逆向 步驟 用Exeinfo打開&#xff0c;為32位exe文件。 方法一&#xff1a; 玩游戲通關&#xff0c;根據游戲規則&#xff0c;m1&#xff0c;n依次為1到8即可得到flag。 方法二&#xff1a; 用32位IDA打開 ctrlF搜索main&#xff0c;點擊_main,…

openEuler 24.03 全流程實戰:用 Ansible 5 分鐘部署分布式 MinIO 高可用集群

目錄 0 | 為什么要寫這篇教程&#xff1f; 1 | 準備工作 1.1 控制節點手工下載 MinIO 1.2 SSH 互信&#xff08;可跳過&#xff0c;本教程已有互信&#xff09; 1.3 安裝 Ansible & SELinux 依賴 2 | 項目目錄 3 | Inventory hosts.ini 4 | 變量文件 group_vars/al…

最左匹配原則

導讀&#xff1a; 首先創建一張 test 表&#xff0c;并插入一些數據&#xff1a; CREATE TABLE test ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 主鍵, a int(11) NOT NULL, b int(11) NOT NULL, c int(11) NOT NULL, d int(11) NOT NULL, PRIMARY KEY (id), KEY idx_abc …

MySQL 8.0 OCP 1Z0-908 題目解析(17)

題目65 Choose two. Which two are characteristics of snapshot-based backups? □ A) The frozen file system can be cloned to another virtual machine immediately into active service. □ B) There is no need for InnoDB tables to perform its own recovery when re…

Level2_12小球與擋板(移動+反彈)

一、前引 #已經學習完了: #1.數據結構&#xff1a;集合、元組、字典 #2.函數 #3.類和對象 #4.繼承與多態 #1.規劃編程項目: #&#xff08;1&#xff09;你想做什么什么樣功能的項目&#xff1f; # 接小球游戲,碰到擋板時自動反彈 #&#xff08;2&#xff09;功能有哪些&#x…

win11 2025開機禁用微軟賬號登錄,改本地用戶登錄,品牌預裝機福音

今天開箱了品牌商出廠系統一臺華為筆記本&#xff0c;開機提示連接wifi并需要登錄微軟賬號&#xff0c;其中過程實在緩慢&#xff0c;而且老是提示自動更新&#xff0c;速度太慢了&#xff0c;等的花都謝了&#xff0c;進到桌面大概得要30-40分鐘&#xff0c;還不如本地用戶登錄…

【嵌入式ARM匯編基礎】-ELF文件格式內部結構詳解(三)

ELF文件格式內部結構詳解(三) 文章目錄 ELF文件格式內部結構詳解(三)12、動態部分和動態加載13、依賴加載(需要)14、程序重定位14.1 靜態重定位14.2 動態重定位14.3 全局偏移表 (GOT)14.4 過程鏈接表 (PLT)12、動態部分和動態加載 ELF 文件格式中的 .dynamic 部分用于指…