強化學習常用演算法+實際應用,必須get這些核心要點
本文約 1700字,建議閱讀 5分鐘
本文為你介紹強化學習最常用的演算法。
[ 導讀 ]強化學習(RL)是現代人工智慧領域中最熱門的研究主題之一,其普及度還在不斷增長。本文介紹了開始學習RL需要了解的核心要素。戳右邊連結上 新智元小程式 瞭解更多!
強化學習是現代人工智慧領域中最熱門的研究主題之一,其普及度還在不斷增長。
強化學習是什麼?和其他機器學習技術有何區別?
強化學習是一種機器學習技術,它使代理能夠使用自身行為和經驗的反饋通過反覆試驗在互動式環境中學習。
儘管監督學習和強化學習都使用輸入和輸出之間的對映,但監督學習提供給智慧體的反饋是執行任務的正確動作集,而強化學習則將獎懲作為正面和負面行為的訊號。
無監督學習在目標方面有所不同。無監督學習的目標是發現資料點之間的相似點和差異,而在強化學習的情況下,目標是找到合適的行為模型,以最大化智慧體的總累積獎勵。
下圖說明了通用強化學習模型的動作獎勵反饋迴路。
如何制定基本的強化學習問題?
一些描述強化學習問題基本要素的關鍵術語是:
- 環境-智慧體在其中執行的物理狀態
- 狀態-智慧體的當前狀況
- 獎勵-來自環境的反饋
- 策略-對映智慧體狀態到動作的方法
- 值-智慧體在特定狀態下采取的行動將獲得的未來獎勵
強化學習問題可以通過遊戲來最好地解釋。讓我們以吃豆人遊戲為例,智慧體(PacMan)的目標是在網格中吃掉食物,同時避開途中出現的鬼魂。
在這種情況下,網格世界是智慧體所作用的互動式環境。智慧體成功遲到豆豆會得到獎勵,如果智慧體被幽靈殺死(輸掉了遊戲)則會被懲罰。
狀態值得是智慧體在網格世界中的位置,總累積獎勵是贏得比賽。
為了建立最優政策,智慧體面臨探索新狀態的困境,同時又要使其整體收益最大化,這稱為“探索與開發”的權衡。
為了平衡兩者,最佳的整體策略可能涉及短期犧牲。因此,智慧體應該收集足夠的資訊,以便將來做出最佳的總體決策。
馬爾可夫決策過程(MDP)是描述強化學習環境的數學框架,幾乎所有強化學習問題都可以使用MDP來表述。
一個MDP由一組有限的環境狀態S,在每種狀態下的一組可能的動作A,一個實值獎勵函式R和一個過渡模型P(s’,s | a)組成。
但是,現實環境更可能缺少任何有關環境動力學的先驗知識。在這種情況下,無模型強化學習方法非常有用。
Q學習是一種常用的無模型方法,可用於構建自己玩的PacMan智慧體。它圍繞更新Q值的概念展開,Q值表示在狀態s中執行動作a的值。以下值更新規則是Q學習演算法的核心。
什麼是最常用的強化學習演算法?
Q學習和SARSA(狀態-行動-獎勵-狀態-行動)是兩種常用的無模型強化學習演算法。它們的勘探策略不同,而利用策略卻相似。
Q-學習是強化學習的一種方法。Q-學習就是要記錄下學習過的政策,因而告訴智慧體什麼情況下采取什麼行動會有最大的獎勵值。Q-學習不需要對環境進行建模,即使是對帶有隨機因素的轉移函式或者獎勵函式也不需要進行特別的改動就可以進行。
對於任何有限的馬可夫決策過程(FMDP),Q-學習可以找到一個可以最大化所有步驟的獎勵期望的策略,在給定一個部分隨機的策略和無限的探索時間,Q-學習可以給出一個最佳的動作選擇策略。“Q”這個字母在強化學習中表示一個動作的品質(quality)。
而SARSA是一種策略上方法,在其中根據其當前操作a得出的值來學習值。這兩種方法易於實現,但缺乏通用性,因為它們無法估計未知狀態的值,這可以通過更高階的演算法來克服,例如使用神經網路來估計Q值的Deep Q-Networks(DQNs)。但是DQN只能處理離散的低維操作空間。
深度確定性策略梯度(DDPG)是一種無模型,脫離策略,actor-critic的演算法,它通過在高維連續操作空間中學習策略來解決此問題。下圖是actor-critic體系結構的表示。
強化學習的實際應用是什麼?
由於強化學習需要大量資料,因此它最適用於容易獲得模擬資料的領域,例如遊戲性,機器人技術。
強化學習被廣泛用於構建用於玩計算機遊戲的AI。AlphaGo Zero是第一個在古代中國的圍棋遊戲中擊敗世界冠軍的計算機程式。其他包括ATARI遊戲,西洋雙陸棋等。在機器人技術和工業自動化中,強化學習用於使機器人自己建立有效的自適應控制系統,該系統從自身的經驗和行為中學習。DeepMind在“通過非同步策略更新進行機器人操縱的深度強化學習”方面的工作就是一個很好的例子。
強化學習的其他應用包括抽象文字摘要引擎,可以從使用者互動中學習並隨時間改進的對話智慧體(文字,語音),學習醫療保健中的最佳治療策略以及用於線上股票交易的基於強化學習的智慧體。
編輯:於騰凱
—完—
https://www.toutiao.com/i6782516995578397192/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2673909/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 學習Python,這些你必須搞懂!Python
- 機器學習實際應用中必須考慮到的9個問題機器學習
- 想要學習Python課程,這些問題你必須知道!Python
- aardio 開發桌面應用,這幾點必須要掌握!
- Python爬蟲需要學哪些東西?這些知識點必須掌握!Python爬蟲
- 關於JVM,你必須知道的這些知識點JVM
- 【強化學習篇】--強化學習從初識到應用強化學習
- 深度學習及深度強化學習應用深度學習強化學習
- 學習Kali Linux必須知道的幾點Linux
- 學習 Laravel 必須理解的知識點Laravel
- 強化學習之原理與應用強化學習
- 深度學習入門必須理解這25個概念深度學習
- 這幾個python常用的庫你必須知道!Python
- 機器學習中梯度下降演算法的實際應用和技巧機器學習梯度演算法
- Listing圖片的這些點必須重視致亞馬遜賣家亞馬遜
- 2022年你應該掌握這些機器學習演算法機器學習演算法
- Linux系統學習須牢記這幾點Linux
- 學習java多執行緒,這必須搞懂的這幾個概念Java執行緒
- 作為程式設計師,這些實用工具你必須要知道!程式設計師
- 遊戲出海越南前,這些事情你必須知道遊戲
- 深度學習 - 常用優化演算法深度學習優化演算法
- 監督學習or無監督學習?這個問題必須搞清楚
- 學習Python之前,必須要搞定這三件事情!Python
- 學習Linux必須掌握的命令!Linux
- 深度強化學習技術開發與應用強化學習
- 理解大型分散式網站你必須知道這些概念分散式網站
- 關於Linux作業系統,這些你必須知道!Linux作業系統
- Linux系統擁有哪些特性?這些你必須知道!Linux
- 強化學習(十七) 基於模型的強化學習與Dyna演算法框架強化學習模型演算法框架
- 前端學習,除了掌握學習路線之外,必須要注意的知識要點!前端
- Python常用的開源框架,這三個你必須知道!Python框架
- 強化學習在金融市場中的應用(上)強化學習
- 百度NLP:強化學習之原理與應用強化學習
- 演算法工程師必須要知道的8種常用演算法思想演算法工程師
- 強化學習之路一 QLearning 演算法強化學習演算法
- 如何玩轉Android物聯網開發,這些必須知道Android
- 使用Docker客戶端管理容器:這些命令必須知道Docker客戶端
- CSS你可以不寫,但這些規範必須要知道!CSS