基於強化學習的倒立擺控制策略Matlab實現(附代碼) 二刷

  本文將之前的一篇基於強化學習的倒立擺控制策略Matlab實現文章再次進行了擴充。

問題描述

  大多數先進控制技術都需要對過程及其環境有較深的瞭解,一般用拉普拉斯變換或動態微分方程來描述過程動態特性。然而在過程控制領域,許多系統過於複雜,或者其內在規律難以瞭解,因此很難得到過程的定量知識,也即無法建立起精確的數學模型,但是我們能夠獲得這些系統的一些輸入輸出數據。

  在被控對象的模型未知,只有數據可用的情況下,設計一個控制器,依據系統的輸入輸出數據進行自我學習調節,最終實現對控制對象的控制。爲了使得設計的自我學習控制算法具有一般性,控制對象需是複雜的、不穩定的、非線性系統。

摘要

  針對模型未知只有數據可用的複雜非線性偏微分系統,本文設計了一種基於強化學習的數據驅動學習算法,從與控制對象的交互中學習優化策略。首先建立倒立擺的數學模型,但是隻是利用其產生輸入輸出數據。基於輸入輸出數據,在未知倒立擺數學模型情況下,實現對倒立擺的控制。

1.引言

  作爲人工智能的核心,機器學習的根本目的是使計算機能夠具備模擬甚至實現人類學習活動的能力,對它的研究可以促進人工智能的發展。強化學習是目前機器學習研究領域的一個熱門方向,吸引了多個學科專家學者的目光。強化學習根源於機器學習與學習心理學的融合,其根據動物學習心理學的相關原理知識,採用動物和人類學習中的“試錯”機制,一方面探索沒有被發現的行爲,通過智能體與外界環境交互獲得即時反饋信息,做出最佳決策並採取行爲。在人工智能領域由於其卓越的決策能力而備受矚目,然而,對於環境的特徵提取需要依靠人工來完成,對於複雜高維的問題就顯得非常棘手,所以強化學習的發展始終受限,但近幾年隨着深度學習發展,算法可以從原始的圖像直接提取出高維數據的特徵,爲複雜環境的認知問題提供了一種新的方法。由於深度學習具有強感知能力,弱決策能力,而強化學習具有強決策能力,但對感知問題無法解決。因此,將兩種算法結合起來,揚長避短,能夠爲複雜狀態下的感知決策問題提供思路。

  倒立擺系統是一種典型的自動控制理論研究裝置,在倒立擺系統的控制過程中能夠有效的反應隨動性,魯棒性,跟蹤及鎮定性等關鍵問題,因此,倒立擺系統逐漸成爲廣大學者驗證控制方法正確性及有效性的典型對象。所以本文以一級倒立擺爲控制對象進行實驗,能夠充分驗證給予輸入輸出數據的控制系統性能。

  傳統控制結構(如PID控制算法),在處理複雜的非線性、時變、耦合及參數、結構不確定的動態控制系統時,易超出其平衡點鄰域。控制性能較差,且其參數整定調節過程繁瑣。1973年Zadeh[1]提出將模糊邏輯應用於控制理論,簡化系統設計的複雜性,使其適用於非線性、時變、模型不完全的控制系統中。但難以建立一套系統的模糊控制理論,解決模糊控制機理,系統化設計方法。2011年Lin [2-3]提出一種基於強化學習的自適應控制優化算法,並將其成功運用於地鐵調度控制。2014年Modares[4]提出一種基於經驗回放的自適應控制結構,解決神經網絡收斂效率低地問題。

  隨着硬件設施的發展,計算機運算速度加快,深度學習鄰域得到了飛速的發展。2015年穀歌DeepMind團隊提出一種深度強化學習算法DQN[5-6],並在遊戲Atari 2600,星際爭霸,圍棋[7]等領域驗證其算法的通用性和優越性。
本文基於Q-Learning的強化學習算法的無模型控制結構,無需設計複雜的控制算法,且能夠適用於複雜非線性偏微分系統。通過動力學方程建立的物理引擎作爲智能體與環境交互對象,於其交互迭代,最終實現對控制對象的自學習控制。

2.倒立擺模型建立

  倒立擺控制系統是一個多變量、非線性、高階次、強耦合的自不穩定系統,能夠模擬反映多數常見的控制對象,其控制算法具有多輸入,單輸出的特點,因而是一種典型的自動控制理論研究裝置。以該問題作爲研究對象,能夠有效反應出控制算法在實際應用系統中的隨動性、魯棒性、跟蹤及鎮定性等問題。通過對倒立擺的控制,可以較好檢驗新的控制方法是否有較強的處理非線性和不穩定性問題的能力。

倒立擺模型解釋

3.基於無模型強化學習控制結構的實施流程

  強化學習是智能體在環境給予的獎勵的刺激下,逐步形成對刺激的預期,產生能獲得最大利益的習慣性行爲。以控制對象的動力學方程建立物理引擎,作爲其環境交互對象,並定義其獎勵,使智能體獲取的獎勵最大化,達到控制目的。其大體結構如圖二所示:

強化學習控制結構圖

4.實驗結果分析

倒立擺角度控制結果圖

倒立擺位置控制結果圖

  通過訓練好的Q表對倒立擺平衡控制的測試結果可以發現,倒立擺可以達到1000步的平衡控制,偶爾會達到角度、位置的邊緣,但是絕大多數的時候能夠穩定在平衡位置內,控制效果良好。

5.結論

  由於強化學習算法是基於數據驅動的控制算法,強化學習算法相比經典的控制算法(PID),通用性更強,適用範圍更廣,能夠極大降低控制系統的設計難度和人力投入等優點。
但是強化學習算法需要與控制對象進行交互,而這種交互在實際控制問題中比較難以獲取,可以通過給予輸入輸出數據先進行系統辨識,之後基於辨識後的系統進行交互,再應用於實際系統交互進行訓練,能夠極大地加快系統的收斂速度。

6.參考文獻
[1] Zadeh L A. Outline of a new approach to the analysis of complex systems and decision processes[J]. IEEE Transactions on systems, Man, and Cybernetics, 1973 (1): 28-44.
[2] Lin W S. Optimality and convergence of adaptive optimal control by reinforcement synthesis[J]. Automatica, 2011, 47(5): 1047-1052.
[3] Lin W S, Sheu J W. Optimization of train regulation and energy usage of metro lines using an adaptive-optimal-control algorithm[J]. IEEE Transactions on Automation Science and Engineering, 2011, 8(4): 855-864.
[4] Modares H, Lewis F L, Naghibi-Sistani M B. Integral reinforcement learning and experience replay for adaptive optimal control of partially-unknown constrained-input continuous-time systems[J]. Automatica, 2014, 50(1): 193-202.
[5] Mnih V, Kavukcuoglu K, Silver D, et al. Playing Atari with Deep Reinforcement Learning[J]. Computer Science, 2013.
[6] Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540):529.
[7] Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. Nature, 2016, 529(7587): 484-489.
[8] 蔣國飛, 吳滄浦. 基於Q學習算法和BP神經網絡的倒立擺控制[J]. 自動化學報, 1998(05):88-92.

7.代碼附錄

代碼附錄示意圖

  完整代碼 文檔 後臺回覆:倒立擺二刷。

我的微信公衆號名稱:深度學習與先進智能決策
微信公衆號ID:MultiAgent1024
公衆號介紹:主要研究強化學習、計算機視覺、深度學習、機器學習等相關內容,分享學習過程中的學習筆記和心得!期待您的關注,歡迎一起學習交流進步!

發佈了148 篇原創文章 · 獲贊 135 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章