日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RL关键概念

發布時間:2024/1/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RL关键概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文內容摘錄自OpenAI的深度強化學習資源Spinning Up,進入網址。

智能體與環境

強化學習(RL)主要包括智能體(agent)和環境(environment)兩部分。在智能體與環境交互的每一步,智能體獲取(或部分獲取)環境狀態的一個觀測(observation),并采取一個動作(action)。環境會在智能體作用于它的時候發生變化(或者自己變化)。

智能體會從環境中獲得獎勵(reward),獎勵代表了當前環境狀態的好壞。智能體的目標是最大化累計獎勵,即回報(return)。強化學習算法就是訓練智能體實現這個目標的方法。

狀態和觀測

狀態(state)是環境狀態的一個完整描述,而觀測(observation)是狀態的一個部分描述(可能忽略了某些信息)。
比如,在視頻游戲任務中,狀態可以是圖像的像素值矩陣;在機器人控制中,狀態可以是機械臂的角度、速度等。

環境可以分為fully observedpartially observed

  • fully observed:智能體可以獲取環境的完整信息
  • partially observed:智能體只能獲取環境的部分信息

動作空間

動作空間(action space)是智能體可以執行的動作的集合,通常分為:

  • 離散動作空間
  • 連續動作空間

策略

策略(policy)是一個規則,智能體依據策略來決定采取什么動作。由于策略是智能體的核心,所以常把“策略”與“智能體“混用。

策略可以是確定性的:
a t = μ ( s t ) a_t = \mu(s_t) at?=μ(st?)

μ \mu μ是一個確定的函數。也可以是隨機的:
a t ~ π ( ? ∣ s t ) a_t \sim \pi(\cdot | s_t) at?π(?st?)

π \pi π是一個概率分布。

在深度RL中,我們討論是參數化的策略,即策略是根據一系列參數(比如神經網絡的權重與偏置)計算出來的,因此策略可以寫作:
a t = μ θ ( s t ) a_t = \mu_{\theta}(s_t) at?=μθ?(st?)

a t ~ π θ ( ? ∣ s t ) a_t \sim \pi_{\theta}(\cdot | s_t) at?πθ?(?st?)

1. 確定性策略

例子:假設狀態空間是連續的,我們將observation作為神經網絡的輸入,將神經網絡的輸出作為確定性的動作。

2. 隨機策略

深度RL中最常見的兩種隨機策略:分類策略對角高斯策略。前者用于離散動作空間,后者用于連續動作空間。

訓練與使用隨機策略的過程中的涉及到兩個關鍵計算:

  • 從策略中抽樣動作
  • 計算動作的對數似然度 log ? π θ ( a ∣ s ) \log \pi_{\theta}(a|s) logπθ?(as)
    (概率 π θ ( a ∣ s ) \pi_{\theta}(a|s) πθ?(as)是大于0的,而 log ? π θ ( a ∣ s ) \log \pi_{\theta}(a|s) logπθ?(as)的取值范圍是 ( ? ∞ , + ∞ ) (-\infty, +\infty) (?,+),采用對數可以方便神經網絡的訓練,使我們不用關注“概率>0”這個約束)

(1)分類策略

分類策略用于離散動作空間。訓練一個分類策略就類似于訓練一個分類器:將observation輸入到神經網絡,最后一層給出每個可選動作的logit,經過softmax得到每個采取動作的概率

(2)對角高斯策略

對角高斯策略用于連續狀態空間。先解釋下對角高斯分布:
多變量高斯分布由均值向量和協方差矩陣表示。對角高斯分布的協方差矩陣只在對角線取值不為0,從而可以用一個向量表示。這里的變量個數是動作的維度,對角意味著動作之間相互獨立。

在對角高斯策略中,使用一個神經網絡輸出動作的均值向量 μ θ ( s ) \mu_{\theta}(s) μθ?(s),對于協方差矩陣(方差向量)有兩種生成方法:

  • 方法一:使用一個與狀態無關的標準差向量 log ? σ \log \sigma logσ

  • 方法二:使用一個神經網絡將狀態映射到標準差向量 log ? σ θ ( s ) \log \sigma_{\theta}(s) logσθ?(s)

    :這里使用log也是和上面一個道理。

有了均值和標準差,可以使用下式來生成動作:
a = μ θ ( s ) + σ θ ( s ) ⊙ z a = \mu_{\theta}(s) + \sigma_{\theta}(s) \odot z a=μθ?(s)+σθ?(s)z

其中, ⊙ \odot 表示元素對應相乘,z是噪聲向量( z ~ N ( 0 , I ) z \sim \mathcal{N}(0, I) zN(0,I))。

軌跡

軌跡(trajectory )是狀態與動作的一個序列,也叫episoderollout
τ = ( s 0 , a 0 , s 1 , a 1 , . . . ) \tau = (s_0, a_0, s_1, a_1, ...) τ=(s0?,a0?,s1?,a1?,...)

初始狀態服從某個分布: s 0 ~ ρ 0 ( ? ) s_0 \sim \rho_0(\cdot) s0?ρ0?(?)

狀態之間的轉移只與最近的動作有關(馬爾科夫性)。可以是確定性的:

s t + 1 = f ( s t , a t ) s_{t+1} = f(s_t, a_t) st+1?=f(st?,at?)

也可以是隨機的:

s t + 1 ~ P ( ? ∣ s t , a t ) s_{t+1} \sim P(\cdot|s_t, a_t) st+1?P(?st?,at?)

獎勵與回報

獎勵(reward)可以寫作 r t = R ( s t , a t , s t + 1 ) r_t = R(s_t, a_t, s_{t+1}) rt?=R(st?,at?,st+1?) ,也可以簡化為: r t = R ( s t ) r_t = R(s_t) rt?=R(st?) r t = R ( s t , a t ) r_t = R(s_t,a_t) rt?=R(st?,at?)

智能體的目標是最大化一個軌跡中的累積獎勵,即回報(return)?;貓笸ǔS袃煞N形式:

  • 有限無折扣回報:
    R ( τ ) = ∑ t = 0 T r t R(\tau) = \sum_{t=0}^T r_t R(τ)=t=0T?rt?

  • 無限折扣回報:
    R ( τ ) = ∑ t = 0 ∞ γ t r t R(\tau) = \sum_{t=0}^{\infty} \gamma^t r_t R(τ)=t=0?γtrt?

    γ ∈ ( 0 , 1 ) \gamma \in (0,1) γ(0,1)是折扣因子。折扣化有兩方面原因:(1)直觀上,未來充滿不確定性,因此對未來獎勵的重視程度較低;(2)數學上,引入折扣因子能夠保證收斂(在一定條件下)。

RL問題

RL的目標就是選擇一個能夠最大化期望回報的策略。

假設環境的轉移和策略都是隨機的,則一個T步長的軌跡的概率為: P ( τ ∣ π ) = ρ 0 ( s 0 ) ∏ t = 0 T ? 1 P ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) P(\tau|\pi) = \rho_0 (s_0) \prod_{t=0}^{T-1} P(s_{t+1} | s_t, a_t) \pi(a_t | s_t) P(τπ)=ρ0?(s0?)t=0T?1?P(st+1?st?,at?)π(at?st?)

期望回報為:
J ( π ) = ∫ τ P ( τ ∣ π ) R ( τ ) = E τ ~ π [ R ( τ ) ] J(\pi) = \int_{\tau} P(\tau|\pi) R(\tau) = E_{\tau\sim \pi}[{R(\tau)}] J(π)=τ?P(τπ)R(τ)=Eτπ?[R(τ)]

則RL優化問題可以寫作:
π ? = arg ? max ? π J ( π ) \pi^* = \arg \max_{\pi} J(\pi) π?=argπmax?J(π)

π ? \pi^* π?最優策略。

價值函數

價值是指從一個狀態或者一個狀態-動作對出發,遵循某個策略所得到的期望回報。它有四種形式:

  • On-Policy Value Function,從狀態 s s s出發,遵循策略 π \pi π所得到的期望回報:
    V π ( s ) = E τ ~ π [ R ( τ ) ∣ s 0 = s ] V^{\pi}(s) = E_{\tau \sim \pi}[{R(\tau)\left| s_0 = s\right.]} Vπ(s)=Eτπ?[R(τ)s0?=s]

  • On-Policy Action-Value Function, 從狀態 s s s出發,采取任意動作 a a a,此后遵循策略 π \pi π所得到的期望回報,常稱為Q函數
    Q π ( s , a ) = E τ ~ π [ R ( τ ) ∣ s 0 = s , a 0 = a ] Q^{\pi}(s,a) = E_{\tau \sim \pi}[{R(\tau)\left| s_0 = s, a_0 = a\right.]} Qπ(s,a)=Eτπ?[R(τ)s0?=s,a0?=a]

  • Optimal Value Function,從狀態 s s s出發,遵循最優策略所得到的期望回報:
    V ? ( s ) = max ? π E τ ~ π [ R ( τ ) ∣ s 0 = s ] V^*(s) = \max_{\pi} E_{\tau \sim \pi}[{R(\tau)\left| s_0 = s\right.}] V?(s)=πmax?Eτπ?[R(τ)s0?=s]

  • Optimal Action-Value Function,從狀態 s s s出發,采取任意動作 a a a,此后遵循最優策略所得到的期望回報:

Q ? ( s , a ) = max ? π E τ ~ π [ R ( τ ) ∣ s 0 = s , a 0 = a ] Q^*(s,a) = \max_{\pi}E_{\tau \sim \pi}[{R(\tau)\left| s_0 = s, a_0 = a\right.}] Q?(s,a)=πmax?Eτπ?[R(τ)s0?=s,a0?=a]

兩個重要關系:
V π ( s ) = E a ~ π [ Q π ( s , a ) ] V^{\pi}(s) = E_{a\sim \pi}[{Q^{\pi}(s,a)}] Vπ(s)=Eaπ?[Qπ(s,a)]

V ? ( s ) = max ? a Q ? ( s , a ) V^*(s) = \max_a Q^* (s,a) V?(s)=amax?Q?(s,a)

都可以由定義推導出來。

最優Q函數與最優動作

我們在狀態 s s s下,要采取的最優動作滿足:
a ? ( s ) = arg ? max ? a Q ? ( s , a ) a^*(s) = \arg \max_a Q^* (s,a) a?(s)=argamax?Q?(s,a)

貝爾曼方程

上述四個價值函數都遵循特定的自洽方程,稱為貝爾曼方程。

貝爾曼方程的基本思想是:起始點處的 value 等于你在那個點可以獲得的 reward 加上接下來可能處于的位置的value。

V π ( s ) = E a ~ π , s ′ ~ P [ r ( s , a ) + γ V π ( s ′ ) ] V^{\pi}(s) = E_{a \sim \pi, s'\sim P}[{r(s,a) + \gamma V^{\pi}(s')}] Vπ(s)=Eaπ,sP?[r(s,a)+γVπ(s)]

Q π ( s , a ) = E s ′ ~ P [ r ( s , a ) + γ E a ′ ~ π [ Q π ( s ′ , a ′ ) ] Q^{\pi}(s,a) = E_{s'\sim P}[{r(s,a) + \gamma E_{a'\sim \pi}[{Q^{\pi}(s',a')}}] Qπ(s,a)=EsP?[r(s,a)+γEaπ?[Qπ(s,a)]

V ? ( s ) = max ? a E s ′ ~ P [ r ( s , a ) + γ V ? ( s ′ ) ] V^*(s) = \max_a E_{s'\sim P}[{r(s,a) + \gamma V^*(s')}] V?(s)=amax?EsP?[r(s,a)+γV?(s)]

Q ? ( s , a ) = E s ′ ~ P [ r ( s , a ) + γ max ? a ′ Q ? ( s ′ , a ′ ) ] Q^*(s,a) = E_{s'\sim P}[{r(s,a) + \gamma \max_{a'} Q^*(s',a')}] Q?(s,a)=EsP?[r(s,a)+γamax?Q?(s,a)]

優勢函數

有時候我們不需要知道一個動作的絕對好壞,只需要知道它比其他動作平均好多少。這個概念用優勢(advantage)函數表示:
A π ( s , a ) = Q π ( s , a ) ? V π ( s ) A^{\pi}(s,a) = Q^{\pi}(s,a) - V^{\pi}(s) Aπ(s,a)=Qπ(s,a)?Vπ(s)

形式化描述

環境的形式化描述是馬爾科夫決策過程(MDP),用五元組 ? S , A , R , P , ρ 0 ? \langle S, A, R, P, \rho_0 \rangle ?S,A,R,P,ρ0??表示,其中,

  • S S S是狀態集合
  • A A A是動作集合
  • R : S × A × S → R R: S \times A \times S \to \mathbb{R} R:S×A×SR是獎勵函數
  • P : S × A → P ( S ) P : S \times A \to \mathcal{P}(S) P:S×AP(S)是轉移概率函數
  • ρ 0 \rho_0 ρ0?是初始狀態分布

總結

以上是生活随笔為你收集整理的RL关键概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。