策略梯度方法

策略梯度方法

數學背景

給定一個標量函數 J ( θ ) J\left(\theta\right) J(θ),利用梯度上升法,使其最大化,此時的 π θ \pi_\theta πθ?就是最優策略。
θ t + 1 = θ t + α ? θ J ( θ t ) \theta_{t+1}=\theta_t+\alpha \nabla_\theta J(\theta_t) θt+1?=θt?+α?θ?J(θt?)

標量函數 J ( θ ) J(\theta) J(θ)

就是上面提到的最優指標 J J J,一般有以下幾種定義:

  1. 平均狀態價值
    v ˉ π = ∑ s ∈ S d π ( s ) v π ( s ) = E [ v π ( S ) ] \bar v_\pi =\sum_{s\in\mathcal{S}}d_\pi(s)v_\pi(s) =\mathbb{E}\left[ v_\pi(S) \right] vˉπ?=sS?dπ?(s)vπ?(s)=E[vπ?(S)]
    如果 d d d π \pi π無關,那么記 d π = d 0 d_\pi=d_0 dπ?=d0?,就Grid World問題,由于狀態價值 v v v是回報的期望,考慮兩種具體情況:

    • 起始在隨機位置,均勻考慮每個狀態價值: d 0 = 1 / ∣ S ∣ d_0=1/|\mathcal{S}| d0?=1/∣S
    • 起始在固定位置,只考慮 s 0 s_0 s0?狀態價值即可: d 0 ( s 0 ) = 1 , d 0 ( s ≠ s 0 ) d_0(s_0)=1,\ d_0(s\neq s_0) d0?(s0?)=1,?d0?(s=s0?)

    如果 d d d π \pi π有關,求解 d π T P π = d π T d_\pi^TP_\pi=d_\pi^T dπT?Pπ?=dπT?得到 d π d_\pi dπ?,其中 P π P_\pi Pπ?是在策略 π \pi π下的狀態轉移矩陣。此時,如果一個狀態經常出現,對應的 d ( s ) d(s) d(s)就會變大。

  2. 平均瞬時獎勵
    r ˉ π = ∑ s ∈ S d π ( s ) r π ( s ) = E [ r π ( S ) ] \bar r_\pi=\sum_{s\in \mathcal{S}}d_\pi(s)r_\pi(s)=\mathbb{E}\left[r_\pi(S)\right] rˉπ?=sS?dπ?(s)rπ?(s)=E[rπ?(S)]

    其中 r π ( s ) r_\pi(s) rπ?(s)是agent在某狀態按策略 π \pi π在動作空間中采取動作的瞬時獎勵
    r π ( s ) = ∑ a ∈ A π ( s ∣ a ) r ( s , a ) r_\pi(s)=\sum_{a\in \mathcal{A}}\pi(s\mid a)r(s,a) rπ?(s)=aA?π(sa)r(s,a)

    此定義與episode reward等價,即當episode長度無限大時, s s s d π d_\pi dπ?分布,即
    lim ? n → ∞ 1 n E [ ∑ k = 1 n R t + k ] ? r ˉ π \lim_{n\to\infty}\frac{1}{n}\mathbb{E}[\sum_{k=1}^{n}R_{t+k}] \iff \bar r_\pi nlim?n1?E[k=1n?Rt+k?]?rˉπ?

J ( θ ) J(\theta) J(θ)的梯度

上面兩類指標函數的梯度都可以寫成:
? θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ? θ π ( a ∣ s , θ ) q π ( s , a ) = ∑ s ∈ S η ( s ) ∑ a ∈ A π ( a ∣ s , θ ) ? θ log ? π ( a ∣ s , θ ) q π ( s , a ) = E [ ? θ log ? π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned} \nabla_\theta J(\theta) &=\sum_{s\in \mathcal{S}}\eta(s)\sum_{a\in \mathcal{A}} \nabla_\theta \pi(a|s,\theta)q_\pi(s,a)\\ &=\sum_{s\in \mathcal{S}}\eta(s)\sum_{a\in \mathcal{A}} \pi(a|s,\theta)\nabla_\theta \log\pi(a|s,\theta)q_\pi(s,a)\\ &=\mathbb{E}[\nabla_\theta \log\pi(A|S,\theta)q_\pi(S,A)] \end{aligned} ?θ?J(θ)?=sS?η(s)aA??θ?π(as,θ)qπ?(s,a)=sS?η(s)aA?π(as,θ)?θ?logπ(as,θ)qπ?(s,a)=E[?θ?logπ(AS,θ)qπ?(S,A)]?
其中, S ~ η S\sim \eta Sη A ~ π ( a ∣ s , θ ) A\sim \pi(a|s,\theta) Aπ(as,θ)

訓練時,使用隨機近似的梯度:
? θ J ≈ ? θ log ? π ( a ∣ s , θ ) q π ( s , a ) \nabla_\theta J\approx\nabla_\theta \log\pi(a|s,\theta)q_\pi(s,a) ?θ?J?θ?logπ(as,θ)qπ?(s,a)

REINFORCE偽代碼

image-20230818220237197

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

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

相關文章

Element Plus el-table 數據為空時自定義內容【默認為 No Data】

1. 通過 Table 屬性設置 <div class"el-plus-table"><el-table empty-text"暫無數據" :data"tableData" style"width: 100%"><el-table-column prop"date" label"Date" width"180" /&g…

系統架構設計師---OSI七層協議

目錄 OSI七層協議 各層主要功能和詳細說明 Internet協議的主要協議及其層次關系

常用的請求 Content-Type 類型

application/json&#xff1a;用于發送 JSON 格式的數據&#xff0c;常用于 RESTful API 請求中。 application/x-www-form-urlencoded&#xff1a;在 POST 請求中以 URL 編碼(key-value 對)的方式發送表單數據。 multipart/form-data&#xff1a;用于同時上傳文件和其他表單…

vue + el-table 表格數據導出為excel表格

下載依賴 npm install --save xlsx file-saver引入插件 import * as XLSX from xlsx; import FileSaver from "file-saver";完整代碼 <template><div class"administrativeCase-container"><div class"content-box"><di…

Java后端實現不用pagehelper。手寫分頁如何實現?

Java后端實現不用pagehelper。手寫分頁如何實現? 如果你不使用PageHelper這樣的分頁插件&#xff0c;你可以手動實現分頁邏輯。下面是一個使用Java后端手寫分頁的示例&#xff1a; 首先&#xff0c;確定每頁顯示的數據量和當前頁碼。 int pageSize 10; // 每頁顯示的數據量…

移動通信系統的LMS自適應波束成形技術matlab仿真

目錄 1.算法運行效果圖預覽 2.算法運行軟件版本 3.部分核心程序 4.算法理論概述 5.算法完整程序工程 1.算法運行效果圖預覽 2.算法運行軟件版本 matlab2022a 3.部分核心程序 ..................................................................... idxx0; while idxx&…

Spring Bean的生命周期總結(包含面試題)

目錄 一、Bean的初始化過程 1. 加載Spring Bean 2. 解析Bean的定義 3. Bean屬性定義 4. BeanFactoryPostProcessor 擴展接口 5. 實例化Bean對象 6. Aware感知 7. 初始化方法 8. 后置處理 9. destroy 銷毀 二、Bean的單例與多例模式 2.1 單例模式&#xff08;Sin…

游戲不再只是娛樂,更成為了一種學習和成長的途徑

隨著科技的飛速發展和游戲設計的創新&#xff0c;當下的游戲行業正經歷著前所未有的繁榮時代。各種各樣的游戲類型在不斷涌現&#xff0c;為玩家們帶來了豐富多彩的娛樂體驗。這些火熱的游戲類型不僅改變了我們的娛樂方式&#xff0c;還在無形中影響了我們的生活。 多元游戲類…

2023河南萌新聯賽第(六)場:河南理工大學-F 愛睡大覺的小C

2023河南萌新聯賽第&#xff08;六&#xff09;場&#xff1a;河南理工大學-F 愛睡大覺的小C https://ac.nowcoder.com/acm/contest/63602/F 文章目錄 2023河南萌新聯賽第&#xff08;六&#xff09;場&#xff1a;河南理工大學-F 愛睡大覺的小C題意解題思路 題意 新學期的概…

大數據平臺中元數據庫—MySQL的異常故障解決

本文的主要目標是解決大數據平臺中元數據庫MySQL的異常故障。通過分析應用響應緩慢的問題&#xff0c;找到了集群組件HIVE和元數據庫MySQL的原因。通過日志分析、工具檢測和專家指導等一系列方法&#xff0c; 最終確定問題的根源是大數據集群中租戶的不規范使用所導致&#xff…

[Unity]Lua本地時間、倒計時和正計時。

慣例&#xff0c;直接上代碼&#xff1a; --正計時開始時的時間戳 self.begin_time os.time() --倒計時時長&#xff0c;01:30:00 self.countdown_time 5400 --是否開始計時 self.is_update_local_time true--Unity Update function time_transition:update_local_timer()i…

Linux學習之iptables過濾規則的使用

cat /etc/redhat-release看到操作系統是CentOS Linux release 7.6.1810&#xff0c;uname -r看到內核版本是3.10.0-957.el7.x86_64&#xff0c;iptables --version可以看到iptables版本是v1.4.21。 iptables -t filter -A INPUT -s 10.0.0.8 -j ACCEPT會在最后一行插入。 10…

代碼隨想錄day52

300最長遞增子序列 class Solution { public:int lengthOfLIS(vector<int>& nums) {int piles 0; // 牌堆數初始化為 0vector<int> top(nums.size()); // 牌堆數組 topfor (int i 0; i < nums.size(); i) {int poker nums[i]; int left 0, right…

04 qt功能類、對話框類和文件操作

一 QT中時間和日期 時間 ---- QTime日期 ---- QDate對于Qt而言,在實際的開發過程中, 1)開發者可能知道所要使用的類 ---- >幫助手冊 —>索引 -->直接輸入類名進行查找 2)開發者可能不知道所要使用的類,只知道開發需求文檔 ----> 幫助 手冊,按下圖操作: 1 …

Android 13像Settings一樣獲取SIM卡信息

一.背景 由于客戶定制的Settings里面需要獲取到SIM卡信息,所以需要實現此功能。 目錄 一.背景 二.前提條件 三.調用api 二.前提條件 首先應用肯定要是系統應用,并且導入framework.jar包,具體可以參考: Android 應用自動開啟輔助(無障礙)功能并使用輔助(無障礙)功能_…

python中的cnn:介紹和基本使用方法

python中的cnn&#xff1a;介紹和基本使用方法 卷積神經網絡&#xff08;Convolutional Neural Networks&#xff0c;簡稱CNN&#xff09;是一種在圖像識別、語音識別、自然語言處理等許多領域取得顯著成功的深度學習模型。CNN的設計靈感來源于生物的視覺系統&#xff0c;由多…

WordPress更換域名后-后臺無法進入,網站模版錯亂,css失效,網頁中圖片不顯示。完整解決方案(含寶塔設置)

我在實際解決問題時用到了 【簡單暴力解決方案】的《方法一&#xff1a;修改wp-config.php》 和 【簡單暴力-且特別粗暴-的解決方案】 更換域名時經常遇到的幾個問題&#xff1a; 1、更換域名后&#xff0c;后臺無法進入 2、更換域名后&#xff0c;網站模版錯亂&#xff0c;c…

網絡通信原理網絡層TCP/IP協議(第四十三課)

1.什么是TCP/IP 目前應用廣泛的網絡通信協議集 國際互聯網上電腦相互通信的規則、約定。 2.主機通信的三要素 IP地址:用來標識一個節點的網絡地址(區分網絡中電腦身份的地址,如人有名字) 子網掩碼:配合IP地址確定網絡號 IP路由:網關的地址,網絡的出口 3.IP地址 …

軟件第三方測評機構做安全測試有用嗎?

術語第三方測試/外包軟件測試本身是不言自明的&#xff0c;即由任何個人/獨立組織對軟件進行測試 不直接或間接參與特定軟件的開發。 在做出選擇的決定時&#xff0c;可能會想到很多問題 內部測試團隊或進行離岸第三方測試&#xff0c;首先是“我們為什么要外包軟件測試&#…

C++設計模式結構型之代理模式

一、概述 代理模式是一種結構型模式&#xff0c;在很多不同的場合具有廣泛的分類和應用。其主要實現的思想是在客戶端和真正要訪問的對象之間引入一個 代理對象&#xff08;間接層&#xff09;&#xff0c;于是&#xff0c;以往客戶端對真正對象的訪問現在變成了通過代理對…