強化學(xué)習(xí)(英語:Reinforcement learning,簡稱RL)是機器學(xué)習(xí)中的一個領(lǐng)域停局,強調(diào)如何基于環(huán)境而行動岛抄,以取得最大化的預(yù)期利益。其靈感來源于心理學(xué)中的行為主義理論弧可,即有機體如何在環(huán)境給予的獎勵或懲罰的刺激下,逐步形成對刺激的預(yù)期劣欢,產(chǎn)生能獲得最大利益的習(xí)慣性行為棕诵。
這個方法具有普適性,因此在其他許多領(lǐng)域都有研究凿将,例如博弈論校套、控制論、運籌學(xué)牧抵、信息論笛匙、仿真優(yōu)化、多主體系統(tǒng)學(xué)習(xí)犀变、群體智能妹孙、統(tǒng)計學(xué)以及遺傳算法。在運籌學(xué)和控制理論研究的語境下获枝,強化學(xué)習(xí)被稱作“近似動態(tài)規(guī)劃”(approximate dynamic programming蠢正,ADP)。在最優(yōu)控制理論中也有研究這個問題省店,雖然大部分的研究是關(guān)于最優(yōu)解的存在和特性嚣崭,并非是學(xué)習(xí)或者近似方面。在經(jīng)濟學(xué)和博弈論中懦傍,強化學(xué)習(xí)被用來解釋在有限理性的條件下如何出現(xiàn)平衡雹舀。強化學(xué)習(xí)更加專注于在線規(guī)劃,需要在探索(在未知的領(lǐng)域)和遵從(現(xiàn)有知識)之間找到平衡谎脯。[1]
2018年許多大的公司都提出了自己的強化學(xué)習(xí)框架葱跋,下面就列出幾個重要公司的強化學(xué)習(xí)開源框架:
Dopamine framework強化學(xué)習(xí)框架來自google持寄,GitHub上的點贊數(shù)接近8K[2]源梭,該研究框架用于快速原型化強化學(xué)習(xí)算法娱俺,是一個基于 Tensorflow 的框架。它旨在滿足用戶對一個小型的废麻、容易修改的代碼庫的需求荠卷,用戶可以在這個代碼庫中自由地實驗各種想法。
該框架的設(shè)計原則是:
1.實驗簡單烛愧,讓新用戶可以輕松地運行基礎(chǔ)實驗油宜;
2.開發(fā)靈活,讓新用戶更容易嘗試研究想法怜姿;
3.緊湊可靠慎冤,實現(xiàn)一些經(jīng)過實戰(zhàn)檢驗的算法;
4.可重復(fù)性沧卢,保證結(jié)果的可重復(fù)性蚁堤。
強化學(xué)習(xí)模塊TRFL:該模塊里面有用于在 TensorFlow 中編寫強化學(xué)習(xí)代理的庫,github上的點贊數(shù)有2500[3]但狭。它代表了一系列關(guān)鍵算法組件披诗,其內(nèi)部使用了大量最成功的代理,如 DQN立磁、 DDPG 和 Importance Weighted Actor Learner Architecture等呈队。
TRFL庫包括實現(xiàn)經(jīng)典 RL 算法以及更多前沿技術(shù)的函數(shù)。 這里提供的損失函數(shù)和其他操作都是在純 TensorFlow 中實現(xiàn)的唱歧。 它們不是完整的算法宪摧,而是構(gòu)建全功能 RL 代理所需的特定于 RL 的數(shù)學(xué)計算的實現(xiàn)。
Horizon平臺:來自Facebook 的開源應(yīng)用強化學(xué)習(xí)平臺颅崩,GitHub上的點贊數(shù)將近2K[4]绍刮。 Horizon 是一個端到端平臺,旨在解決工業(yè)應(yīng)用 RL 問題挨摸,其中數(shù)據(jù)集很大(數(shù)百萬到數(shù)十億個觀測值) 孩革,與模擬器相比,其反饋回路很慢得运,實驗必須謹(jǐn)慎進行膝蜈,因為它們不在模擬器中運行。 其他 RL 平臺通常是為快速原型和實驗而設(shè)計的熔掺,但Horizon 是以生產(chǎn)用例為首要考慮的饱搏。 該平臺包含訓(xùn)練流程,包括數(shù)據(jù)預(yù)處理置逻、特征轉(zhuǎn)換推沸、分布式訓(xùn)練、反事實策略評估和優(yōu)化服務(wù)。 該平臺還展示了一些真實的例子鬓催,在 Facebook 上肺素,使用 Horizon 訓(xùn)練的模型的表現(xiàn)明顯優(yōu)于監(jiān)督式學(xué)習(xí)系統(tǒng)。
TextWorld:來自微軟的強化學(xué)習(xí)環(huán)境宇驾,GitHub上的點贊數(shù)差不多有700[5]多倍靡。該環(huán)境包含一個基于文本的游戲生成器和可擴展的沙盒學(xué)習(xí)環(huán)境,用于訓(xùn)練和測試強化學(xué)習(xí)代理课舍。 TextWorld 將強化學(xué)習(xí)和自然語言結(jié)合起來塌西,在 TextWorld 中,代理必須同時讀取和生成自然語言筝尾,自然語言具有完全不同的捡需、在許多情況下更為復(fù)雜的結(jié)構(gòu)。
參考
^https://en.wikipedia.org/wiki/Reinforcement_learning
^https://github.com/google/dopamine
^https://github.com/deepmind/trfl/blob/master/docs/index.md
^https://github.com/facebookresearch/Horizon
^https://github.com/microsoft/TextWorld
文章來源:https://zhuanlan.zhihu.com/p/66834116