強(qiáng)化學(xué)習(xí)和監(jiān)督剃诅,無監(jiān)督學(xué)習(xí)的關(guān)系
這三種同屬于機(jī)器學(xué)習(xí)的范疇。
- 與監(jiān)督學(xué)習(xí)的區(qū)別:
強(qiáng)化學(xué)習(xí)(RL)沒有預(yù)先準(zhǔn)備好的訓(xùn)練數(shù)據(jù)的輸出值(label)绑莺。
RL只有獎(jiǎng)勵(lì)值苫昌,當(dāng)然獎(jiǎng)勵(lì)值也不是事先給出的,它是延后給出的捕虽。 - 與無監(jiān)督學(xué)習(xí)的區(qū)別:
無監(jiān)督學(xué)習(xí)沒有l(wèi)abel慨丐,也沒有獎(jiǎng)勵(lì)值,只有一堆的數(shù)據(jù)特征泄私。
強(qiáng)化學(xué)習(xí)的基本要素
-
agent
agent時(shí)RL中的中心組成部分房揭,我們可以稱之為學(xué)習(xí)者或者是決策者。
-
environment
與agent進(jìn)行交互的外界晌端,我們稱之為environment捅暴。
-
action
action就是agent在當(dāng)前環(huán)境中有可能采取的動(dòng)作。
-
reward
獎(jiǎng)勵(lì)就是agent在當(dāng)前環(huán)境下采取action后的一種回應(yīng)咧纠,所以獎(jiǎng)勵(lì)基本上就像一個(gè)反饋蓬痒,衡量在那個(gè)環(huán)境中所采取的行動(dòng)的好壞,成功或失敗漆羔。獎(jiǎng)勵(lì)可以是立即的梧奢,你采取行動(dòng),你立即得到一個(gè)獎(jiǎng)勵(lì)演痒;獎(jiǎng)勵(lì)也可以是延后的,今天亲轨,你采取了一個(gè)行動(dòng),你可能直到明天或后天才能得到收益鸟顺。
以上要素惦蚊,它們不斷地交互,agent選擇動(dòng)作讯嫂,環(huán)境響應(yīng)這些動(dòng)作并向agent呈現(xiàn)新的情況养筒。
環(huán)境也會(huì)帶來回報(bào),隨著時(shí)間的推移端姚,agent通過選擇行動(dòng)來最大化回報(bào)晕粪。
這就是強(qiáng)化學(xué)習(xí)的基本過程。
基于獎(jiǎng)勵(lì)的概念渐裸,我們可以得出強(qiáng)化學(xué)習(xí)中的一個(gè)重要公式
In general, we seek to maximize the expected return, where the return, denoted
, is
defined as some specific function of the reward sequence. In the simplest case the return
is the sum of the rewards:
其中是0~1范圍的值巫湘,如果
装悲,則該agent只關(guān)心當(dāng)前立即獎(jiǎng)勵(lì)的最大化。當(dāng)
接近1時(shí)尚氛,agent會(huì)更多地考慮未來的獎(jiǎng)勵(lì)诀诊,所以agent變得更加有遠(yuǎn)見。
目前強(qiáng)化學(xué)習(xí)的算法
強(qiáng)化學(xué)習(xí)的算法基本上都包含了價(jià)值函數(shù)阅嘶。一種價(jià)值函數(shù)是關(guān)于狀態(tài)的價(jià)值函數(shù)属瓣,用來評(píng)判agent所處狀態(tài)的好壞;另一種價(jià)值函數(shù)是關(guān)于狀態(tài)-動(dòng)作的價(jià)值函數(shù)
讯柔,用來評(píng)判當(dāng)前狀態(tài)s下所采取的行動(dòng)a的好壞抡蛙。
關(guān)于model-free 和 model-based的區(qū)別(個(gè)人覺得這位網(wǎng)友的評(píng)論比較容易理解):
- Model based learning attempts to model the environment, and then based on that model,choose the most appropriate policy.
- Model-free learning attempts to learn the optimal policy in one step。
價(jià)值函數(shù)Q-function介紹
首先我們先來定義Q-function:
魂迄,其中
Q-function 有兩個(gè)輸入粗截,其中一個(gè)是狀態(tài)s,還有一個(gè)是在當(dāng)前狀態(tài)下agent執(zhí)行的動(dòng)作a捣炬。我們希望用Q-function來表示agent在狀態(tài)s下采取動(dòng)作a后未來可以獲得的總獎(jiǎng)勵(lì)的期望熊昌。
策略Policy介紹
首先,我們要知道強(qiáng)化學(xué)習(xí)它的最終目標(biāo)湿酸,就是給定任意的狀態(tài)婿屹,我要讓agent在那個(gè)狀態(tài)下,采取一個(gè)最優(yōu)的行動(dòng)推溃。
所以选泻,agent需要一個(gè)策略policy來指導(dǎo)它做行動(dòng)。
當(dāng)然美莫,很容易得到最優(yōu)的策略定義是。
Deep Q Networks介紹
這里談一下為什么要用到DQN呢梯捕,就是我們現(xiàn)實(shí)中的任務(wù)厢呵,基本上是有很多狀態(tài)的,比如一個(gè)游戲傀顾,每一幀襟铭,它都是一個(gè)狀態(tài),而且每一幀包含的信息都是高維度的信息短曾,想把這些狀態(tài)和對(duì)應(yīng)的Q值存下來幾乎不可能寒砖,所以我們用神經(jīng)網(wǎng)絡(luò)來映射狀態(tài)到Q值的關(guān)系。
左邊的模型把一個(gè)狀態(tài)和一個(gè)可能的動(dòng)作作為輸入嫉拐,得到相應(yīng)的Q值哩都。這個(gè)模型的問題是,如果我們現(xiàn)在想要使用我們的策略婉徘,為了得到最優(yōu)的Q值漠嵌,我們必須循環(huán)的輸入對(duì)應(yīng)的狀態(tài)和所有可能的行動(dòng)咐汞,然后找到最大的Q值。這顯然是不合理且費(fèi)時(shí)的儒鹿。
為了解決該問題化撕,我們介紹右邊的模型,現(xiàn)在我們只輸入狀態(tài)约炎,DQN將會(huì)計(jì)算所有可能行動(dòng)的Q值植阴,這意味著,如果我們想在給定狀態(tài)下采取行動(dòng)圾浅,我們只需將狀態(tài)反饋給網(wǎng)絡(luò)掠手,它就會(huì)返回所有的Q值。
這兩個(gè)情況都可以根據(jù)下方的Q-loss來更新網(wǎng)絡(luò)的參數(shù)贱傀。
關(guān)于DQN的具體細(xì)節(jié)惨撇,一些技巧和設(shè)置可以閱讀該文章(Nature 2015 DQN)(https://web.stanford.edu/class/psych209/Readings/MnihEtAlHassibis15NatureControlDeepRL.pdf)