Deep Reinforcement Learning簡介

David Silver說,AI = RL + DL = Deep Reinforcement Learning
他的課程:RL Cource by David Silver
RL圣經(jīng):Reinforcement Learning: An Introduction
RL是多學(xué)科的,有自己的框架體系,具體可學(xué)習(xí)上面的資料。

Je pense, donc je suis

講點題外話,我們思考一下學(xué)習(xí)的本質(zhì)。當(dāng)一個新生命誕生時,沒有人去教他該做什么,該怎么做,他只有去試探身邊的環(huán)境,觀察給他的反應(yīng)。在不斷和環(huán)境交互感知過程中,他知道了一些行動會帶來什么。其實小孩子大家都知道有時候可能會做一些事情,大人感覺很傻,或許抱著為他好的態(tài)度糾正甚至懲罰他,逐漸變成了大人的樣子。哈哈哈,這個過程中小孩有些事情可能真的是錯的,有些事情可能是他的潛力,但是就被抑制住了。那這種learn by interacting with our environment就是RL的思想,再多說一點,其實人本身是不了解自己的,也是和環(huán)境交互的過程中,你了解了環(huán)境,可能也了解了自己。假設(shè)你生于野人環(huán)境,想必你也就明白了吧。那么請問,假設(shè)你不安于現(xiàn)狀,那你是改變環(huán)境呢?還是改變自己呢?好了,廢話太多了。

領(lǐng)域涉及

總結(jié)一句話RL是關(guān)注從與環(huán)境交互(interaction)中學(xué)習(xí),一種結(jié)果導(dǎo)向的方法,應(yīng)用于一系列決策過程??梢员硎緸镸arkov Decision Processes(MDPs)。RL關(guān)注的從交互中學(xué)習(xí)使它強于其他方法,如博弈論中最小最大原則,它假定環(huán)境按一定規(guī)則來;常用的動態(tài)規(guī)劃,假定對環(huán)境完全可知等。
簡單來說,RL中有一個機器人(agent),根據(jù)看到的環(huán)境(environment)現(xiàn)狀(observation/state),采取一定的行動(action),環(huán)境的狀態(tài)隨之改變并會返回一定的獎懲(reward)給agent。
RL的學(xué)習(xí)目標(biāo)就是采取決策,根據(jù)state采取action,最大化累計reward。

Reinforcement Learning
RL特點
  • agent的action會影響后面inputs(closed-loop)
  • agent不知道應(yīng)該采取什么action,只能不斷嘗試(非有監(jiān)督)
  • action不但會影響目前的reward,還會影響未來的reward(foresight)

這里簡單舉例談一下RL與一般機器學(xué)習(xí)區(qū)別。(supervised learning)

  • 下圍棋
    supervised learning 就是有個老師會教機器,你看到這個盤勢,你該在哪落子,但圍棋,其實人也不知這個盤勢到底該在哪落子最好,他可以學(xué)會下圍棋,但可能不是最厲害的!
    Reinforcement learning 就是沒有老師教你,有一個對手陪你下,如果贏了就得到positive reward,輸了就得到negative reward,下了很多盤下來,機器大概知道怎么下比較好,是從經(jīng)驗來學(xué)習(xí),要想變得厲害需要下很多盤,人不可能陪它下很多盤,alpha狗就是train兩個棋手互下!alphago 是先supervised learning讓他大概知道怎么下,然后再和機器互下的supervied learning + reinforcement learning,這個supervised的過程理論上是提升效率,讓機器不至于走太多彎路,當(dāng)然最近出來的alphago zero似乎并沒有先學(xué)習(xí)棋譜,殘虐了第一代alphago。
    那么這個先驗的知識提供了這個問題的有用的信息,但是過多的信息似乎又會影響機器的發(fā)揮,真正決定機器能力的還是從交互中學(xué)到的。這如同過擬合與欠擬合的關(guān)系了
  • 對話
    針對chat-bot來說,supervied learning就是說,我告訴你你該怎么說話;
    RL的話就是讓機器和人說話,說著說著人如果發(fā)火了,這時候機器得到negative reward,他可能某一句話不好,但是他其實不知道哪句話不好,這時候他要自己想辦法去反省了哈哈
    但是人也是累的,不會陪它一直講,那采取alpha go思想,learn 兩個chat-bot互講,但是容易陷入無窮循環(huán)。。
    但是兩個機器聊天你不知道他們說的話是不是人話。。一些paper有設(shè)定一些對話規(guī)則。但這樣其實也不一定是最好的辦法。
    如果用GAN的方法的話,就是你要train一個D來說判斷這對話是不是人話,是的話給reward,也就是train一個給reward的方法,那其實聽起來還不錯哦
  • 打游戲
    和游戲里面的電腦區(qū)別是什么呢?游戲里面的電腦是人編程寫出來,按照一定規(guī)則來做,RL玩游戲其實是和人一樣的,它看到的也是游戲圖像(inputs),然后他采取相應(yīng)的操作,得到相應(yīng)的reward,比如游戲分數(shù),行動會影響environment,下一次看到的游戲圖像就會改變,(環(huán)境的變化也可能和action無關(guān)),這個過程不斷進行直到游戲結(jié)束。(一個episode),他學(xué)習(xí)如果在這個episode中得到最多的reward,以下是一些開源資料
    Gym: https://gym.openai.com/
    universe: https:// openai.com/blog/universe/

supervised learning目標(biāo)是generalization,unsupervised learning目標(biāo)是找潛在結(jié)構(gòu)模式。所以RL不屬于他們。一般的機器學(xué)習(xí)是從一些子問題考慮,不會考慮整體大框架。而RL正好相反,它是通過對尋求完整的goal-directed agent與未知環(huán)境交互的問題,agent被置于一個未知世界,決策時它必須考慮實時選擇和未來影響作用,以及對環(huán)境改變。當(dāng)RL用于子問題時,這時候就要跳出局部看到問題的本質(zhì),找到通用的框架!

RL的基本元素
  • policy
    策略:一個從state到action的映射,也是我們最終需要得到的。廣義上它可以是有隨機性的
  • reward
    衡量某個state好壞,直接由環(huán)境給出(屬性),不能被agent所改變,表示當(dāng)前行動的收益(短期)
  • value
    衡量一個state的reward的價值(長期),它考慮了未來可能得到的reward和當(dāng)下的reward,通過把未來的價值折現(xiàn)到此刻。這是agent在決策時考慮的的目標(biāo),間接表現(xiàn)出agent的長遠目光
  • model of enironment(可選)
    允許對環(huán)境做出預(yù)測,根據(jù)當(dāng)前state和action預(yù)測未來的state和reward,進而輔助agent進行決策。如果用model則問題叫model-based,否則為model-free

如何把一個問題放到RL框架呢?
那首先你這個問題肯定得有agent,environment,action。agent通過action和environment交互實現(xiàn)一個目標(biāo),其中的agent要求如下

  • agent可以感知environment,采取action可以影響environment
  • agent不知道應(yīng)該采取什么action,只能不斷嘗試
  • agent有一個關(guān)于state的goal
RL的挑戰(zhàn)及難點
  • trade-off between exploration and exploitation
    agent需要知道有什么已經(jīng)做過的action來獲得reward,還要不斷探索新的action是否可以獲得更多的reward,既要保守又要開放。
  • reward delay
    比如會發(fā)現(xiàn)只有某個action會有reward(比如下棋只有贏了才有reward),但是如果不用其他action肯定不行的,其他action會在未來給你更多的reward,agent需要有遠見,短期的犧牲會換來更好未來的
  • 如何控制產(chǎn)生不想要的后果
    RL能做到智能就要通過explore未知的行動,這使他在遇到未知領(lǐng)域時能有效解決(比如alphago zero),但是怎么保證它不會觸及一些底線呢(比如agent學(xué)壞了)?現(xiàn)有的方法比如,加約束,改變objective function讓他對風(fēng)險敏感等

上面簡單介紹了RL的一些特點,那它最適合做什么樣的任務(wù)呢?其實涉及決策都可以用RL框架,但它的特點決定了它更適合做人也不知道怎么做是最好的事情!比如interactive retrieval,讓機器根據(jù)人的查詢來反問問題,得到更精準的查詢,開無人機,無人車,下棋(Alpha Go),投資決策,仿人類行動機器人,打游戲虐人類等(我傾向于做一個保姆,恩)

下次了解一下RL的解法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容