官术网_书友最值得收藏!

3.2.4 Gym的MuJoCo環(huán)境

強化學(xué)習(xí)的另一個比較重要的應(yīng)用場景是機器人的控制。針對這個特殊的場景,OpenAI Gym也有對應(yīng)的強化學(xué)習(xí)環(huán)境。首先是MuJoCo系列的強化學(xué)習(xí)環(huán)境,這個環(huán)境的意思是多關(guān)節(jié)接觸動力學(xué)(Multi-Joint dynamics with Contact)。這一系列的強化學(xué)習(xí)環(huán)境主要的特點是由幾個簡單的幾何體互相接觸組成機器人,并對機器人進行實時控制,目的是讓機器人完成一系列復(fù)雜的動作(例如行走、跑跳等)。相比于3.2.2節(jié)和3.2.3節(jié)中介紹的兩個強化學(xué)習(xí)環(huán)境,這個強化學(xué)習(xí)環(huán)境的特點主要是整個環(huán)境更加復(fù)雜,強化學(xué)習(xí)環(huán)境的動作空間是連續(xù)的,而不是離散的。

這里使用一個具體的螞蟻('Ant-v2')強化學(xué)習(xí)環(huán)境來演示如何使用MuJoCo系列的強化學(xué)習(xí)環(huán)境。為了能夠使用MuJoCo強化學(xué)習(xí)環(huán)境,首先需要下載MuJoCo的二進制可執(zhí)行文件。這個文件可以在OpenAI的GitHub頁面目錄下的openai/mujoco-py子頁面獲得對應(yīng)的下載鏈接地址。然后根據(jù)自己電腦的系統(tǒng)版本選擇對應(yīng)的zip文件,并且把zip文件解壓到指定目錄下(如果是Linux/MacOS操作系統(tǒng),則在~/.mujoco/mujoco200/目錄下,暫時不支持Windows版本)。接下來需要運行g(shù)it clone https://github.com/openai/mujoco-py命令,從GitHub上下載MuJoCo代碼。為了能夠在系統(tǒng)中安裝MuJoCo的Python接口庫,我們需要修改mujoco_py/builder.py文件,在這個安裝腳本的c_compilers列表變量中添加自身所在系統(tǒng)的gcc的路徑,比如筆者的gcc的路徑在'/usr/local/bin/gcc-11'下,讀者可以自行查找自己所用系統(tǒng)的gcc所在的位置(比如可以使用which g cc命令),根據(jù)位置酌情修改。修改完這個文件之后,運行命令pip install.,就可以開始使用MuJoCo強化學(xué)習(xí)環(huán)境了。

螞蟻('Ant-v2')強化學(xué)習(xí)環(huán)境的具體圖像如圖3.7所示。在實際應(yīng)用中并不以這個強化學(xué)習(xí)環(huán)境的渲染圖像作為深度強化學(xué)習(xí)模型的輸入,而是以渲染環(huán)境中機器人的姿態(tài)作為輸入。

圖3.7 螞蟻('Ant-v2')強化學(xué)習(xí)環(huán)境渲染圖像

在圖3.7中,整個螞蟻機器人有8個關(guān)節(jié),智能體只能控制作用在這8個關(guān)節(jié)的力矩上(取值范圍在-1到+1之間),也就是將這8個值作為智能體選擇的動作輸入強化學(xué)習(xí)環(huán)境中。由于力矩的值連續(xù)分布,所以這個問題是一個基于連續(xù)動作空間的控制問題。具體的姿態(tài)參數(shù)如表3.1所示,一共有111個參數(shù),即描述這個螞蟻機器人需要111個參數(shù),包括一系列的標量值和矢量值。整體的獎勵比較復(fù)雜,主要由幾部分構(gòu)成,首先貢獻最大的獎勵是螞蟻機器人需要能夠移動,只要觀測到機器人的軀干發(fā)生了移動,這部分就能獲取正的獎勵,而且獎勵和速度正相關(guān)。另外幾個負的貢獻在于我們需要最小化控制的力矩,可以理解為對機器人的控制越少越好;還有一項是接觸點的作用力,這部分作用力也是越小越好。機器人的初始高度為0.55,當所有的觀測空間的數(shù)值有效(沒有正負無窮大等無效數(shù)字的時候),并且高度在0.2和1.0之間時,強化學(xué)習(xí)環(huán)境可以一直進行下去,否則強化學(xué)習(xí)環(huán)境標記為已完成,需要被重置。

表3.1 螞蟻('Ant-v2')強化學(xué)習(xí)環(huán)境觀測空間

由于強化學(xué)習(xí)環(huán)境的使用方法和前面的Gym類型的強化學(xué)習(xí)環(huán)境類似,這里不再贅述,讀者可以從文件ex_3_6.py中看到如何調(diào)用對應(yīng)的函數(shù)接口完成對應(yīng)強化學(xué)習(xí)環(huán)境的采樣。

主站蜘蛛池模板: 灯塔市| 叶城县| 苍溪县| 汶上县| 玉龙| 昌图县| 建宁县| 弋阳县| 天台县| 新昌县| 连江县| 海宁市| 临猗县| 大方县| 皋兰县| 乐安县| 岐山县| 扎赉特旗| 交城县| 玉龙| 双牌县| 信阳市| 黎川县| 朔州市| 嘉黎县| 巩义市| 调兵山市| 上虞市| 和平县| 宜兰县| 锦屏县| 富锦市| 台湾省| 鹿邑县| 合江县| 绥芬河市| 安岳县| 宣化县| 新田县| 桦南县| 郯城县|