為什麼知乎上感覺討論Deep reinforcement learning比討論GAN少很多?

道理上看,GAN僅僅是DRL中的一個特例,在我看來也就是one bandit problem with no explicit reward function,是因為GAN比較容易入坑還是大家對DRL不怎麼感興趣抑或是我感覺有誤?

延伸一下問題:為什麼GAN會出現如此火熱的現象,各種以GAN開頭的paper一堆堆,百花齊放,而DRL卻感覺不溫不火,貌似大家就等DeepMind出大招似的?為什麼目前DRL的state-of-the-art演算法也基本由DeepMind壟斷,沒有出現類似GAN的井噴現象?


題主的感覺是對的,GAN和RL有很多的聯繫,但是說GAN是RL的特例,這個還是有失偏頗。

準確來說和GAN很相似的是Actor-Critic(AC。更準確來說是以Deterministic Policy Gradient(DPG)為代表的對於連續動作輸出建模的RL演算法。

我覺得這篇文章能解釋這二者之間大部分聯繫(嗯依然DeepMind出品,依然是seq2seq大神)

[1610.01945] Connecting Generative Adversarial Networks and Actor-Critic Methods

GAN和AC進行比較的話,可以認為Generator對應Actor,Discriminator對應Critic(實際上在WGAN出現之後,Discriminator也被叫做Critic了,不是巧合哦)。GAN可能大家比較熟,生成樣本G(z),和真實樣本x一起通過D的評價,反傳梯度更新G。這裡面很關鍵的一點就是D給出的反傳梯度是可以直接反向傳播到G的。這中間沒有隨機採樣或者離散輸出過程。而對於一般建模離散動作策略的RL演算法,這個地方就沒辦法傳回去了。所以引入Policy Gradient這一類方法進行梯度估計。

但是呢,DPG就不一樣了(David Silver親自一作啊,品質保證)。利用確定性和對連續動作進行策略學習,把上面這個不能回傳的問題給繞過去了。所以這個時候完全可以像GAN一樣無縫連接。

但是也不是和GAN一模一樣。因為這裡面存在著一個RL的自身本質性的難題(也可以說是原罪?),就是GAN在訓練Discriminator時候,是有真實樣本作為參考的。而要訓練DPG裡面的Critic,採用最小化Q函數的Temporal Difference (TD)進行online式學習。具體關於定義及相關介紹,可以參考http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf (David Silver良心RL課程,深入淺出),大致的意思就是訓練Critic是根據自己之前的訓練成果作為指導(滿足Bellman Equation),是一種bootstrap的感覺。這也是為什麼叫做增強學習的原因。因為缺乏正確的或者標準的指導,想要探索出來正確的價值評價函數就需要漫長的探索總結(這一點人就不一樣,人能在玩遊戲時候,雖然開始時action動作執行不怎麼樣,但是能很快評價出來high-value goal,可能是源於prior knowledge?)。

那如何能讓Critic也想GAN的Discriminator一樣,接受來自真實樣本的輸入?解決這個問題可以採用Inverse Reinforcement Learning (IRL)。也就是給Critic不僅有Actor的輸出,還有Human Expert的決策過程,然後反向推斷可能的Q函數,從而讓Critic有了某種參考的標準。這個不僅對RL有幫助作用,對於生成離散輸出的GAN(比如SeqGAN,用於文本訓練的GAN)也有很大幫助。前段時間 @納米醬 寫過一篇文章,https://zhuanlan.zhihu.com/p/25862041。指出了這一思路的實現過程。行文略有春秋筆法,微言大義,很受啟發。(感謝知友評論,已經找到重新補上鏈接)

==================

寫了一大堆才發現,沒有回答題主的問題。。。這個可能真是RL比較難訓練,能show的成果不像GAN直觀且驚艷。要是非要說RL門檻高吧,WGAN還需要Optimal Transportation呢,不相上下。世事洞明皆學問,博採眾長互相借鑒,才是治學之道。


因為RL最成功的應用仍然還只是教機器打遊戲(知道有很多拿RL做其他應用的論文,然而目前並沒有產生太多實際影響),對於知乎主體用戶而言根本不接地氣。而GAN在涉及連續信號生成的任務上效果是有目共睹的,且適用範圍廣可擴展性強。對抗訓練可以充分利用無標註數據,思想上對於大多數人也都make sense,自然更容易被大家關注。

至於「特例說」,按題主的想法,其實任何優化或博弈模型都可以抽象為特定獎勵函數下的RL……


Reinforcement learning 本身問題和方向其實很多,deep 化的過程中要解決的問題還是相當棘手的,需要發現歷史中的技術比如 experience replay 或者發明出新的 trick,如 retrace。準備工作比 GANs 略多一點吧~


門檻比較高吧,畢竟學學rl比學dl難多了。而且gpu也是一個因素。 好像drl也沒幾個實驗室在做。 gan倒是很多。 但是理論方面的話。。。 感覺沒啥意思了,能把gan的幾篇paper推一邊講一遍的人也不見得那麼多,沒看到幾篇知乎有帖子在很深入的探討理論方面的問題,基本都是轉述一下完事了。


你如果去arxiv搜一搜的話會發現drl跟gan是平分秋色。GAN重現比DRL容易(畢竟drl需要配置mojuco還有gym之類的環境),門檻低一些所以知乎討論的人自然就多。另外openai和ucb的pieter abbeel組也在做drl,ai safety和模仿學習的東西。並不是deepmind一家獨大。


神tm gan是drl的特例。你這麼說神經網路還是一堆計算混到一起的特例。

gan的前途光明是個人都看得到。

drl也是前途光明的大家也都知道。

但是gan比drl晚出,drl玩起來稍稍困難些,所以gan現在更受普通人關注,這道理還不簡單?

但事實上根據某top2的某機器學習前沿課的project來看,最火的就是gan和rl,兩者幾乎平分天下,所以題主的觀點在我看來只是錯覺。


這個問題提到的「特例」一詞挺有意思,是不是可以用DRL搞一波GAN?


gan是生成學習的分支,drl是強化學習的分支,怎麼就特例了呢。

至於門檻,gan的確有些低,而且結果很炫,容易吸引geek復現。而drl訓練對gpu和數據要求都很高,因此deepmind基本上一家通吃。

但是說到熱點的話那就平分秋色了,gan略微佔優,但也和cv井噴式發展有關,許多idea遷移到gan上也有好的效果自然就要發了


推薦閱讀:

TAG:人工智慧 | 科研 | 機器學習 | 深度學習DeepLearning | 強化學習 |