【強化學習】第01期:緒論

筆者近期上了國科大周曉飛老師《強化學習及其應用》課程,計劃整理一個強化學習系列筆記。筆記中所引用的內容部分出自周老師的課程PPT。筆記中如有不到之處,敬請批評指正。

文章目錄

  • 1.1 概述
  • 1.2 Markov決策過程
    • 1.2.1 Markov Process (MP) 馬爾科夫過程
    • 1.2.2 Markov Reward Process (MRP) 馬爾科夫回報過程
    • 1.2.3 Markov Decision Process (MDP) 馬爾科夫決策過程
  • 1.3 強化學習


1.1 概述

強化學習:通過與環境互動,獲取環境反饋的樣本;回報(作為監督),進行最優決策的機器學習。
強化學習的過程可以用下圖進行描述:在狀態S1下選擇動作a1,獲取回報R1的同時跳轉到狀態S2;在狀態S2下選擇動作a2,獲取回報R2的同時跳轉到狀態S3……如此循環下去。
強化學習的目標就是:對于給定的狀態S,我們能選一個比較好的動作a,使得回報最大。
在這里插入圖片描述

1.2 Markov決策過程

1.2.1 Markov Process (MP) 馬爾科夫過程

一個馬爾科夫過程是一個元組<S,P>,其中S表示一個有限的狀態集合,P表示一個狀態轉移矩陣。
比如:下圖矩陣P中的P1n表示,t時刻狀態為n的情況下,t+1時刻轉移到狀態1的概率。矩陣P中的第一行表示從狀態1轉移出去的概率,最后一行表示從狀態n轉移出去的概率,所以矩陣中每一行的和都是1。
在這里插入圖片描述
這是Markov過程的一個例子:
在這里插入圖片描述
在這個例子中,假設初始狀態為C1(即class1),進行4次采樣,可以得到4個采樣結果:
在這里插入圖片描述

1.2.2 Markov Reward Process (MRP) 馬爾科夫回報過程

馬爾科夫回報過程也是一個元組 < S , P , R , γ > <S,P,R,\gamma> <S,P,R,γ>,相比于馬爾科夫過程MP,MRP多了 R R R γ \gamma γ。其中, R R R表示在給定狀態 s s s的情況下,未來回報的期望。 γ \gamma γ則是折扣因子。

在這里插入圖片描述
那么,該怎么計算回報呢?假設當前時間為 t t t,要計算從時間 t t t開始獲得的獎勵 G t G_t Gt?。最直接的方法是計算 G t = R t + 1 + R t + 2 + R t + 3 . . . . . . G_t=R_{t+1}+R_{t+2}+R_{t+3}...... Gt?=Rt+1?+Rt+2?+Rt+3?......,但是這樣計算是不好的。
第一,如果這么算,就認為未來的獎勵和當前的獎勵同等重要,這在許多現實問題中并不合理。例如,在金融和經濟領域,時間越長的不確定性越高,因此更傾向于重視當前的收益。
第二,在無限時間步長的過程中,累積獎勵的和可能是發散的,這會導致價值函數無法計算和優化。
所以,引入了折扣因子 γ \gamma γ。獎勵計算方法如下圖公式所示。 γ \gamma γ趨向于0時,表示更注重當前獎勵, γ \gamma γ趨向于1時,表示更具有遠見。
在這里插入圖片描述
下面是一個MRP的計算實例。首先進行采樣得到幾個觀測序列。然后套上面的公式得到觀測序列的回報,初始狀態為 C 1 C1 C1 γ \gamma γ取值為1/2(每一個動作對應的回報值在下一張圖片上有)。
在這里插入圖片描述
在MRP中還有一個要提的概念是估值函數(value function),它表示以狀態s為起始,所有回報的平均。就像下圖中所畫的一樣,假設從狀態c1起始進行采樣,得到多個觀測序列,每一個觀測序列都有對應被采樣到的概率 P t P_t Pt?,以及獲得的回報 G t G_t Gt?。將 P t ? G t P_t*G_t Pt??Gt?再求和就是估值函數v(s)。
所以,當MRP確定的時候,v(s)就是確定的值。
在這里插入圖片描述

那么v(s)該如何計算呢?
Bellman方程將這個估值函數表示為即時獎勵和后續狀態價值的和,其公式如下圖所示。
在這里插入圖片描述
然后可以通過解方程解求出v(s),如下圖所示。下圖中的 R R R g a m m a gamma gamma P P P都是MRP中的已知量,只有v(1)~v(n)是未知量。也就是說,當 MRP(環境參數)已知時,理論上通過求解 Bellman 方程式可以計算 v(s)。
在這里插入圖片描述

1.2.3 Markov Decision Process (MDP) 馬爾科夫決策過程

MDP的定義:相比于MRP,MDP多了一個有限的動作集A。可以理解為:MDP 是一個多層的 MRP,每一層對應一個行動 a。
在這里插入圖片描述
那么給定一個狀態s,我們該選擇怎樣的行動a呢?這就要提到策略 π π π(policy π π π)了,策略 π π π表示在狀態s情況下,跳轉到動作a的概率。
在這里插入圖片描述
這是一個MDP示意圖。圖中每一層代表了一個MRP,也隱含了一個動作a。選擇a的過程其實就是在不同層之間跳轉。
在這里插入圖片描述
通過推導可以得出下面兩個結論:
(1)MDP by a policy is a MP
這意味著,一旦我們固定了策略 𝜋,在任意狀態 𝑠下采取動作 𝑎 的概率就確定了,這樣原來的MDP就變成了一個不再依賴動作選擇的過程,即一個Markov Process (MP)。
在這里插入圖片描述

(2)MDP by a policy is also a MRP
這意味著,在有了策略 𝜋 后,MDP中的獎勵也可以固定下來,即從狀態 𝑠 到狀態 𝑠′ 的轉移的期望獎勵。
在這里插入圖片描述
再補充幾個概念:
(1)state-value function v π ( s ) v_π(s) vπ?(s):從狀態s開始,按照策略 π π π進行決策得到的期望回報
(2)action-value function q π ( s , a ) q_π(s,a) qπ?(s,a):從狀態s開始,采取動作a,按照策略 π π π進行決策得到的期望回報
(3) v π ( s ) v_π(s) vπ?(s) q π ( s , a ) q_π(s,a) qπ?(s,a)的關系如下圖中紅色方框中的公式所示。
在這里插入圖片描述
此時,有了MDP by a policy is a MP、MDP by a policy is also a MRP這兩個結論后,我們可以進一步推導出:
在這里插入圖片描述
從而得到貝爾曼期望方程:
在這里插入圖片描述
Bellman期望方程有啥用呢?
(1)策略評估。用于評估一個給定策略 𝜋 的價值函數 V π ( s ) V^π(s) Vπ(s) Q π ( s , a ) Q^π(s,a) Qπ(s,a)。通過迭代的方法,可以逐步逼近真實的值函數。
(2)策略改進。在策略迭代和值迭代算法中,Bellman期望方程用于評估當前策略,并根據評估結果改進策略,從而逐步找到最優策略。

1.3 強化學習

再回想一下強化學習的目標,在強化學習中,我們的目標是對于給定的狀態S,我們能選一個比較好的動作a,使得回報最大。即:學習一個策略 π π π,讓 v π ( s ) v_π(s) vπ?(s) q π ( s , a ) q_π(s,a) qπ?(s,a)最大。為了達到這個目標,引入了optimal state-value function v π ( s ) v_π(s) vπ?(s)和optimal action-value function q π ( s , a ) q_π(s,a) qπ?(s,a)
在這里插入圖片描述
在此基礎上推導出了貝爾曼最優方程:
在這里插入圖片描述
推導過程詳見這篇博文:貝爾曼最優方程推導,這篇文章寫得挺好的,所以筆者在此就不多贅述啦,大家直接看這篇文章就好!

貝爾曼最優方程定義了最優值函數最優動作值函數。最優值函數表示從狀態 𝑠 出發,按照最優策略所能獲得的最大期望回報。最優動作值函數表示在狀態 𝑠 采取動作 𝑎 后,按照最優策略所能獲得的最大期望回報。
貝爾曼最優方程在強化學習中可以用來定義和求解最優策略,使得在每個狀態下的累積回報最大化。它為我們提供了一種系統的方法,通過動態規劃和迭代更新來逼近最優解,是解決強化學習問題的核心工具。

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

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

相關文章

(五)SvelteKit教程:錯誤頁和重定向

&#xff08;五&#xff09;SvelteKit教程&#xff1a;錯誤頁和重定向 設置404頁面和重定向非常容易&#xff0c;我們還是在 /about 目錄下學習這個知識&#xff0c;文件結構如下&#xff1a; ├── layout.svelte ├── page.svelte ├── about │ └── [aboutID] │…

基于深度學習的人臉關鍵點檢測

1. 任務和目標 人臉關鍵點檢測的主要任務是識別并定位人臉圖像中的特定關鍵點&#xff0c;例如眼睛的角點、眉毛的頂點、鼻子的底端、嘴角等。這些關鍵點不僅能提供面部結構的幾何信息&#xff0c;還可以用于分析表情、識別個體&#xff0c;甚至檢測面部姿勢。 2. 技術和方法…

什么是數據類型,Python 有哪些基本數據類型?

一、什么是數據類型 數據類型是計算機語言中一個基本概念&#xff0c;它定義了變量可以存儲什么樣的數據以及可以對這些數據執行什么樣的操作。在Python中&#xff0c;數據類型決定了變量的存儲方式、內存占用、數據的合法操作和表示方式等。 數據類型的作用包括&#xff1a;…

計算機中的16g加32g不對稱雙通道性能分析

計算機中的16g加32g不對稱雙通道性能分析 16GB加32GB不對稱雙通道配置會對性能產生一定影響&#xff0c;但仍然在穩定兼容的范圍內。 在探討16GB加32GB不對稱雙通道配置的性能影響時&#xff0c;我們首先需要理解雙通道技術的基本原理。雙通道技術通過同時向兩根內存中讀寫數…

數據結構速成--排序算法

由于是速成專題&#xff0c;因此內容不會十分全面&#xff0c;只會涵蓋考試重點&#xff0c;各學校課程要求不同 &#xff0c;大家可以按照考綱復習&#xff0c;不全面的內容&#xff0c;可以看一下小編主頁數據結構初階的內容&#xff0c;找到對應專題詳細學習一下。 這一章…

C語言中常用的運算符、表達式和語句

C語言是一種通用的、高級的編程語言&#xff0c;其歷史可以追溯到20世紀60年代末至70年代初。C語言最初是由丹尼斯里奇&#xff08;Dennis Ritchie&#xff09;在貝爾實驗室為開發UNIX操作系統而設計的。它繼承了許多B語言的特性&#xff0c;而B語言則是由迷糊老師&#xff08;…

安全與加密常識(0)安全與加密概述

文章目錄 一、信息安全的基本概念二、加密技術概述三、常見的安全協議和實踐四、加密的挑戰與應對 在數字時代&#xff0c;信息安全和加密已成為保護個人和企業數據不受侵犯的關鍵技術。本文將探討信息安全的基礎、加密的基本原理&#xff0c;以及實用的保護措施&#xff0c;以…

RAG一文讀懂!概念、場景、優勢、對比微調與項目代碼示例

本文結合“基于 ERNIE SDKLangChain 搭建個人知識庫”的代碼示例&#xff0c;為您講解 RAG 的相關概念。 01 概念 在2020年 Facebook AI Research(FAIR)團隊發表一篇名為《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》的論文。這篇論文首次提出了 RA…

Java應用cpu過高如何分析

1. 查看進程cpu使用情況 top 2. 根據PID查看指定進程的各線程的cpu使用情況 top -H -p PID 線程分析&#xff1a; jstack&#xff1a;生成Java線程堆棧&#xff0c;用于分析是否有線程處于忙等待狀態或死循環。命令&#xff1a; shell jstack -l <pid> > threaddu…

機器人控制系列教程之關節空間運動控制器搭建(1)

機器人位置控制類型 機器人位置控制分為兩種類型&#xff1a; 關節空間運動控制—在這種情況下&#xff0c;機器人的位置輸入被指定為一組關節角度或位置的向量&#xff0c;這被稱為機器人的關節配置&#xff0c;記作q。控制器跟蹤一個參考配置&#xff0c;記作 q r e f q_{re…

免費翻譯API及使用指南——百度、騰訊

目錄 一、百度翻譯API 二、騰訊翻譯API 一、百度翻譯API 百度翻譯API接口免費翻譯額度&#xff1a;標準版&#xff08;5萬字符免費/每月&#xff09;、高級版&#xff08;100萬字符免費/每月-需個人認證&#xff0c;基本都能通過&#xff09;、尊享版&#xff08;200萬字符免…

學習陽明心學,需要下真功夫,持續用功

陽明心學是功夫之學&#xff0c;看到善的就發揚光大&#xff0c;看到惡的就立即改正&#xff0c;這才是真功夫

Java基礎(五)——ArrayList

個人簡介 &#x1f440;個人主頁&#xff1a; 前端雜貨鋪 ?開源項目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;?♂?學習方向&#xff1a; 主攻前端方向&#xff0c;正逐漸往全干發展 &#x1…

激光SLAM平面點的提取、使用學習

1.20240625 學習了PaGO-LOAM 論文地址&#xff1a; PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry github地址&#xff1a; GitHub - url-kaist/AlterGround-LeGO-LOAM: The page for PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry 其提取地面點方法采用了Pat…

centos7 xtrabackup mysql 基本測試(5)mysql 建立 測試 數據庫及內容

centos7 xtrabackup mysql 基本測試&#xff08;5&#xff09;mysql 建立 測試 數據庫及內容 登錄 mysql -u etc -p 1234aA~1創建數據庫 名字是company show databases ; create database company;在 company里面 創建表employee use company; DROP TABLE IF EXISTS employ…

linux中的各種指令

按文件的大小進行查找 find / usr -size 100M 在home路徑下創建txt文件 touch test.txt 查看test.txt文件中的內容&#xff1a; cat test.txt通過指令pwd可以查看當前所處路徑。 切換超級用戶的指令&#xff1a; su - root 離開時可以使用指令&#xff1a;exit grep指…

SPSS相關軟件安裝

Amos安裝添加鏈接描述 SPSS process插件安裝添加鏈接描述

20240629在飛凌開發板OK3588-C上使用Rockchip原廠的SDK跑通I2C擴展GPIO芯片TCA6424ARGJRR

20240629在飛凌開發板OK3588-C上使用Rockchip原廠的SDK跑通I2C擴展GPIO芯片TCA6424ARGJRR 2024/6/29 18:02 1、替換DTS了&#xff1a; Z:\repo_RK3588_Buildroot20240508\kernel\arch\arm64\boot\dts\rockchip viewproviewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot2024…

【OCPP】ocpp1.6協議第4.10章節StopTransaction的介紹及翻譯

目錄 4.10、停止交易StopTransaction-概述 Stop Transaction StopTransaction.req 請求消息 StopTransaction.conf 確認消息 交易管理流程 應用場景 總結 4.10、停止交易StopTransaction-原文譯文 4.10、停止交易StopTransaction-概述 在OCPP 1.6協議中的第4.10章“Stop Transa…

網易云音樂數據爬取與可視化分析系統

摘要 本系統采用Python語言&#xff0c;基于網易云音樂&#xff0c;通過數據挖掘技術對該平臺的音樂數據進行了深入的研究和分析&#xff0c;旨在挖掘出音樂市場的規律&#xff0c;為音樂人、唱片公司、音樂愛好者等提供數據支持。系統的開發意義在于&#xff1a;一方面為音樂…