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

從零開始學MATLAB強化學習工具箱使用(五):Simulink+強化學習設計器

這篇具有很好參考價值的文章主要介紹了從零開始學MATLAB強化學習工具箱使用(五):Simulink+強化學習設計器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

建立Simulink環(huán)境,導入強化學習設計器里,添加代理,進行訓練

1. 建立Simulink環(huán)境

首先準備好你的Simulink模型,這里還用上節(jié)用到的水箱模型。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習

RL Agent模塊報錯是由于還沒有給其綁定代理,后續(xù)會在強化學習設計器里配置,暫時不用理會。

下一步,在MATLAB命令行窗口或腳本里為環(huán)境指定狀態(tài)空間和動作空間以及復位函數(shù),然后創(chuàng)建環(huán)境。

% 觀測空間形狀及每個變量取值上下限
obsInfo = rlNumericSpec([3 1],...
    LowerLimit=[-inf -inf 0  ]',...
    UpperLimit=[ inf  inf inf]');
% Name and description are optional and not used by the software
obsInfo.Name = "observations";
obsInfo.Description = "integrated error, error, and measured height";

% Action info
actInfo = rlNumericSpec([1 1]);
actInfo.Name = "flow";
% 創(chuàng)建環(huán)境對象
env = rlSimulinkEnv("rlwatertank","rlwatertank/RL Agent",...
    obsInfo,actInfo);
% 指定環(huán)境復位函數(shù),這里是自定義函數(shù)
env.ResetFcn = @(in)localResetFcn(in);
% 指定仿真時間T f TfTf和代理采樣時間T s TsTs,單位是s,這里只是該Simulink模型用到的參數(shù):
Ts = 1.0;
Tf = 200;

新建函數(shù)文件localResetFcn.m來提供該復位函數(shù):

function in = localResetFcn(in)

% Randomize reference signal
blk = sprintf("rlwatertank/Desired \nWater Level");
h = 3*randn + 10;
while h <= 0 || h >= 20
    h = 3*randn + 10;
end
in = setBlockParameter(in,blk,Value=num2str(h));

% Randomize initial height
h = 3*randn + 10;
while h <= 0 || h >= 20
    h = 3*randn + 10;
end
blk = "rlwatertank/Water-Tank System/H";
in = setBlockParameter(in,blk,InitialCondition=num2str(h));

end

運行上述代碼,使環(huán)境對象env出現(xiàn)在工作區(qū)。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習

2. 將環(huán)境導入RL設計器

命令行運行如下語句打開RL設計器,選擇導入環(huán)境env。

reinforcementLearningDesigner

matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
導入后如圖所示,環(huán)境面板增加了環(huán)境env。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習

3. 配置代理

為導入的環(huán)境配置代理。在Reinforcement Learning標簽頁點擊New,在彈出的窗口里,修改隱藏層神經(jīng)元數(shù)量為50,默認的環(huán)境即為導入的環(huán)境,選擇DDPG算法,點擊OK。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
建立好的代理如下圖,按需修改參數(shù):
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習

可以查看Actor和Critic的結(jié)構(gòu),下圖是Actor的:
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習

4. 訓練并導出訓練結(jié)果

轉(zhuǎn)到Train選項卡,修改訓練參數(shù),然后開始訓練。

matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
訓練完成后如圖所示,點擊Accept保存訓練結(jié)果。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
導出訓練結(jié)果agent1_Trained。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
成功導出到MATLAB工作區(qū)。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習

5. 在Simulink里仿真

在Simulink模塊里雙擊RL Agent模塊,為模塊綁定訓練好的代理。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
點擊Simulink運行仿真,仿真結(jié)果如圖。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
當然,也可以通過MATLAB命令行運行仿真。

rng(1) % 固定隨機數(shù)種子方便復現(xiàn)結(jié)果
simOpts = rlSimulationOptions(MaxSteps=ceil(Tf/Ts),StopOnError="on");
experiences = sim(env,agent1_Trained,simOpts);

當然,不導出訓練結(jié)果,直接在RL設計器里運行也是可以的。如下:
先配置仿真參數(shù):
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
仿真完成后,會展示每輪獎勵以及所有輪獎勵均值和標準差。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
點擊Inspect Simulation Data查看仿真結(jié)果,也可以點擊Clear and Inspect Simulation Data預先清除在上一個會話中加載的任何數(shù)據(jù)??梢栽诓煌膱D中選擇查看每一輪仿真的不同的數(shù)據(jù)。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
回到仿真對話窗體,同樣點擊Accept保存仿真結(jié)果,在Results面板自動添加一條experience,雙擊它可以再次查看上述結(jié)果。

matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習
最后,保存會話后退出就可以了,后續(xù)可以用RL設計器再次打開此會話。

Tips

本節(jié)展示了如何用Simulink模型在RL設計器里進行訓練,同樣地,可以在RL設計器里建立好代理之后導出需要的內(nèi)容(可導出的內(nèi)容如下圖所示)到MATLAB工作區(qū),然后通過MATLAB腳本進行訓練,省去了在MATLAB腳本建立代理的部分過程,而且可以通過腳本修改更多的參數(shù)。
matlab rl agent,MATLAB強化學習工具包使用,matlab,機器學習

當然,綜合來看,還是像本節(jié)這樣直接使用RL設計器更方便更直觀,解決一般的問題足夠。文章來源地址http://www.zghlxwxcb.cn/news/detail-845465.html

到了這里,關(guān)于從零開始學MATLAB強化學習工具箱使用(五):Simulink+強化學習設計器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 基于MATLAB的最小二乘法擬合與擬合工具箱使用教程(附完整代碼與算法)

    基于MATLAB的最小二乘法擬合與擬合工具箱使用教程(附完整代碼與算法)

    給定一組數(shù)據(jù)滿足某一函數(shù)模型,其中a為待定系數(shù)向量。 那么,最小二乘曲線擬合的目標就是:求出一組待定系數(shù)的值,使得以下表達式子最小: 在MATLAB中格式如下: 由以下MATLAB代碼生成一組數(shù)據(jù): 該組數(shù)據(jù)滿足y(x),求出待定系數(shù),使得目標函數(shù)的值為最小。 解: MATL

    2024年01月17日
    瀏覽(24)
  • 使用Matlab機器人工具箱完成四元數(shù)到旋轉(zhuǎn)矩陣的轉(zhuǎn)換,附程序

    使用Matlab機器人工具箱完成四元數(shù)到旋轉(zhuǎn)矩陣的轉(zhuǎn)換,附程序

    在進行機械臂操作或?qū)懻撐臅r,經(jīng)常需要進行四元數(shù)、旋轉(zhuǎn)矩陣、歐拉角等的轉(zhuǎn)換。 此時,我們利用matlab里的機器人工具箱(Peter 開發(fā))內(nèi)置的函數(shù)就可完成,具體程序如下: 環(huán)境:Matlab2020b+robotics toolbox(安裝方法在前幾期文章里有) 此時運行matlab可得以下結(jié)果: 重要注

    2024年02月13日
    瀏覽(56)
  • 從零入門激光SLAM(六)——ROS常用工具箱

    從零入門激光SLAM(六)——ROS常用工具箱

    大家好呀,我是一個SLAM方向的在讀博士,深知SLAM學習過程一路走來的坎坷,也十分感謝各位大佬的優(yōu)質(zhì)文章和源碼。隨著知識的越來越多,越來越細,我準備整理一個自己的激光SLAM學習筆記專欄,從0帶大家快速上手激光SLAM,也方便想入門SLAM的同學和小白學習參考,相信看

    2023年04月16日
    瀏覽(29)
  • 基于matlab實現(xiàn)生成模糊fis文件,包括模糊隸屬函數(shù)和模糊規(guī)則等,不使用fuzzy工具箱

    基于matlab實現(xiàn)生成模糊fis文件,包括模糊隸屬函數(shù)和模糊規(guī)則等,不使用fuzzy工具箱

    目錄 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理論知識概要 4.完整MATLAB matlab2022a仿真結(jié)果如下: ? ? ? ? ?Zadeh創(chuàng)立的模糊數(shù)學,對不明確系統(tǒng)的控制有極大的貢獻,自七十年代以后,一些實用的模糊控制器的相繼出現(xiàn),使得我們在控制領(lǐng)域中又向前邁進了一大步。模糊邏

    2024年02月12日
    瀏覽(24)
  • 逐步攻略:使用Matlab音頻系統(tǒng)工具箱創(chuàng)建自己的VST插件,讓音樂編程在Nashville嶄新綻放

    尊敬的讀者,歡迎閱讀這篇文章。我作為一個熱愛音樂和編程的人,十分激動地在這里和大家分享我最近的一次學習經(jīng)驗。正如標題所述,我們將探索一種嶄新的方式來創(chuàng)建 VST 插件,即使用 Matlab 音頻系統(tǒng)工具箱。這篇文章也許對于那些像我一樣在音樂和編程的交叉點上尋找

    2024年02月09日
    瀏覽(33)
  • Matlab 優(yōu)化工具箱

    Matlab 優(yōu)化工具箱

    語法:[x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb,ub,options) f、x、b、beq、lb 和 ub 是向量,A 和 Aeq 是矩陣。 示例1-1 : 語法:[x,fval,exitflag,output] = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,x0,options) f、x、intcon、b、beq、lb 和 ub 是向量,A 和 Aeq 是矩陣。 語法:x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub

    2024年02月02日
    瀏覽(54)
  • (轉(zhuǎn)載)matlab遺傳算法工具箱

    (轉(zhuǎn)載)matlab遺傳算法工具箱

    ????????以下內(nèi)容大部分來源于《MATLAB智能算法30個案例分析》,僅為學習交流所用。 ????????遺傳算法(genetic algorithm,GA)是一種進化算法,其基本原理是仿效生物界中的“物競天擇、適者生存”的演化法則。遺傳算法是把問題參數(shù)編碼為染色體,再利用迭代的方式進行選

    2024年02月07日
    瀏覽(26)
  • MATLAB cftool工具箱——曲線擬合

    MATLAB cftool工具箱——曲線擬合

    ? ? cftool工具箱可以將數(shù)據(jù)點擬合成曲線或曲面并直觀顯示出圖像。能實現(xiàn)多種類型的線性、非線性曲線/面擬合。 ? ? 有兩種方式打開cftool:(1)在命令行窗口輸入\\\"cftool\\\"并回車;(2)在MATLAB的\\\"APP\\\"選項欄中找到\\\"Curve Fitting\\\"程序打開即可。 ? ? 界面左上部分為數(shù)據(jù)區(qū)域,下拉框中

    2024年02月08日
    瀏覽(25)
  • 【MATLAB第57期】基于MATLAB的雙隱含層BP神經(jīng)網(wǎng)絡回歸預測模型(無工具箱版本及工具箱版本對比)

    【MATLAB第57期】基于MATLAB的雙隱含層BP神經(jīng)網(wǎng)絡回歸預測模型(無工具箱版本及工具箱版本對比)

    數(shù)據(jù)為案例數(shù)據(jù) 。103行樣本,7輸入1輸出數(shù)據(jù)。 訓練集數(shù)據(jù)的R2為:0.9022 測試集數(shù)據(jù)的R2為:0.87266 訓練集數(shù)據(jù)的MAE為:1.8189 測試集數(shù)據(jù)的MAE為:2.1658 訓練集數(shù)據(jù)的MBE為:-0.00088469 測試集數(shù)據(jù)的MBE為:0.3059 數(shù)據(jù)與無工具版本相同,數(shù)據(jù)順序也相同。 訓練集數(shù)據(jù)的R2為:1 測試

    2024年02月16日
    瀏覽(51)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包