強化學習
出自 MBA智库百科(https://wiki.mbalib.com/)
強化學習(reinforcement learning)
目錄 |
強化學習是人工智慧中策略學習的一種,是一種重要的機器學習方法,又稱再勵學習、評價學習,是從動物學習、參數擾動自適應控制等理論發展而來.所謂強化學習是指從環境狀態到動作映射的學習,以使動作從環境中獲得的累積獎賞值最大。該方法不同於監督學習技術那樣通過正例、反例來告知採取何種行為,而是通過試錯(trial and error)來發現最優行為策略。常用的強化學習演算法包括TD(Temporal Difference)演算法、Q學習演算法、Sarsa演算法等。
強化學習是從動物學習、參數擾動自適應控制等理論發展而來,其基本原理是:
如果Agent的某個行為策略導致環境正的獎賞(強化信號),那麼Agent以後產生這個行為策略的趨勢便會加強。Agent的目標是在每個離散狀態發現最優策略以使期望的折扣獎賞和最大。
強化學習把學習看作試探評價過程,Agent選擇一個動作用於環境,環境接受該動作後狀態發生變化,同時產生一個強化信號(獎或懲)反饋給Agent,Agent根據強化信號和環境當前狀態再選擇下一個動作,選擇的原則是使受到正強化(獎)的概率增大。選擇的動作不僅影響立即強化值,而且影響環境下一時刻的狀態及最終的強化值。
強化學習不同於連接主義學習中的監督學習,主要表現在教師信號上,強化學習中由環境提供的強化信號是Agent對所產生動作的好壞作一種評價(通常為標量信號),而不是告訴Agent如何去產生正確的動作。由於外部環境提供了很少的信息,Agent必須靠自身的經歷進行學習。通過這種方式,Agent在行動一一評價的環境中獲得知識,改進行動方案以適應環境。
強化學習系統學習的目標是動態地調整參數,以達到強化信號最大。若已知r/A梯度信息,則可直接可以使用監督學習演算法。因為強化信號r與Agent產生的動作A沒有明確的函數形式描述,所以梯度信息r/A無法得到。因此,在強化學習系統中,需要某種隨機單元,使用這種隨機單元,Agent在可能動作空間中進行搜索併發現正確的動作。
強化學習主要應用在過程式控制制、調度管理、機器人控制、游戲比賽和信息檢索等方面,其中最為廣泛的莫過於智能控制及智能機器人領域。在過程式控制制領域中,典型的應用實例是倒擺控制系統和Archon系統;在調度管理中最成功的應用是Crites和Barto的電梯調度問題,它們將單步強化學習演算法應用到一個4部電梯、10層樓的運行調度中;在游戲比賽中,最成功的應用是由Gerry Tesauro運用瞬時差分演算法發明的Backgammon下棋游戲,它採用TD的誤差來訓練3層BP神經網路,達到了很高的水平;在機器人領域,HeePakBeen利用模糊邏輯和強化學習實現陸上移動機器人導航系統,Wilfriedllg利用強化學習使6足昆蟲機器人學會6條腿協調動作,Christopher利用強化學習控制機器人手臂運動,Mataria採用改進的Q—Learning演算法實現了4個機器人執行Foraging任務,張汝波等利用強化學習實現了智能機器人的避障行為學習;信息檢索主要用於與Intemet有關的信息採集和信息過濾,即從海量的Web信息中查詢出用戶最為關心的信息。