国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MindSpore強化學(xué)習(xí):使用PPO配合環(huán)境HalfCheetah-v2進行訓(xùn)練

這篇具有很好參考價值的文章主要介紹了MindSpore強化學(xué)習(xí):使用PPO配合環(huán)境HalfCheetah-v2進行訓(xùn)練。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文分享自華為云社區(qū)《MindSpore強化學(xué)習(xí):使用PPO配合環(huán)境HalfCheetah-v2進行訓(xùn)練》,作者: irrational。

半獵豹(Half Cheetah)是一個基于MuJoCo的強化學(xué)習(xí)環(huán)境,由P. Wawrzyński在“A Cat-Like Robot Real-Time Learning to Run”中提出。這個環(huán)境中的半獵豹是一個由9個鏈接和8個關(guān)節(jié)組成的2D機器人(包括兩個爪子)。在這個環(huán)境中,目標是通過施加扭矩在關(guān)節(jié)上使獵豹盡可能快地向前(向右)奔跑,正向獎勵基于前進的距離,而向后移動則會得到負向獎勵。獵豹的軀干和頭部是固定的,扭矩只能施加在前后大腿、小腿和腳上。

動作空間是一個Box(-1, 1, (6,), float32),其中每個動作代表鏈接之間的扭矩。觀察空間包含獵豹不同身體部位的位置值和速度值,其中所有位置值在前,所有速度值在后。默認情況下,觀察不包括獵豹質(zhì)心x坐標,可以通過在構(gòu)建時傳遞exclude_current_positions_from_observation=False來包括它。如果包括,觀察空間將有18個維度,其中第一個維度代表獵豹質(zhì)心的x坐標。

獎勵分為兩部分:向前獎勵和控制成本。向前獎勵是根據(jù)動作前后x坐標的變化計算的,控制成本是為了懲罰獵豹采取過大動作的成本??偑剟钍窍蚯蔼剟顪p去控制成本。

每個狀態(tài)的開始是在狀態(tài)(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,)上添加噪聲以增加隨機性。前8個值是位置值,最后9個值是速度值。位置值添加均勻噪聲,而初始速度值(全為零)添加標準正態(tài)噪聲。

當(dāng)一個劇集的長度超過1000時,該劇集將被截斷。

該環(huán)境的詳細信息可以參考:https://www.gymlibrary.dev/environments/mujoco/half_cheetah/

這個比很多環(huán)境都要復(fù)雜。

不過沒關(guān)系,我們有ppo算法,這個算法可以跑強化學(xué)習(xí),甚至大語言模型。

PPO(Proximal Policy Optimization)算法是一種用于強化學(xué)習(xí)的策略優(yōu)化方法,它旨在解決傳統(tǒng)策略梯度方法(如TRPO,Trust Region Policy Optimization)中的信任區(qū)域問題

PPO算法通過引入clipping技巧和重要性采樣技巧來減少計算梯度時的方差,從而提高算法的收斂速度和穩(wěn)定性。

在PPO算法中,有兩個關(guān)鍵概念:

  • 策略(Policy):策略是一個函數(shù),它定義了在給定狀態(tài)s時采取動作a的概率分布。
  • 價值函數(shù)(Value Function):價值函數(shù)估計了在給定策略下,從狀態(tài)s出發(fā),到達某個特定狀態(tài)或終端時所能獲得的期望回報。

PPO算法的主要步驟包括:

  • 采樣(Sampling):從當(dāng)前策略中采樣數(shù)據(jù),包括狀態(tài)、動作、獎勵和下一個狀態(tài)。
  • 計算目標(Calculating Targets):使用目標策略計算目標價值函數(shù),并計算目標策略的KL散度。
  • 更新策略(Updating Policy):使用重要性采樣技巧和clipping技巧更新策略。
  • 更新價值函數(shù)(Updating Value Function):使用策略梯度方法更新價值函數(shù)。

PPO算法的核心思想是交替更新策略和價值函數(shù),以實現(xiàn)策略和價值的共同優(yōu)化。這種方法可以有效減少計算梯度時的方差,提高算法的收斂速度和穩(wěn)定性。

以下是PPO算法的一個簡化的Markdown公式:
# Proximal Policy Optimization (PPO) Algorithm
## 1. Sampling
采樣當(dāng)前策略的數(shù)據(jù),包括狀態(tài) $ s $、動作 $ a $、獎勵 $ r $ 和下一個狀態(tài) $ s' $。
## 2. Calculating Targets
使用目標策略計算目標價值函數(shù),并計算目標策略的KL散度。
## 3. Updating Policy
使用重要性采樣技巧和clipping技巧更新策略。
## 4. Updating Value Function
使用策略梯度方法更新價值函數(shù)。
## 重復(fù)步驟1-4,實現(xiàn)策略和價值的共同優(yōu)化。

這個公式是一個簡化的版本,實際上PPO算法還包括了許多其他細節(jié)和技巧,如經(jīng)驗回放、動態(tài)調(diào)整學(xué)習(xí)率等。

import argparse
import os

from mindspore import context
from mindspore import dtype as mstype
from mindspore.communication import get_rank, init

import mindspore_rl.distribution.distribution_policies as DP
from mindspore_rl.algorithm.ppo import config
from mindspore_rl.algorithm.ppo.ppo_session import PPOSession
from mindspore_rl.algorithm.ppo.ppo_trainer import PPOTrainer

parser = argparse.ArgumentParser(description="MindSpore Reinforcement PPO")
parser.add_argument("--episode", type=int, default=650, help="total episode numbers.")
parser.add_argument(
    "--device_target",
    type=str,
    default="Auto",
    choices=["Ascend", "CPU", "GPU", "Auto"],
    help="Choose a device to run the ppo example(Default: Auto).",
)
parser.add_argument(
    "--precision_mode",
    type=str,
    default="fp32",
    choices=["fp32", "fp16"],
    help="Precision mode",
)
parser.add_argument(
    "--env_yaml",
    type=str,
    default="../env_yaml/HalfCheetah-v2.yaml",
    help="Choose an environment yaml to update the ppo example(Default: HalfCheetah-v2.yaml).",
)
parser.add_argument(
    "--algo_yaml",
    type=str,
    default=None,
    help="Choose an algo yaml to update the ppo example(Default: None).",
)
parser.add_argument(
    "--enable_distribute",
    type=bool,
    default=False,
    help="Train in distribute mode (Default: False).",
)
parser.add_argument(
    "--worker_num", type=int, default=2, help="Worker num (Default: 2)."
)
parser.add_argument(
    "--graph_op_run", type=int, default=1, help="Run kernel by kernel (Default: 1)."
)
options, _ = parser.parse_known_args()`
wget https://www.roboti.us/download/mujoco200_linux.zip
mv mujoco200_linux ~/.mujoco/mujoco200
wget https://www.roboti.us/file/mjkey.txt
cp mjkey.txt /home/kewei/.mujoco/mjkey.txt
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/patchelf-0.12-1.el7.x86_64.rpm
yum localinstall patchelf-0.12-1.el7.x86_64.rpm
pip install 'mujoco_py==2.0.2.13'

第一次編譯mujoco會有一點久

在bashrc加入如下內(nèi)容:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco200/bin
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/kewei/.mujoco/mujoco210/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia

然后就可以開啟訓(xùn)練了。使用上一節(jié)的with保留輸入。

# dqn_session.run(class_type=DQNTrainer, episode=episode)
with RealTimeCaptureAndDisplayOutput() as captured_new:
    ppo_session.run(class_type=PPOTrainer, episode=episode, duration=duration)

?文章來源地址http://www.zghlxwxcb.cn/news/detail-861845.html

點擊關(guān)注,第一時間了解華為云新鮮技術(shù)~

?

到了這里,關(guān)于MindSpore強化學(xué)習(xí):使用PPO配合環(huán)境HalfCheetah-v2進行訓(xùn)練的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 深度強化學(xué)習(xí)(DRL)算法 2 —— PPO 之 GAE 篇

    在之前的文章里介紹了 PPO 之 Clipped Surrogate Objective 篇,提出了現(xiàn)有方法存在方差較大的缺點,今天我們介紹一下如何使用 GAE(Generalized Advantage Estimation)進行改進。 上文提到的 Surrogate Objective: R ˉ θ ≈ E τ ~ q θ ′ ( τ ) [ p θ ( a t ∣ s t ) q θ ′ ( a t ∣ s t ) R ( τ ) ] bar{R}

    2024年04月13日
    瀏覽(24)
  • ML-Agents與自己的強化學(xué)習(xí)算法通訊——PPO篇

    在上一篇文章ML-Agents與python的Low Level API通信中,我簡要介紹了Python與Unity端的ML-Agents插件的通訊代碼,如何正確運行一個能夠進行強化學(xué)習(xí)訓(xùn)練的Unity環(huán)境,并獲取到響應(yīng)的信息,接下來將介紹如何利用自己的強化學(xué)習(xí)算法進行訓(xùn)練。 這里我利用了強化學(xué)習(xí)庫PARL來訓(xùn)練ML-Ag

    2023年04月18日
    瀏覽(20)
  • 強化學(xué)習(xí)PPO從理論到代碼詳解(1)--- 策略梯度Policy gradient

    強化學(xué)習(xí)PPO從理論到代碼詳解(1)--- 策略梯度Policy gradient

    Proximal Policy Optimization(PPO) 近端策略優(yōu)化,可以說是目前最穩(wěn)定,最強的強化學(xué)習(xí)算法之一了,也是openAI默認的強化學(xué)習(xí)算法,有多叼不用我說了吧。 筆者在強化學(xué)習(xí)的道路上看來很多書,看了很多代碼,和很多大佬的博客,只是很多都是側(cè)重一個方面,所以我在吸取百家之

    2024年02月07日
    瀏覽(19)
  • DQN,DDPG,PPO 等強化學(xué)習(xí)算法在人工智能中的未來發(fā)展方向:從大規(guī)模到小規(guī)模部署

    作者:禪與計算機程序設(shè)計藝術(shù) 隨著近年來人工智能領(lǐng)域的蓬勃發(fā)展,強化學(xué)習(xí)(Reinforcement Learning, RL)被越來越多的人認可并應(yīng)用于人工智能領(lǐng)域。如今,RL已經(jīng)可以處理許多復(fù)雜的問題,如自動駕駛、機器人控制等。在過去的一段時間里,我一直想和各位分享一下RL在人工

    2024年02月09日
    瀏覽(28)
  • Anaconda配置強化學(xué)習(xí)環(huán)境

    Anaconda配置強化學(xué)習(xí)環(huán)境

    安裝git可以方便進行項目管理或者克隆github上的源碼,下面介紹win10和ubuntu系統(tǒng)中g(shù)it的安裝步驟。 win10 1.在官網(wǎng)下載Git-2.38.1-64-bit.exe,打開文件,按照操作進行安裝配置 2.git安裝完成后,找到git安裝路徑中bin的位置,我的是D:softwareGitbin 3.再找到git安裝路徑中g(shù)it-core的位置,

    2024年02月05日
    瀏覽(19)
  • 使用MindSpore20.0的API快速實現(xiàn)深度學(xué)習(xí)模型之?dāng)?shù)據(jù)變換

    使用MindSpore20.0的API快速實現(xiàn)深度學(xué)習(xí)模型之?dāng)?shù)據(jù)變換

    大家好,我是沐風(fēng)曉月,本文是對昇思MindSpore社區(qū)的產(chǎn)品進行測試,測試的步驟,記錄產(chǎn)品的使用體驗和學(xué)習(xí)。 如果文章有什么需要改進的地方還請大佬不吝賜教????。 ??個人主頁:我是沐風(fēng)曉月 ??個人簡介:大家好,我是沐風(fēng)曉月,雙一流院校計算機專業(yè)???? ?? 座

    2024年01月25日
    瀏覽(18)
  • Gazebo仿真環(huán)境下的強化學(xué)習(xí)實現(xiàn)

    Gazebo仿真環(huán)境下的強化學(xué)習(xí)實現(xiàn)

    主體源碼參照《Goal-Driven Autonomous Exploration Through Deep Reinforcement Learning》 筆者采用其強化學(xué)習(xí)方法,但是對于仿真環(huán)境以及機器人模型仍然用自己的包,源碼中采用了與論文強相關(guān)的用法 2.1 環(huán)境 源碼: 強化學(xué)習(xí)中環(huán)境用于產(chǎn)生狀態(tài)輸入,并通過智能體的動作產(chǎn)生新的狀態(tài),

    2024年02月10日
    瀏覽(15)
  • 強化學(xué)習(xí)環(huán)境升級 - 從gym到Gymnasium

    作為強化學(xué)習(xí)最常用的工具,gym一直在不停地升級和折騰,比如gym[atari]變成需要要安裝接受協(xié)議的包啦,atari環(huán)境不支持Windows環(huán)境啦之類的,另外比較大的變化就是2021年接口從gym庫變成了gymnasium庫。讓大量的講強化學(xué)習(xí)的書中介紹環(huán)境的部分變得需要跟進升級了。 不過,不

    2024年02月08日
    瀏覽(22)
  • 機器人強化學(xué)習(xí)環(huán)境mujoco官方文檔學(xué)習(xí)記錄(一)——XML

    鑒于研究生課題需要,開始在mujoco中配置仿真環(huán)境。而官方文檔中各種對象參數(shù)紛繁復(fù)雜,且涉及mujoco底層計算,不便于初學(xué)者進行開發(fā)設(shè)計。因此本文將MJCF模型的常用對象參數(shù)進行總結(jié)。 本文檔僅供學(xué)習(xí)參考,如有問題歡迎大家學(xué)習(xí)交流。 本章是MuJoCo中使用的MJCF建模語言

    2024年02月02日
    瀏覽(81)
  • windows11+GPU1060安裝強化學(xué)習(xí)環(huán)境之pytorch

    這里大家看一個視頻系列,講得非常詳細,鏈接在此:https://www.bilibili.com/video/BV1S5411X7FY?p=28vd_source=3be739b673e1151850f4b8060ac78e1a 這里主要是說我遇到的問題以及解決辦法。 首先,我的筆記本是有顯卡的,只不過算力為6,較低,但是已經(jīng)差不多了,主要是想在windows上操作,嗯,還

    2024年01月19日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包