最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

OpenAI Gym學(xué)習(xí)(三):Mujoco訓(xùn)練REINFORCE(一種早期的策略梯度方法)

2023-08-07 23:53 作者:LSC2049  | 我要投稿

MuJoCo是一個(gè)免費(fèi)開源的物理引擎,旨在促進(jìn)機(jī)器人、生物力學(xué)、圖形和動(dòng)畫以及其他需要快速準(zhǔn)確模擬的領(lǐng)域的研究和開發(fā)。

MuJoCo提供了速度、精度和建模能力的獨(dú)特組合,但它不僅僅是一個(gè)更好的模擬器。相反,它是第一個(gè)從頭開始設(shè)計(jì)的全功能模擬器,用于基于模型的優(yōu)化,特別是通過接觸進(jìn)行優(yōu)化。

MuJoCo使優(yōu)化控制、物理一致狀態(tài)估計(jì)、系統(tǒng)識(shí)別和自動(dòng)機(jī)構(gòu)設(shè)計(jì)等計(jì)算密集型技術(shù)得以擴(kuò)展,并將其應(yīng)用于具有豐富接觸行為的復(fù)雜動(dòng)力系統(tǒng)。它還具有更傳統(tǒng)的應(yīng)用,如在物理機(jī)器人上部署之前測(cè)試和驗(yàn)證控制方案、交互式科學(xué)可視化、虛擬環(huán)境、動(dòng)畫和游戲。

本教程有兩個(gè)目的:

1、了解如何從零開始實(shí)現(xiàn)強(qiáng)化學(xué)習(xí)算法以解決Mujoco的倒立式InvertedPendulum-v4

2、利用Gymnasium v0.26+step()函數(shù)實(shí)現(xiàn)深度強(qiáng)化學(xué)習(xí)算法

我們將使用最早的策略梯度方法之一。與先學(xué)習(xí)一個(gè)價(jià)值函數(shù),然后從中推導(dǎo)出一個(gè)策略不同,REINFORCE直接優(yōu)化了策略。換句話說,它被訓(xùn)練為最大化蒙特卡洛回歸的概率。稍后會(huì)詳細(xì)介紹。

Inverted Pendulum倒立擺是Mujoco版本的cartpole,但現(xiàn)在由Mujoco物理模擬器驅(qū)動(dòng),該模擬器可以進(jìn)行更復(fù)雜的實(shí)驗(yàn)(例如改變重力的影響)。這種環(huán)境包括一個(gè)可以線性移動(dòng)的推車(Cart),一端固定一根桿子,另一端自由。推車(Cart)可以向左或向右推動(dòng),目的是通過在推車上施加力來平衡推車頂部的桿子。有關(guān)環(huán)境的更多信息,請(qǐng)?jiān)L問https://gymnasium.farama.org/environments/mujoco/inverted_pendulum/

Training Objectives:平衡推車頂部的桿(倒立擺)

Action:agent采用1D矢量進(jìn)行動(dòng)作。動(dòng)作空間是[-3,3]中的連續(xù)(動(dòng)作),其中動(dòng)作表示施加到推車上的數(shù)值力(大小表示力的大小,符號(hào)表示方向)

Approach,方法:我們使用PyTorch從頭開始對(duì)REINFORCE進(jìn)行編碼,以訓(xùn)練掌握倒立擺的神經(jīng)網(wǎng)絡(luò)策略。

Gymnasium v0.26+Env.step()函數(shù)的一個(gè)解釋

step(A)允許我們?cè)诋?dāng)前環(huán)境“env”中執(zhí)行操作“A”。然后,環(huán)境執(zhí)行該操作并返回五個(gè)變量:

  • next_obs: 這是代理在執(zhí)行操作后將收到的觀察結(jié)果。

  • reward: 這是代理在執(zhí)行操作后將收到的觀察結(jié)果。

  • terminated: 這是一個(gè)布爾變量,指示環(huán)境是否已終止

  • truncated: 這是一個(gè)布爾變量,還指示事件是否以提前截?cái)嘟Y(jié)束,即達(dá)到時(shí)間限制。

  • info: 這是一個(gè)字典,可能包含有關(guān)環(huán)境的其他信息。

Policy Network

我們首先建立一個(gè)策略,代理將使用鋼筋學(xué)習(xí)。策略是從當(dāng)前環(huán)境觀察到要采取的行動(dòng)的概率分布的映射。教程中使用的策略由神經(jīng)網(wǎng)絡(luò)參數(shù)化。它由兩個(gè)線性層組成,在預(yù)測(cè)平均值和標(biāo)準(zhǔn)差之間共享。此外,使用單個(gè)單獨(dú)的線性層來估計(jì)平均值和標(biāo)準(zhǔn)偏差。Tanh被用作隱藏層之間的非線性算子。以下函數(shù)估計(jì)正態(tài)分布的平均值和標(biāo)準(zhǔn)偏差,從中對(duì)動(dòng)作進(jìn)行采樣。因此,預(yù)計(jì)該政策將根據(jù)當(dāng)前觀察結(jié)果學(xué)習(xí)輸出均值和標(biāo)準(zhǔn)差的適當(dāng)權(quán)重。

Building an agent

既然我們已經(jīng)完成了策略的制定,讓我們開發(fā)增強(qiáng)型,為策略網(wǎng)絡(luò)注入活力。REINFORCE的算法可以在上面找到。如前所述,REINFORCE旨在最大化蒙特卡洛回報(bào)。

有趣的事實(shí):REINFOCE是“RE”ward“I increment”N on negative“F”actor times“O’ffset”R“inforcement times”C“haracteristic”E“igibility”的縮寫

注意:超參數(shù)的選擇是為了訓(xùn)練一個(gè)性能良好的agent。沒有進(jìn)行廣泛的超參數(shù)調(diào)整。

現(xiàn)在讓我們使用REINFORCE來訓(xùn)練策略來掌握倒立擺的任務(wù)。

以下是訓(xùn)練程序的概覽

注意:在許多常見的用例中,Deep RL在隨機(jī)種子方面相當(dāng)脆弱(https://spinningup.openai.com/en/latest/spinningup/spinningup.html)。因此,測(cè)試各種種子是很重要的,我們將要這樣做。

Plot learning curve

Author: Siddarth Chandrasekar

License: MIT License

References

[1] Williams, Ronald J.. “Simple statistical gradient-following algorithms for connectionist reinforcement learning.” Machine Learning 8 (2004): 229-256.

OpenAI Gym學(xué)習(xí)(三):Mujoco訓(xùn)練REINFORCE(一種早期的策略梯度方法)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
葫芦岛市| 赤壁市| 莎车县| 永嘉县| 双辽市| 西和县| 大田县| 昆山市| 若尔盖县| 客服| 宁波市| 黎平县| 秦皇岛市| 绥宁县| 贡山| 闵行区| 寿光市| 宣威市| 乌兰察布市| 边坝县| 准格尔旗| 柳林县| 辽宁省| 阳西县| 乃东县| 获嘉县| 鄄城县| 咸宁市| 凌源市| 西乌珠穆沁旗| 永平县| 临沧市| 都江堰市| 黑水县| 渝北区| 清远市| 五家渠市| 乐平市| 阿荣旗| 汤阴县| 高青县|