自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于時(shí)態(tài)差分法的強(qiáng)化學(xué)習(xí):Sarsa和Q-learning

人工智能 機(jī)器學(xué)習(xí)
時(shí)態(tài)差分法(Temporal Difference, TD)是一類在強(qiáng)化學(xué)習(xí)中廣泛應(yīng)用的算法,用于學(xué)習(xí)價(jià)值函數(shù)或策略。Sarsa和Q-learning都是基于時(shí)態(tài)差分法的重要算法,用于解決馬爾可夫決策過程(Markov Decision Process, MDP)中的強(qiáng)化學(xué)習(xí)問題。

時(shí)態(tài)差分法(Temporal Difference,  TD)是一類在強(qiáng)化學(xué)習(xí)中廣泛應(yīng)用的算法,用于學(xué)習(xí)價(jià)值函數(shù)或策略。Sarsa和Q-learning都是基于時(shí)態(tài)差分法的重要算法,用于解決馬爾可夫決策過程(Markov Decision Process, MDP)中的強(qiáng)化學(xué)習(xí)問題。

下面是最簡單的TD方法更新:

它只使用當(dāng)前行動(dòng)之后的獎(jiǎng)勵(lì)值和下一個(gè)狀態(tài)的值作為目標(biāo)。Sarsa(State-Action-Reward-State-Action)和Q-learning是都是基于時(shí)態(tài)差分法的強(qiáng)化學(xué)習(xí)方法。

Sarsa和Q-learning的區(qū)別

Sarsa代表State-Action-Reward-State-Action。是一種基于策略的方法,即使用正在學(xué)習(xí)的策略來生成訓(xùn)練數(shù)據(jù)。Q-learning是一種非策略方法它使用不同的策略為正在學(xué)習(xí)的值函數(shù)的策略生成訓(xùn)練數(shù)據(jù)。

Sarsa的更新規(guī)則如下:

其中:

  • Q(s, a) 是在狀態(tài)s下采取動(dòng)作a的值函數(shù)估計(jì)。
  • α 是學(xué)習(xí)率,控制每次更新的步長大小。
  • r 是在狀態(tài)s下采取動(dòng)作a后獲得的即時(shí)獎(jiǎng)勵(lì)。
  • γ 是折扣因子,表示未來獎(jiǎng)勵(lì)的折現(xiàn)率。
  • s' 是在執(zhí)行動(dòng)作a后得到的新狀態(tài)。
  • a' 是在新狀態(tài)s'下選擇的下一個(gè)動(dòng)作。

Q-learning是另一種基于時(shí)態(tài)差分法的增強(qiáng)學(xué)習(xí)算法,用于學(xué)習(xí)一個(gè)值函數(shù),表示在狀態(tài)s下采取最優(yōu)動(dòng)作得到的期望累積獎(jiǎng)勵(lì)。Q-learning的更新規(guī)則如下:

其中:max(Q(s', a')) 表示在新狀態(tài)s'下選擇下一個(gè)動(dòng)作a'時(shí)的最大值函數(shù)估計(jì)。

從上面的更新可以看出這兩個(gè)方法非常相似,主要區(qū)別在于它們的更新策略。在Sarsa中,更新策略考慮了在新狀態(tài)下采取的下一個(gè)動(dòng)作,而在Q-learning中,更新策略總是選擇了新狀態(tài)下使值函數(shù)最大化的動(dòng)作。因此,Sarsa更傾向于跟隨當(dāng)前策略進(jìn)行學(xué)習(xí),而Q-learning更傾向于學(xué)習(xí)最優(yōu)策略。

cliff walking環(huán)境下的表現(xiàn)

這是RL書中描述的一個(gè)簡單環(huán)境,如下面的截圖所示。

  • 事件開始于狀態(tài)S,我們的代理開始于這種狀態(tài)
  • 一個(gè)事件在狀態(tài)G結(jié)束,也就是這是終態(tài)。
  • 在S和G之間的最下面一行的狀態(tài)是懸崖狀態(tài)
  • 從懸崖狀態(tài)以外的任何狀態(tài)轉(zhuǎn)換的獎(jiǎng)勵(lì)為-1,并且代理會(huì)移動(dòng)到鄰近的狀態(tài)
  • 懸崖狀的獎(jiǎng)勵(lì)為-100,并且代理移動(dòng)到開始狀態(tài)S,也就是說結(jié)束了
  • 當(dāng)代理到達(dá)終端狀態(tài)G,走了100步或者最終處于懸崖狀態(tài)時(shí),就代表結(jié)束了
  • 圖中藍(lán)色路徑是安全的,但不是最優(yōu)的,因?yàn)樗枰芏嗖讲拍艿竭_(dá)目標(biāo)狀態(tài)
  • 紅色路徑是最優(yōu)的,但它是非常危險(xiǎn)的,因?yàn)榇砜赡軙?huì)發(fā)現(xiàn)自己在懸崖邊緣

從環(huán)境的描述來看,代理的目標(biāo)是最大化累積獎(jiǎng)勵(lì),即采取盡可能少的步數(shù),因?yàn)槊恳徊降闹禐?1。最優(yōu)路徑是懸崖上方的那條,因?yàn)樗恍枰?3步,值為-13。我使用上面的2td(0)方法來確定它們是否在上面以獲得最優(yōu)路徑。

實(shí)驗(yàn)環(huán)境如下:

在訓(xùn)練中使用以下超參數(shù):

  • episodes:2000
  • discounting factor:1
  • Alpha: 0.1,這是學(xué)習(xí)率
  • Epsilon: 0.1, 選擇具有相同概率的所有動(dòng)作的概率,用于ε貪婪算法

結(jié)果:

Sarsa和Q-learning在收斂的時(shí)間上大致相同,但Q-learning能夠?qū)W習(xí)13個(gè)步驟的最優(yōu)路徑。Sarsa無法學(xué)習(xí)最優(yōu)路徑,它會(huì)選擇避開懸崖。這是因?yàn)樗母潞瘮?shù)是使用貪婪的方式來獲取下一個(gè)狀態(tài)-動(dòng)作值,因此懸崖上方的狀態(tài)值較低。

Q-learning在更新中使用了下一個(gè)狀態(tài)動(dòng)作值的最大值,因此它能夠小心地沿著邊緣移動(dòng)到目標(biāo)狀態(tài)G。下圖顯示了每個(gè)訓(xùn)練論測的學(xué)習(xí)步驟數(shù)量。為了使圖表更加平滑,這里將步驟數(shù)按20個(gè)一組取平均值。我們可以清楚地看到,Q-learning能夠找到最優(yōu)路徑。

圖片

下圖顯示了2種算法的在線性能*這些值再次以20組為單位進(jìn)行平均)。我們可以看到,Sarsa的性能比Q-learning更好。這是因?yàn)殡S著Q-learning學(xué)習(xí)獲得最優(yōu)路徑,偶爾會(huì)發(fā)現(xiàn)自己陷入絕境,因?yàn)橐碌臓顟B(tài)動(dòng)作對的生成遵循了貪婪算法。而Sarsa學(xué)會(huì)了避開靠近懸崖的狀態(tài),從而減少了靠近懸崖的機(jī)會(huì)。

圖片

總結(jié)

這個(gè)簡單的例子說明了Sarsa和Q-learning之間的比較,我們總結(jié)兩個(gè)算法的區(qū)別:

Sarsa和Q-learning都是基于時(shí)態(tài)差分法的強(qiáng)化學(xué)習(xí)算法,它們在解決馬爾可夫決策過程(MDP)中的強(qiáng)化學(xué)習(xí)問題時(shí)有一些重要的區(qū)別。

1.更新策略:

  • Sarsa:在Sarsa中,更新策略是"狀態(tài)-動(dòng)作-獎(jiǎng)勵(lì)-下一個(gè)狀態(tài)-下一個(gè)動(dòng)作",即更新后的動(dòng)作與下一個(gè)狀態(tài)相關(guān)。這意味著Sarsa在更新值函數(shù)時(shí)會(huì)考慮在新狀態(tài)下采取的下一個(gè)動(dòng)作,因此其學(xué)習(xí)過程更加穩(wěn)定,可以學(xué)習(xí)到策略的各種特征。
  • Q-learning:Q-learning的更新策略是"狀態(tài)-動(dòng)作-獎(jiǎng)勵(lì)-最大值動(dòng)作",即更新后的動(dòng)作是在新狀態(tài)下具有最大值函數(shù)估計(jì)的動(dòng)作。這使得Q-learning更加傾向于學(xué)習(xí)最優(yōu)策略,但也可能導(dǎo)致其學(xué)習(xí)過程不穩(wěn)定,容易受到噪聲干擾。

2.學(xué)習(xí)方式:

  • Sarsa:由于Sarsa在更新時(shí)會(huì)考慮在新狀態(tài)下執(zhí)行的下一個(gè)動(dòng)作,它更適合于在線學(xué)習(xí)和與環(huán)境進(jìn)行交互時(shí)的應(yīng)用。Sarsa在實(shí)際應(yīng)用中可能更加穩(wěn)定,但也可能會(huì)收斂較慢。
  • Q-learning:Q-learning更傾向于學(xué)習(xí)最優(yōu)策略,但由于其更新策略不考慮實(shí)際執(zhí)行的下一個(gè)動(dòng)作,可能在一些情況下收斂更快,但也更容易受到噪聲的影響。

3.探索策略:

  • Sarsa:由于Sarsa考慮了在新狀態(tài)下執(zhí)行的下一個(gè)動(dòng)作,它在學(xué)習(xí)過程中傾向于跟隨當(dāng)前策略進(jìn)行探索,可能更適合于需要較多探索的任務(wù)。
  • Q-learning:Q-learning在更新時(shí)不受當(dāng)前策略的影響,更容易在學(xué)習(xí)過程中進(jìn)行探索。然而,這種無關(guān)探索策略可能導(dǎo)致Q-learning在某些情況下過度探索,陷入不收斂的狀態(tài)。

4.應(yīng)用場景:

  • Sarsa:適用于需要穩(wěn)定學(xué)習(xí)過程、重視探索的任務(wù),或者在與環(huán)境進(jìn)行交互時(shí)進(jìn)行在線學(xué)習(xí)的情況。
  • Q-learning:適用于傾向于學(xué)習(xí)最優(yōu)策略的任務(wù),或者在需要快速收斂時(shí)的情況。

這兩種算法只是強(qiáng)化學(xué)習(xí)領(lǐng)域眾多算法中的兩種,還有其他更高級的算法如Deep Q Network (DQN)、Actor-Critic等,可以根據(jù)問題的復(fù)雜度和要求選擇適當(dāng)?shù)乃惴ā?/p>

最后如果你想自行進(jìn)行試驗(yàn),這里是本文兩個(gè)試驗(yàn)的源代碼:

https://github.com/mirqwa/reinforcement-leaning

責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2018-04-21 06:41:39

Q-learning算法函數(shù)

2023-10-31 16:40:39

機(jī)器學(xué)習(xí)強(qiáng)化學(xué)習(xí)

2017-08-22 15:56:49

神經(jīng)網(wǎng)絡(luò)強(qiáng)化學(xué)習(xí)DQN

2023-07-20 15:18:42

2022-05-31 10:45:01

深度學(xué)習(xí)防御

2024-01-26 08:31:49

2017-07-14 16:24:48

TensorFlow框架開發(fā)

2017-04-04 19:52:24

強(qiáng)化學(xué)習(xí)深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2022-03-25 10:35:20

機(jī)器學(xué)習(xí)深度學(xué)習(xí)強(qiáng)化學(xué)習(xí)

2023-03-09 08:00:00

強(qiáng)化學(xué)習(xí)機(jī)器學(xué)習(xí)圍棋

2020-08-10 06:36:21

強(qiáng)化學(xué)習(xí)代碼深度學(xué)習(xí)

2023-03-23 16:30:53

PyTorchDDPG算法

2020-11-12 19:31:41

強(qiáng)化學(xué)習(xí)人工智能機(jī)器學(xué)習(xí)

2021-09-17 15:54:41

深度學(xué)習(xí)機(jī)器學(xué)習(xí)人工智能

2022-11-02 14:02:02

強(qiáng)化學(xué)習(xí)訓(xùn)練

2023-11-07 07:13:31

推薦系統(tǒng)多任務(wù)學(xué)習(xí)

2020-06-05 08:09:01

Python強(qiáng)化學(xué)習(xí)框架

2025-04-08 09:50:00

2024-12-09 08:45:00

模型AI

2023-08-05 13:08:54

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)