人工智慧庫,有沒有結合Deep Learning 和Reinforcement Learning的呢?

大神們好。最近在看 Deep Reinforcement Learning和Natural Language Processing,我之前用Theano 最近轉用 TensorFlow了。我看了很多 TensorFlow 的Wrapper,如 keras和tflearn,我感覺都封裝得太頂層了,很多細節我們都不能涉入(相比之下tflearn比keras要稍微好一些,keras採用scikit-learn的模式,用 model.add() 來建立network 最後用 model.fit() 來訓練network)
另外,tflearn現在都不支持 Seq2seq,根本沒法做高級的NLP實驗,而 Keras 的實測速度比純 TensorFlow代碼慢整整一倍...

所以現在只能直接用TensorFlow來開發。
-------------------------
我的問題是,有沒有大神能在選擇TensorFlow Wrapper上面給些建議?最好能很好地結合 RL,這樣開發 DRL 就很方便了。謝謝!


這個問題已經發了很久了,邀請了很多人,但沒有人回答 ....

或許真的不存在那麼好的庫,現有的庫又封裝得太死,最終被迫自己動手寫一個...

[1] TensorLayer Github

[2] TensorLayer 例子

[3] 第三方例子

[4] TensorLayer 英文文檔

[5] TensorLayer 中文文檔

[6] Review of TensorFlow sugar coatings

教程里包含了 Google TensorFlow 網站上的深度學習教程的模塊化實現。

不過RL部分還需要更多人一起完善~~


Keras是可以支持seq2seq的
https://github.com/farizrahman4u/seq2seq

至於wrapper:

1)Keras的封裝已經很靈活了,如果實在對layer有很細節的定製需求的話,只要不是太複雜,完全可以繼承Keras的Layer來實現(Writing your own Keras layers),或者參考源碼將原有封裝的層做一些改動來作為一個新的layer來用。

2)RL的框架雖然一大把,最好自己寫一下,也不是很費時費力。


Keras封裝才只有一層, 若是用Tensorflow後端的話, 設m是class Model的物件, 那m.outputs就可以得到一串Tensorflow表達式, 另外m.inputs也是Tensorflow變數
keras可以只用來組網路, 再把m.outputs的Tensorflow表達式直接拿出來用, 就直接是最底層了
另外根本不用另外找結合RL的lib, 參考http://arxiv.org/abs/1509.06461, 擬合 (s,a) -&> Q 函數的方法都只是很一般監督學習, keras就可以fit了, 另論文中有比較不同的待訓練Q值計算方法


rllab from Berkeley?


推薦閱讀:

為什麼 AI 發展到今天,圍棋能下過李世石、柯潔,仍不能完成幫人類洗衣物、做飯這種簡單的事?
如何看待波士頓動力2016.2.24的新版機器人和人工智慧的關係?
到目前為止(2015),人工智慧領域有哪些面向強智能(完整的,通用的智能)的模型?
在日本學造機器人是怎樣的經歷?
在剛剛結束的東京國際機器人展上,有哪些值得研究的機器人?

TAG:人工智慧 | 機器學習 | 神經網路 | 深度學習DeepLearning | 強化學習ReinforcementLearning |