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
講點(diǎn)題外話返帕,我們思考一下學(xué)習(xí)的本質(zhì)啥纸。當(dāng)一個(gè)新生命誕生時(shí)喜喂,沒有人去教他該做什么,該怎么做敢靡,他只有去試探身邊的環(huán)境挂滓,觀察給他的反應(yīng)。在不斷和環(huán)境交互感知過程中,他知道了一些行動會帶來什么赶站。其實(shí)小孩子大家都知道有時(shí)候可能會做一些事情幔虏,大人感覺很傻,或許抱著為他好的態(tài)度糾正甚至懲罰他贝椿,逐漸變成了大人的樣子想括。哈哈哈,這個(gè)過程中小孩有些事情可能真的是錯(cuò)的烙博,有些事情可能是他的潛力瑟蜈,但是就被抑制住了。那這種learn by interacting with our environment就是RL的思想渣窜,再多說一點(diǎn)铺根,其實(shí)人本身是不了解自己的,也是和環(huán)境交互的過程中乔宿,你了解了環(huán)境位迂,可能也了解了自己。假設(shè)你生于野人環(huán)境详瑞,想必你也就明白了吧掂林。那么請問,假設(shè)你不安于現(xiàn)狀坝橡,那你是改變環(huán)境呢泻帮?還是改變自己呢?好了计寇,廢話太多了锣杂。
總結(jié)一句話RL是關(guān)注從與環(huán)境交互(interaction)中學(xué)習(xí),一種結(jié)果導(dǎo)向的方法饲常,應(yīng)用于一系列決策過程蹲堂±翘郑可以表示為Markov Decision Processes(MDPs)贝淤。RL關(guān)注的從交互中學(xué)習(xí)使它強(qiáng)于其他方法,如博弈論中最小最大原則政供,它假定環(huán)境按一定規(guī)則來播聪;常用的動態(tài)規(guī)劃,假定對環(huán)境完全可知等布隔。
簡單來說离陶,RL中有一個(gè)機(jī)器人(agent),根據(jù)看到的環(huán)境(environment)現(xiàn)狀(observation/state)衅檀,采取一定的行動(action)招刨,環(huán)境的狀態(tài)隨之改變并會返回一定的獎(jiǎng)懲(reward)給agent。
RL的學(xué)習(xí)目標(biāo)就是采取決策哀军,根據(jù)state采取action沉眶,最大化累計(jì)reward打却。
RL特點(diǎn)
- agent的action會影響后面inputs(closed-loop)
- agent不知道應(yīng)該采取什么action,只能不斷嘗試(非有監(jiān)督)
- action不但會影響目前的reward谎倔,還會影響未來的reward(foresight)
這里簡單舉例談一下RL與一般機(jī)器學(xué)習(xí)區(qū)別柳击。(supervised learning)
- 下圍棋
supervised learning 就是有個(gè)老師會教機(jī)器,你看到這個(gè)盤勢片习,你該在哪落子捌肴,但圍棋,其實(shí)人也不知這個(gè)盤勢到底該在哪落子最好藕咏,他可以學(xué)會下圍棋状知,但可能不是最厲害的!
Reinforcement learning 就是沒有老師教你孽查,有一個(gè)對手陪你下试幽,如果贏了就得到positive reward,輸了就得到negative reward卦碾,下了很多盤下來铺坞,機(jī)器大概知道怎么下比較好,是從經(jīng)驗(yàn)來學(xué)習(xí)洲胖,要想變得厲害需要下很多盤济榨,人不可能陪它下很多盤,alpha狗就是train兩個(gè)棋手互下绿映!alphago 是先supervised learning讓他大概知道怎么下擒滑,然后再和機(jī)器互下的supervied learning + reinforcement learning,這個(gè)supervised的過程理論上是提升效率叉弦,讓機(jī)器不至于走太多彎路丐一,當(dāng)然最近出來的alphago zero似乎并沒有先學(xué)習(xí)棋譜,殘虐了第一代alphago淹冰。
那么這個(gè)先驗(yàn)的知識提供了這個(gè)問題的有用的信息库车,但是過多的信息似乎又會影響機(jī)器的發(fā)揮,真正決定機(jī)器能力的還是從交互中學(xué)到的樱拴。這如同過擬合與欠擬合的關(guān)系了 - 對話
針對chat-bot來說柠衍,supervied learning就是說,我告訴你你該怎么說話晶乔;
RL的話就是讓機(jī)器和人說話珍坊,說著說著人如果發(fā)火了,這時(shí)候機(jī)器得到negative reward正罢,他可能某一句話不好阵漏,但是他其實(shí)不知道哪句話不好,這時(shí)候他要自己想辦法去反省了哈哈
但是人也是累的,不會陪它一直講履怯,那采取alpha go思想川无,learn 兩個(gè)chat-bot互講,但是容易陷入無窮循環(huán)虑乖。懦趋。
但是兩個(gè)機(jī)器聊天你不知道他們說的話是不是人話。疹味。一些paper有設(shè)定一些對話規(guī)則仅叫。但這樣其實(shí)也不一定是最好的辦法。
如果用GAN的方法的話糙捺,就是你要train一個(gè)D來說判斷這對話是不是人話诫咱,是的話給reward,也就是train一個(gè)給reward的方法洪灯,那其實(shí)聽起來還不錯(cuò)哦 - 打游戲
和游戲里面的電腦區(qū)別是什么呢坎缭?游戲里面的電腦是人編程寫出來,按照一定規(guī)則來做签钩,RL玩游戲其實(shí)是和人一樣的掏呼,它看到的也是游戲圖像(inputs),然后他采取相應(yīng)的操作,得到相應(yīng)的reward铅檩,比如游戲分?jǐn)?shù)憎夷,行動會影響environment,下一次看到的游戲圖像就會改變昧旨,(環(huán)境的變化也可能和action無關(guān))拾给,這個(gè)過程不斷進(jìn)行直到游戲結(jié)束。(一個(gè)episode)兔沃,他學(xué)習(xí)如果在這個(gè)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不屬于他們额衙。一般的機(jī)器學(xué)習(xí)是從一些子問題考慮,不會考慮整體大框架缰雇。而RL正好相反入偷,它是通過對尋求完整的goal-directed agent與未知環(huán)境交互的問題,agent被置于一個(gè)未知世界械哟,決策時(shí)它必須考慮實(shí)時(shí)選擇和未來影響作用,以及對環(huán)境改變殿雪。當(dāng)RL用于子問題時(shí)暇咆,這時(shí)候就要跳出局部看到問題的本質(zhì),找到通用的框架!
RL的基本元素
-
policy
策略:一個(gè)從state到action的映射爸业,也是我們最終需要得到的其骄。廣義上它可以是有隨機(jī)性的 -
reward
衡量某個(gè)state好壞,直接由環(huán)境給出(屬性)扯旷,不能被agent所改變拯爽,表示當(dāng)前行動的收益(短期) -
value
衡量一個(gè)state的reward的價(jià)值(長期),它考慮了未來可能得到的reward和當(dāng)下的reward钧忽,通過把未來的價(jià)值折現(xiàn)到此刻毯炮。這是agent在決策時(shí)考慮的的目標(biāo),間接表現(xiàn)出agent的長遠(yuǎn)目光 -
model of enironment(可選)
允許對環(huán)境做出預(yù)測耸黑,根據(jù)當(dāng)前state和action預(yù)測未來的state和reward桃煎,進(jìn)而輔助agent進(jìn)行決策。如果用model則問題叫model-based大刊,否則為model-free
如何把一個(gè)問題放到RL框架呢为迈?
那首先你這個(gè)問題肯定得有agent,environment缺菌,action葫辐。agent通過action和environment交互實(shí)現(xiàn)一個(gè)目標(biāo),其中的agent要求如下
- agent可以感知environment伴郁,采取action可以影響environment
- agent不知道應(yīng)該采取什么action另患,只能不斷嘗試
- agent有一個(gè)關(guān)于state的goal
RL的挑戰(zhàn)及難點(diǎn)
-
trade-off between exploration and exploitation
agent需要知道有什么已經(jīng)做過的action來獲得reward,還要不斷探索新的action是否可以獲得更多的reward蛾绎,既要保守又要開放昆箕。 -
reward delay
比如會發(fā)現(xiàn)只有某個(gè)action會有reward(比如下棋只有贏了才有reward),但是如果不用其他action肯定不行的租冠,其他action會在未來給你更多的reward鹏倘,agent需要有遠(yuǎn)見,短期的犧牲會換來更好未來的 -
如何控制產(chǎn)生不想要的后果
RL能做到智能就要通過explore未知的行動顽爹,這使他在遇到未知領(lǐng)域時(shí)能有效解決(比如alphago zero)纤泵,但是怎么保證它不會觸及一些底線呢(比如agent學(xué)壞了)?現(xiàn)有的方法比如镜粤,加約束捏题,改變objective function讓他對風(fēng)險(xiǎn)敏感等
上面簡單介紹了RL的一些特點(diǎn),那它最適合做什么樣的任務(wù)呢肉渴?其實(shí)涉及決策都可以用RL框架公荧,但它的特點(diǎn)決定了它更適合做人也不知道怎么做是最好的事情!比如interactive retrieval同规,讓機(jī)器根據(jù)人的查詢來反問問題循狰,得到更精準(zhǔn)的查詢窟社,開無人機(jī),無人車绪钥,下棋(Alpha Go)灿里,投資決策,仿人類行動機(jī)器人程腹,打游戲虐人類等(我傾向于做一個(gè)保姆匣吊,恩)
下次了解一下RL的解法