2023-06-25 06:16:36來源:博客園
深度Q網(wǎng)絡(luò)(deep Q-network,DQN):基于深度學(xué)習(xí)的Q學(xué)習(xí)算法,其結(jié)合了價值函數(shù)近似(value function approximation)與神經(jīng)網(wǎng)絡(luò)技術(shù),并采用目標(biāo)網(wǎng)絡(luò)和經(jīng)驗(yàn)回放等方法進(jìn)行網(wǎng)絡(luò)的訓(xùn)練。
狀態(tài)-價值函數(shù)(state-value function):其輸入為演員某一時刻的狀態(tài),輸出為一個標(biāo)量,即當(dāng)演員在對應(yīng)的狀態(tài)時,預(yù)期的到過程結(jié)束時間段內(nèi)所能獲得的價值。
狀態(tài)-價值函數(shù)貝爾曼方程(state-value function Bellman equation):基于狀態(tài)-價值函數(shù)的貝爾曼方程,它表示在狀態(tài) $s_t$ 下對累積獎勵 $G_t$ 的期望。
(資料圖)
Q函數(shù)(Q-function): 其也被稱為動作價值函數(shù)(action-value function)。其輸入是一個狀態(tài)-動作對,即在某一具體的狀態(tài)采取對應(yīng)的動作,假設(shè)我們都使用某個策略 $\pi$ ,得到的累積獎勵的期望值有多大。
目標(biāo)網(wǎng)絡(luò)(target network):其可解決在基于時序差分的網(wǎng)絡(luò)中,優(yōu)化目標(biāo) $Q_{\pi}\left(s_{t}, a_{t}\right) = r_{t}+Q_{\pi}\left(s_{t+1}, \pi\left(s_{t+1}\right)\right)$ 左右兩側(cè)會同時變化使得訓(xùn)練過程不穩(wěn)定,從而增大回歸的難度的問題。目標(biāo)網(wǎng)絡(luò)選擇將右邊部分,即 $r_{t}+Q_{\pi}\left(s_{t+1}, \pi\left(s_{t+1}\right)\right)$ 固定,通過改變左邊部分,即 $Q_{\pi}\left(s_{t}, a_{t}\right)$ 中的參數(shù)進(jìn)行回歸,這也是深度Q網(wǎng)絡(luò)應(yīng)用中比較重要的技巧。
探索(exploration):我們在使用Q函數(shù)的時候,我們的策略完全取決于Q函數(shù),這有可能導(dǎo)致出現(xiàn)對應(yīng)的動作是固定的某幾個數(shù)值的情況,而不像策略梯度中的輸出是隨機(jī)的,我們再從隨機(jī)分布中采樣選擇動作。這會導(dǎo)致我們繼續(xù)訓(xùn)練的輸入值一樣,從而“加重”輸出的固定性,導(dǎo)致整個模型的表達(dá)能力急劇下降,這就是探索-利用窘境(exploration-exploitation dilemma)問題。我們可以使用 $\varepsilon$-貪心和玻爾茲曼探索(Boltzmann exploration)等探索方法進(jìn)行優(yōu)化。
經(jīng)驗(yàn)回放(experience replay):其會構(gòu)建一個回放緩沖區(qū)(replay buffer)來保存許多經(jīng)驗(yàn),每一個經(jīng)驗(yàn)的形式如下:在某一個狀態(tài) $s_t$,采取某一個動作 $a_t$,得到獎勵 $r_t$,然后進(jìn)入狀態(tài) $s_{t+1}$。我們使用 $\pi$ 與環(huán)境交互多次,把收集到的經(jīng)驗(yàn)都存儲在回放緩沖區(qū)中。當(dāng)我們的緩沖區(qū)“裝滿”后,就會自動刪去最早進(jìn)入緩沖區(qū)的經(jīng)驗(yàn)。在訓(xùn)練時,對于每一輪迭代都有相對應(yīng)的批量(batch)(與我們訓(xùn)練普通的網(wǎng)絡(luò)一樣,都是通過采樣得到的),然后用這個批量中的經(jīng)驗(yàn)去更新我們的Q函數(shù)。綜上,Q函數(shù)在采樣和訓(xùn)練的時候,會用到過去的經(jīng)驗(yàn),所以這里稱這個方法為經(jīng)驗(yàn)回放,其也是深度Q網(wǎng)絡(luò)應(yīng)用中比較重要的技巧。
雙深度Q網(wǎng)絡(luò)(double DQN):在雙深度Q網(wǎng)絡(luò)中存在兩個Q網(wǎng)絡(luò),第一個Q網(wǎng)絡(luò)決定哪一個動作的Q值最大,從而決定對應(yīng)的動作。另一方面,Q值是用 $Q"$ 計(jì)算得到的,這樣就可以避免過度估計(jì)的問題。具體地,假設(shè)我們有兩個Q函數(shù)并且第一個Q函數(shù)高估了它現(xiàn)在執(zhí)行的動作 $a$ 的值,這沒關(guān)系,只要第二個Q函數(shù) $Q"$ 沒有高估動作 $a$ 的值,那么計(jì)算得到的就還是正常的值。
競爭深度Q網(wǎng)絡(luò)(dueling DQN):將原來的深度Q網(wǎng)絡(luò)的計(jì)算過程分為兩步。第一步計(jì)算一個與輸入有關(guān)的標(biāo)量 $\mathrm{V(s)}$;第二步計(jì)算一個向量 $\mathrm{A(s,a)}$ 對應(yīng)每一個動作。最后的網(wǎng)絡(luò)將兩步的結(jié)果相加,得到我們最終需要的Q值。用一個公式表示就是 $\mathrm{Q(s,a)=V(s)+A(s,a)}$ 。另外,競爭深度Q網(wǎng)絡(luò),使用狀態(tài)價值函數(shù)與動作價值函數(shù)來評估Q值。
優(yōu)先級經(jīng)驗(yàn)回放(prioritized experience replay,PER):這個方法是為了解決我們在第6章中提出的經(jīng)驗(yàn)回放方法的不足而提出的。我們在使用經(jīng)驗(yàn)回放時,均勻地取出回放緩沖區(qū)(reply buffer)中的采樣數(shù)據(jù),這里并沒有考慮數(shù)據(jù)間的權(quán)重大小。但是我們應(yīng)該將那些訓(xùn)練效果不好的數(shù)據(jù)對應(yīng)的權(quán)重加大,即其應(yīng)該有更大的概率被采樣到。綜上,優(yōu)先級經(jīng)驗(yàn)回放不僅改變了被采樣數(shù)據(jù)的分布,還改變了訓(xùn)練過程。
噪聲網(wǎng)絡(luò)(noisy net):其在每一個回合開始的時候,即智能體要和環(huán)境交互的時候,在原來的Q函數(shù)的每一個參數(shù)上加上一個高斯噪聲(Gaussian noise),把原來的Q函數(shù)變成 $\tilde{Q}$ ,即噪聲Q函數(shù)。同樣,我們把每一個網(wǎng)絡(luò)的權(quán)重等參數(shù)都加上一個高斯噪聲,就得到一個新的網(wǎng)絡(luò) $\tilde{Q}$ 。我們會使用這個新的網(wǎng)絡(luò)與環(huán)境交互直到結(jié)束。
分布式Q函數(shù)(distributional Q-function):對深度Q網(wǎng)絡(luò)進(jìn)行模型分布,將最終網(wǎng)絡(luò)的輸出的每一類別的動作再進(jìn)行分布操作。
彩虹(rainbow):將7個技巧/算法綜合起來的方法,7個技巧分別是——深度Q網(wǎng)絡(luò)、雙深度Q網(wǎng)絡(luò)、優(yōu)先級經(jīng)驗(yàn)回放的雙深度Q網(wǎng)絡(luò)、競爭深度Q網(wǎng)絡(luò)、異步優(yōu)勢演員-評論員算法(A3C)、分布式Q函數(shù)、噪聲網(wǎng)絡(luò),進(jìn)而考察每一個技巧的貢獻(xiàn)度或者與環(huán)境的交互是否是正反饋的。
首先深度Q網(wǎng)絡(luò)為基于深度學(xué)習(xí)的Q學(xué)習(xí)算法,而在Q學(xué)習(xí)中,我們使用表格來存儲每一個狀態(tài)下動作的獎勵,即我們在正文中介紹的動作價值函數(shù) $Q(s,a)$ 。但是在我們的實(shí)際任務(wù)中,狀態(tài)量通常數(shù)量巨大,并且在連續(xù)任務(wù)中會遇到維度災(zāi)難等問題,使用真正的價值函數(shù)通常是不切實(shí)際的,所以使用了與價值函數(shù)近似的表示方法。
與狀態(tài)和演員直接相關(guān)。我們在討論輸出時通常是針對一個演員衡量一個狀態(tài)的好壞,也就是狀態(tài)、價值從本質(zhì)上來說是依賴于演員的。不同的演員在相同的狀態(tài)下也會有不同的輸出。
(1)基于蒙特卡洛的方法:本質(zhì)上就是讓演員與環(huán)境交互。評論員根據(jù)統(tǒng)計(jì)結(jié)果,將演員和狀態(tài)對應(yīng)起來,即如果演員看到某一狀態(tài) $s_a$ ,將預(yù)測接下來的累積獎勵有多大,如果看到另一個狀態(tài) $s_b$,將預(yù)測接下來的累積獎勵有多大。但是其普適性不好,其需要匹配到所有的狀態(tài)。如果我們面對的是一個簡單的例如貪吃蛇游戲等狀態(tài)有限的問題還可以應(yīng)對,但是如果我們面對的是一個圖片型的任務(wù),我們幾乎不可能將所有的狀態(tài)(對應(yīng)每一幀的圖像)的都“記錄”下來??傊?,其不能對未出現(xiàn)過的輸入狀態(tài)進(jìn)行對應(yīng)價值的輸出。
(2)基于蒙特卡洛的網(wǎng)絡(luò)方法:為了彌補(bǔ)上面描述的基于蒙特卡洛的方法的不足,我們將其中的狀態(tài)價值函數(shù) $V_{\pi}(s)$ 定義為一個網(wǎng)絡(luò),其可以對于從未出現(xiàn)過的輸入狀態(tài),根據(jù)網(wǎng)絡(luò)的泛化和擬合能力,“估測”出一個價值輸出。
(3)基于時序差分的網(wǎng)絡(luò)方法,即基于時序差分的網(wǎng)絡(luò):與我們在前4章介紹的蒙特卡洛方法與時序差分方法的區(qū)別一樣,基于時序差分的網(wǎng)絡(luò)方法和基于蒙特卡洛的網(wǎng)絡(luò)方法的區(qū)別也相同。在基于蒙特卡洛的方法中,每次我們都要計(jì)算累積獎勵,也就是從某一個狀態(tài) $s_a$ 一直到游戲結(jié)束的時候,得到的所有獎勵的總和。所以要應(yīng)用基于蒙特卡洛的方法時,我們必須至少把游戲玩到結(jié)束。但有些游戲要玩到游戲結(jié)束才能夠更新網(wǎng)絡(luò)花費(fèi)的時間太長了,因此我們會采用基于時序差分的網(wǎng)絡(luò)方法?;跁r序差分的網(wǎng)絡(luò)方法不需要把游戲玩到結(jié)束,只要在游戲某一個狀態(tài) $s_t$ 的時候,采取動作 $a_t$ 得到獎勵 $r_t$ ,進(jìn)入狀態(tài) $s_{t+1}$,就可以應(yīng)用基于時序差分的網(wǎng)絡(luò)方法。其公式與之前介紹的時序差分方法類似,即 $V_{\pi}\left(s_{t}\right)=V_{\pi}\left(s_{t+1}\right)+r_{t}$。
(4)基于蒙特卡洛方法和基于時序差分方法的區(qū)別在于: 蒙特卡洛方法本身具有很大的隨機(jī)性,我們可以將其 $G_a$ 視為一個隨機(jī)變量,所以其最終的偏差很大。而對于時序差分,其具有隨機(jī)的變量 $r$ 。因?yàn)樵跔顟B(tài) $s_t$ 采取同一個動作,所得的獎勵也不一定是一樣的,所以對于時序差分方法來說,$r$ 是一個隨機(jī)變量。但是相對于蒙特卡洛方法的 $G_a$ 來說,$r$ 的隨機(jī)性非常小,這是因?yàn)?$G_a$ 本身就是由很多的 $r$ 組合而成的。從另一個角度來說,在時序差分方法中,我們的前提是 $r_t=V_{\pi}\left(s_{t+1}\right)-V_{\pi}\left(s_{t}\right)$ ,但是我們通常無法保證 $V_{\pi}\left(s_{t+1}\right)$ 、$V_{\pi}\left(s_{t}\right)$ 計(jì)算的誤差為0。所以當(dāng) $V_{\pi}\left(s_{t+1}\right)$ 、$V_{\pi}\left(s_{t}\right)$ 計(jì)算得不準(zhǔn)確,得到的結(jié)果也會是不準(zhǔn)確的。總之,兩者各有優(yōu)劣。
(5)目前,基于時序差分的方法是比較常用的,基于蒙特卡洛的方法其實(shí)是比較少用的。
理想狀態(tài)下,我們期望對于一個輸入狀態(tài),輸出其無誤差的獎勵價值。對于價值函數(shù),如果輸入狀態(tài)是 $s_a$,正確的輸出價值應(yīng)該是 $G_a$。如果輸入狀態(tài)是 $s_b$,正確的輸出價值應(yīng)該是 $G_b$。所以在訓(xùn)練的時候,其就是一個典型的機(jī)器學(xué)習(xí)中的回歸問題。我們實(shí)際中需要輸出的僅僅是一個非精確值,即我們希望在輸入狀態(tài) $s_a$ 的時候,輸出價值與 $G_a$ 越近越好;輸入 $s_b$ 的時候,輸出價值與 $G_b$ 越近越好。其訓(xùn)練方法與我們在訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)等深度神經(jīng)網(wǎng)絡(luò)時的方法類似。
基于時序差分網(wǎng)絡(luò)的核心函數(shù)為 $V_{\pi}\left(s_{t}\right)=V_{\pi}\left(s_{t+1}\right)+r_{t}$。我們將狀態(tài) $s_t$ 輸入網(wǎng)絡(luò),因?yàn)閷?$s_t$ 輸入網(wǎng)絡(luò)會得到輸出 $V_{\pi}(s_t)$,同樣將 $s_{t+1}$ 輸入網(wǎng)絡(luò)會得到$V_{\pi}(s_{t+1})$。同時核心函數(shù) $V_{\pi}\left(s_{t}\right)=V_{\pi}\left(s_{t+1}\right)+r_{t}$ 告訴我們, $V_{\pi}(s_t)$ 減 $V_{\pi}(s_{t+1})$ 的值應(yīng)該是 $r_t$。我們希望它們兩個相減的損失值與 $r_t$ 盡可能地接近。這也是網(wǎng)絡(luò)的優(yōu)化目標(biāo),我們稱之為損失函數(shù)。
(1)狀態(tài)價值函數(shù)的輸入是一個狀態(tài),它根據(jù)狀態(tài)計(jì)算出當(dāng)前這個狀態(tài)以后的累積獎勵的期望值是多少。
(2)動作價值函數(shù)的輸入是狀態(tài)-動作對,即在某一個狀態(tài)采取某一個動作,同時假設(shè)我們都使用策略 $\pi$ ,得到的累積獎勵的期望值是多少。
?
(1)使用狀態(tài)-動作對表示時,即當(dāng)Q函數(shù)的輸入是狀態(tài)-動作對時,輸出就是一個標(biāo)量。
(2)僅使用狀態(tài)表示時,即當(dāng)Q函數(shù)的輸入僅是一個狀態(tài)時,輸出就是多個價值。
首先, $\pi"$ 由 $\pi^{\prime}(s)=\underset{a}{\arg \max} Q_{\pi}(s, a)$ 計(jì)算而得,其表示假設(shè)我們已經(jīng)學(xué)習(xí)出 $\pi$ 的Q函數(shù),對于某一個狀態(tài) $s$ ,把所有可能的動作 $a$ 一一代入這個Q函數(shù),看看哪一個動作 $a$ 可以讓Q函數(shù)的價值最大,那么該動作就是 $\pi"$ 將會執(zhí)行的動作。所以根據(jù)以上方法決定動作的策略 $\pi"$ 一定比原來的策略 $\pi$ 要好,即 $V_{\pi^{\prime}}(s) \geqslant V_{\pi}(s)$ 。
(1) $\varepsilon$-貪心: 我們有 $1-\varepsilon$ 的概率(通常 $\varepsilon$ 很?。┩耆凑誕函數(shù)決定動作,但是有 $\varepsilon$ 的概率使得動作是隨機(jī)的。通常在實(shí)現(xiàn)上, $\varepsilon$的值會隨著時間遞減。也就是在最開始的時候,因?yàn)檫€不知道哪個動作是比較好的,所以我們會花比較大的力氣做探索。接下來隨著訓(xùn)練的次數(shù)越來越多,我們已經(jīng)比較確定哪一種策略是比較好的,就會減少探索,從而把 $\varepsilon$ 的值變小,主要根據(jù)Q函數(shù)來決定未來的動作,隨機(jī)性就會變小。
(2) 玻爾茲曼探索:這個方法比較像策略梯度。在策略梯度里面,網(wǎng)絡(luò)的輸出是一個期望動作空間上的一個概率分布,我們根據(jù)概率分布去采樣。所以也可以根據(jù)Q值確定一個概率分布,假設(shè)某一個動作的Q值越大,代表它越好,我們采取這個動作的概率就越高。
(1)首先,在強(qiáng)化學(xué)習(xí)的整個過程中,最花時間的過程是與環(huán)境交互,使用GPU乃至TPU來訓(xùn)練網(wǎng)絡(luò)相對來說是比較快的。而用回放緩沖區(qū)可以減少與環(huán)境交互的次數(shù)。因?yàn)樵谟?xùn)練的時候,我們的經(jīng)驗(yàn)不需要通通來自于某一個策略(或者當(dāng)前時刻的策略)。一些由過去的策略所得到的經(jīng)驗(yàn)可以放在回放緩沖區(qū)中被使用多次,被反復(fù)地再利用,這樣采樣到的經(jīng)驗(yàn)才能被高效地利用。
(2)另外,在訓(xùn)練網(wǎng)絡(luò)的時候,我們其實(shí)希望一個批量里面的數(shù)據(jù)越多樣越好。如果一個批量里面的數(shù)據(jù)都是同性質(zhì)的,我們訓(xùn)練出的模型的擬合能力可能不會很樂觀。如果一個批量里面都是一樣的數(shù)據(jù),在訓(xùn)練的時候,擬合效果會比較差。如果回放緩沖區(qū)里面的經(jīng)驗(yàn)通通來自于不同的策略,那么采樣到的一個批量里面的數(shù)據(jù)會是比較多樣的。這樣可以保證我們的模型的性能至少不會很差。
沒影響。這并不是因?yàn)檫^去的 $\pi$ 與現(xiàn)在的 $\pi"$ 很相似,就算過去的$\pi$ 不是很相似,其實(shí)也是沒有關(guān)系的。主要的原因是我們并不是去采樣一條軌跡,我們只能采樣一個經(jīng)驗(yàn),所以與是不是異策略是沒有關(guān)系的。就算是異策略,就算是這些經(jīng)驗(yàn)不是來自 $\pi$,我們還是可以使用這些經(jīng)驗(yàn)來估測 $Q_{\pi}(s,a)$。
因?yàn)閷?shí)際應(yīng)用時,需要讓 $Q(s_t ,a_t)$ 與 $r_t+\max_{a}Q(s_{t+1},a)$ 盡可能相等,即與我們的目標(biāo)越接近越好??梢园l(fā)現(xiàn),目標(biāo)值很容易一不小心就被設(shè)置得太高,因?yàn)樵谟?jì)算該目標(biāo)值的時候,我們實(shí)際上在做的事情是看哪一個動作 $a$ 可以得到最大的Q值,就把它加上去,使其成為我們的目標(biāo)。
例如,現(xiàn)在有4個動作,本來它們得到的Q值都是差不多的,它們得到的獎勵也都是差不多的,但是在估算的時候是有誤差的。如果第1個動作被高估了,那目標(biāo)就會執(zhí)行該動作,然后就會選這個高估的動作的Q值加上 $r_t$ 當(dāng)作目標(biāo)值。如果第4個動作被高估了,那目標(biāo)就會選第4個動作的Q值加上 $r_t$ 當(dāng)作目標(biāo)值。所以目標(biāo)總是會選那個Q值被高估的動作,我們也總是會選那個獎勵被高估的動作的Q值當(dāng)作Q值的最大值的結(jié)果去加上 $r_t$ 當(dāng)作新目標(biāo)值,因此目標(biāo)值總是太大。
我們可以使用雙深度Q網(wǎng)絡(luò)解決這個問題。首先,在雙深度Q網(wǎng)絡(luò)里面,選動作的Q函數(shù)與計(jì)算價值的Q函數(shù)不同。在深度Q網(wǎng)絡(luò)中,需要窮舉所有的動作 $a$,把每一個動作 $a$ 都代入Q函數(shù)并計(jì)算哪一個動作 $a$ 反饋的Q值最大,就把這個Q值加上 $r_t$ 。但是對于雙深度Q網(wǎng)絡(luò)的兩個Q網(wǎng)絡(luò),第一個Q網(wǎng)絡(luò)決定哪一個動作的Q值最大,以此來決定選取的動作。我們的Q值是用 $Q"$ 算出來的,這樣有什么好處呢?為什么這樣就可以避免過度估計(jì)的問題呢?假設(shè)我們有兩個Q函數(shù),如果第一個Q函數(shù)高估了它現(xiàn)在選出來的動作 $a$ 的值,那沒關(guān)系,只要第二個Q函數(shù) $Q"$ 沒有高估這個動作 $a$ 的值,計(jì)算得到的就還是正常值。假設(shè)反過來是 $Q"$ 高估了某一個動作的值,那也不會產(chǎn)生過度估計(jì)的問題。
在雙深度Q網(wǎng)絡(luò)中存在兩個Q網(wǎng)絡(luò),一個是目標(biāo)的Q網(wǎng)絡(luò),一個是真正需要更新的Q網(wǎng)絡(luò)。具體實(shí)現(xiàn)方法是使用需要更新的Q網(wǎng)絡(luò)選動作,然后使用目標(biāo)的Q網(wǎng)絡(luò)計(jì)算價值。雙深度Q網(wǎng)絡(luò)相較于深度Q網(wǎng)絡(luò)的更改是最少的,它幾乎沒有增加任何的運(yùn)算量,甚至連新的網(wǎng)絡(luò)都不需要。唯一要改變的就是在找最佳動作 $a$ 的時候,本來使用 $Q"$ 來計(jì)算,即用目標(biāo)的Q網(wǎng)絡(luò)來計(jì)算,現(xiàn)在改成用需要更新的Q網(wǎng)絡(luò)來計(jì)算。
對于 $\mathrm{Q}(s,a)$ ,其對應(yīng)的狀態(tài)由于為表格的形式,因此是離散的,而實(shí)際中的狀態(tài)卻不是離散的。對于 $\mathrm{Q}(s,a)$ 的計(jì)算公式—— $\mathrm{Q}(s,a)=\mathrm{V}(s)+\mathrm{A}(s,a)$ 。其中的 $\mathrm{V}(s)$ 對于不同的狀態(tài)都有值, $\mathrm{A}(s,a)$ 對于不同的狀態(tài)都有不同的動作對應(yīng)的值。所以從本質(zhì)上來說,我們最終矩陣 $\mathrm{Q}(s,a)$ 的結(jié)果是將每一個 $\mathrm{V}(s)$ 加到矩陣 $\mathrm{A}(s,a)$ 中得到的。從模型的角度考慮,我們的網(wǎng)絡(luò)直接改變的不是 $\mathrm{Q}(s,a)$ ,而是改變的 $\mathrm{V}$、$\mathrm{A}$ 。但是有時我們更新時不一定會將 $\mathrm{V}(s)$ 和 $\mathrm{Q}(s,a)$ 都更新。將狀態(tài)和動作對分成兩個部分后,我們就不需要將所有的狀態(tài)-動作對都采樣一遍,我們可以使用更高效的估計(jì)Q值的方法將最終的 $\mathrm{Q}(s,a)$ 計(jì)算出來。
優(yōu)勢:時序差分方法只采樣了一步,所以某一步得到的數(shù)據(jù)是真實(shí)值,接下來的都是Q值估測出來的。使用蒙特卡洛和時序差分平衡方法采樣比較多步,如采樣$N$步才估測價值,所以估測的部分所造成的影響就會比較小。
劣勢:因?yàn)橹悄荏w的獎勵比較多,所以當(dāng)我們把$N$步的獎勵加起來時,對應(yīng)的方差就會比較大。為了緩解方差大的問題,我們可以通過調(diào)整$N$值,在方差與不精確的Q值之間取得一個平衡。這里介紹的參數(shù)$N$是超參數(shù),需要微調(diào)參數(shù) $N$,例如是要多采樣3步、還是多采樣5步。
在深度Q網(wǎng)絡(luò)中,只要能夠估計(jì)出Q函數(shù),就可以找到一個比較好的策略。同樣地,只要能夠估計(jì)出Q函數(shù),就可以增強(qiáng)對應(yīng)的策略。因?yàn)楣烙?jì)Q函數(shù)是一個比較容易的回歸問題,在這個回歸問題中,我們可以時刻觀察模型訓(xùn)練的效果是不是越來越好(一般情況下我們只需要關(guān)注回歸的損失有沒有下降,就可以判斷模型學(xué)習(xí)得好不好),所以估計(jì)Q函數(shù)相較于學(xué)習(xí)一個策略來說是比較容易的。只需要估計(jì)Q函數(shù),就可以保證現(xiàn)在一定會得到比較好的策略,同樣其也比較容易操作。對比來說,策略梯度方法中的優(yōu)化目標(biāo)是最大化總回報,但是我們很難找到一個明確的損失函數(shù)來進(jìn)行優(yōu)化,其本質(zhì)上是一個策略搜索問題,也就是一個無約束的優(yōu)化問題。
我們在日常生活中常見的問題大都是包含連續(xù)動作的,例如智能體要進(jìn)行自動駕駛,其就需要決定方向盤要左轉(zhuǎn)幾度或右轉(zhuǎn)幾度,這就是連續(xù)的動作;假設(shè)智能體是一個機(jī)器人,它身上有50個關(guān)節(jié),它的每一個動作就對應(yīng)到這50個關(guān)節(jié)的角度,這些角度也是連續(xù)的。
然而在使用深度Q網(wǎng)絡(luò)時,很重要的一步是要求能夠解決對應(yīng)的優(yōu)化問題。當(dāng)我們預(yù)估出Q函數(shù) $Q(s,a)$ 以后,必須要找到一個動作,它可以讓 $Q(s,a)$ 最大。假設(shè)動作是離散的,那么動作 $a$ 的可能性是有限的。但如果動作是連續(xù)的,我們就不能像對離散的動作一樣,窮舉所有可能的動作了。
為了解決這個問題,有以下幾種方案。
(1)第一個方案:我們可以使用采樣方法,即隨機(jī)采樣出$N$個可能的動作,然后一個一個代入Q函數(shù)中,計(jì)算對應(yīng)的$N$個Q值,并比較哪一個最大。但是這個方案因?yàn)槭褂貌蓸臃椒ㄋ圆粫浅>_。
(2)第二個方案:我們將這個連續(xù)動作問題,建模為一個優(yōu)化問題,從而可以用梯度上升去最大化我們的目標(biāo)函數(shù)。具體地,我們將動作視為變量,使用梯度上升更新動作對應(yīng)的Q值。但是這個方案通常時間花銷比較大,因?yàn)槠湫枰?jì)算。
(3)第三個方案:設(shè)計(jì)一個特別的網(wǎng)絡(luò)架構(gòu),即設(shè)計(jì)一個特別的Q函數(shù),使得求解讓Q函數(shù)最大化的動作 $a$ 變得非常容易。也就是這里的Q函數(shù)不是一個廣義的Q函數(shù),我們可以使用特殊方法設(shè)計(jì)Q函數(shù),使得尋找讓這個Q函數(shù)最大的動作 $a$ 非常容易。但是這個方案的Q函數(shù)不能隨意設(shè)計(jì),其必須有一些額外的限制。
(4)第四個方案:不用深度Q網(wǎng)絡(luò),畢竟用其處理連續(xù)動作比較麻煩。
深度Q網(wǎng)絡(luò)是基于深度學(xué)習(xí)的Q學(xué)習(xí)算法,其結(jié)合了價值函數(shù)近似與神經(jīng)網(wǎng)絡(luò)技術(shù),并采用了目標(biāo)網(wǎng)絡(luò)和經(jīng)驗(yàn)回放技巧進(jìn)行網(wǎng)絡(luò)的訓(xùn)練。目標(biāo)網(wǎng)絡(luò)和經(jīng)驗(yàn)回放
在深度Q網(wǎng)絡(luò)中某個動作價值函數(shù)的更新依賴于其他動作價值函數(shù)。如果我們一直更新價值網(wǎng)絡(luò)的參數(shù),會導(dǎo)致更新目標(biāo)不斷變化,也就是我們在追逐一個不斷變化的目標(biāo),這樣勢必會不太穩(wěn)定。為了解決基于時序差分的網(wǎng)絡(luò)中,優(yōu)化目標(biāo) $Q_{\pi}\left(s_{t}, a_{t}\right) =r_{t}+Q_{\pi}\left(s_{t+1}, \pi\left(s_{t+1}\right)\right)$ 左右兩側(cè)會同時變化使得訓(xùn)練過程不穩(wěn)定,從而增大回歸難度的問題,目標(biāo)網(wǎng)絡(luò)選擇將優(yōu)化目標(biāo)的右邊即 $r_{t}+Q_{\pi}\left(s_{t+1}, \pi\left(s_{t+1}\right)\right)$ 固定,通過改變優(yōu)化目標(biāo)左邊的網(wǎng)絡(luò)參數(shù)進(jìn)行回歸。對于經(jīng)驗(yàn)回放,其會構(gòu)建一個回放緩沖區(qū),用來保存許多數(shù)據(jù),每一個數(shù)據(jù)的內(nèi)容包括:狀態(tài) $s_t$、采取的動作 $a_t$、得到的獎勵 $r_t$、下一個狀態(tài) $s_{t+1}$。我們使用 $\pi$ 與環(huán)境交互多次,把收集到的數(shù)據(jù)都放到回放緩沖區(qū)中。當(dāng)回放緩沖區(qū)“裝滿”后,就會自動刪去最早進(jìn)入緩沖區(qū)的數(shù)據(jù)。在訓(xùn)練時,對于每一輪迭代都有相對應(yīng)的批量(與我們訓(xùn)練普通網(wǎng)絡(luò)一樣,通過采樣得到),然后用這個批量中的數(shù)據(jù)去更新Q函數(shù)。即Q函數(shù)在采樣和訓(xùn)練的時候會用到過去的經(jīng)驗(yàn)數(shù)據(jù),也可以消除樣本之間的相關(guān)性。
整體來說,從名稱就可以看出,兩者的目標(biāo)價值以及價值的更新方式基本相同。但有如下不同點(diǎn):
(1)首先,深度Q網(wǎng)絡(luò)將Q學(xué)習(xí)與深度學(xué)習(xí)結(jié)合,用深度網(wǎng)絡(luò)來近似動作價值函數(shù),而Q學(xué)習(xí)則是采用表格進(jìn)行存儲。
(2)深度Q網(wǎng)絡(luò)采用了經(jīng)驗(yàn)回放的技巧,從歷史數(shù)據(jù)中隨機(jī)采樣,而Q學(xué)習(xí)直接采用下一個狀態(tài)的數(shù)據(jù)進(jìn)行學(xué)習(xí)。
隨機(jī)性策略表示為某個狀態(tài)下動作取值的分布,確定性策略在每個狀態(tài)只有一個確定的動作可以選。從熵的角度來說,確定性策略的熵為0,沒有任何隨機(jī)性。隨機(jī)性策略有利于我們進(jìn)行適度的探索,確定性策略不利于進(jìn)行探索。
在神經(jīng)網(wǎng)絡(luò)中通常使用隨機(jī)梯度下降法。隨機(jī)的意思是我們隨機(jī)選擇一些樣本來增量式地估計(jì)梯度,比如常用的批量訓(xùn)練方法。如果樣本是相關(guān)的,就意味著前后兩個批量很可能也是相關(guān)的,那么估計(jì)的梯度也會呈現(xiàn)出某種相關(guān)性。但是在極端條件下,后面的梯度估計(jì)可能會抵消掉前面的梯度估計(jì)量,從而使得訓(xùn)練難以收斂。
深度Q網(wǎng)絡(luò)有3個經(jīng)典的變種:雙深度Q網(wǎng)絡(luò)、競爭深度Q網(wǎng)絡(luò)、優(yōu)先級雙深度Q網(wǎng)絡(luò)。
(1)雙深度Q網(wǎng)絡(luò):將動作選擇和價值估計(jì)分開,避免Q值被過高估計(jì)。
(2)競爭深度Q網(wǎng)絡(luò):將Q值分解為狀態(tài)價值和優(yōu)勢函數(shù),得到更多有用信息。
(3)優(yōu)先級雙深度Q網(wǎng)絡(luò):將經(jīng)驗(yàn)池中的經(jīng)驗(yàn)按照優(yōu)先級進(jìn)行采樣。
深度Q網(wǎng)絡(luò)由于總是選擇當(dāng)前最優(yōu)的動作價值函數(shù)來更新當(dāng)前的動作價值函數(shù),因此存在過估計(jì)問題(估計(jì)的價值函數(shù)值大于真實(shí)的價值函數(shù)值)。為了解耦這兩個過程,雙深度Q網(wǎng)絡(luò)使用兩個價值網(wǎng)絡(luò),一個網(wǎng)絡(luò)用來執(zhí)行動作選擇,然后用另一個網(wǎng)絡(luò)的價值函數(shù)對應(yīng)的動作值更新當(dāng)前網(wǎng)絡(luò)。
對于 $\boldsymbol{Q}(s,a)$ ,其對應(yīng)的狀態(tài)由于為表格的形式,因此是離散的,而實(shí)際的狀態(tài)大多不是離散的。對于Q值 $\boldsymbol{Q}(s,a)=V(s)+\boldsymbol{A}(s,a)$ 。其中的 $V(s)$ 是對于不同的狀態(tài)都有值, $\boldsymbol{A}(s,a)$ 對于不同的狀態(tài)都有不同的動作對應(yīng)的值。所以本質(zhì)上,我們最終的矩陣 $\boldsymbol{Q}(s,a)$ 是將每一個 $V(s)$ 加到矩陣 $\boldsymbol{A}(s,a)$ 中得到的。但是有時我們更新時不一定會將 $V(s)$ 和 $\boldsymbol{Q}(s,a)$ 都更新。我們將其分成兩個部分后,就不需要將所有的狀態(tài)-動作對都采樣一遍,我們可以使用更高效的估計(jì)Q值的方法將最終的 $\boldsymbol{Q}(s,a)$ 計(jì)算出來。
更多優(yōu)質(zhì)內(nèi)容請關(guān)注公號:汀丶人工智能
關(guān)鍵詞:
責(zé)任編輯:電子發(fā)燒友原創(chuàng)章鷹?6月8日,在比亞迪年度股東大會上,董事長王傳福表
鼓聲激蕩、樂聲悠揚(yáng)。昨日上午,2023海峽兩岸鄭成功文化節(jié)開幕式暨頌典
1、委托電話5991458859917888咨詢電話59520033。本文到此分享完畢,希
近日,長沙尋子22年的雷武澤(雷公)收到了警方傳來的好消息,兒子雷岳
15年過去,郎錚已長大成人,并順利參加了今年的高考。
甘肅2023二級建造師查分時間由二級建造師考試欄目提供,查找更多考試報
一 打開和關(guān)閉輸入文件和輸出文件想要解決上面提到的問題,我們需要對m
我休假結(jié)束那天,父親從砂鍋中,舀出半碗烏雞湯,滴上兩滴生抽遞給我。
據(jù)了解,此前深藍(lán)S7已經(jīng)公布了預(yù)售價,其預(yù)售價區(qū)間為16 99萬-23 99萬
6月23日,徐靜蕾在社交賬號中曬出一組在豪宅內(nèi)拍攝的美照,配文:“瘋
一、交通事故工傷醫(yī)療費(fèi)原件給誰醫(yī)療費(fèi)、票據(jù)原件已經(jīng)交至公司,公司對
今日雷霆總經(jīng)理普雷斯蒂在采訪中談到了霍姆格倫。普雷斯蒂表示:“我們
隨著端午假期到來,旅游市場也被點(diǎn)燃,各地推出了豐富的文旅活動,在吸
6月24日凌晨三點(diǎn),國泰航空CX880航班因訊號異常中止起飛,緊急逃生梯打
濟(jì)寧市氣象臺2023年6月24日9時00分將高溫紅色預(yù)警信號降級為高溫橙色預(yù)
根據(jù)規(guī)定,甘肅2023年二級建造師成績查詢時間為:考后2-3個月,考生登
浙江省水文管理中心2023年6月24日17時發(fā)布嘉興水文站洪水紅色預(yù)警:受
參與活動的嘉賓在奧林匹克日橫幅簽名。6月23日是第76個奧林匹克日,今
1、出自動畫《神奇的朋友_咖寶蛋神》故事簡介:?故事發(fā)生在未來世界里
吃什么?去哪兒玩?數(shù)說端午消費(fèi)
蝴蝶結(jié)的系法:1、把絲帶的兩頭打一個結(jié)。2、用手按住中間位置,把右側(cè)
1、抖奶,但是加了一條安全褲,部分CG畫面有刪減。2、想玩中文版可以買
截至2023年5月31日,2022年報計(jì)算機(jī)設(shè)備共有84家A股上市公司披露數(shù)據(jù),
主料:酸菜絲適量鹵牛肉適量輔料:蔥適量姜適量蒜適量干辣椒適量蠔油適量
據(jù)燈塔專業(yè)版實(shí)時數(shù)據(jù),截至6月24日21時33分,2023年端午檔(6月22日-6
用戶空間,關(guān)于用戶空間介紹這個很多人還不知道,我們一起來看看!1、在
電子發(fā)燒友原創(chuàng)章鷹?6月8日,在比亞迪年度股東大會上,董事長王傳福表
鼓聲激蕩、樂聲悠揚(yáng)。昨日上午,2023海峽兩岸鄭成功文化節(jié)開幕式暨頌典
0x01前言主要是對上一篇文章中`php_again`這道題的補(bǔ)充。 0x02下載php
首度境外債償付逾期,折射出建業(yè)集團(tuán)流動資金緊張狀況已進(jìn)一步加劇。詳
1、委托電話5991458859917888咨詢電話59520033。本文到此分享完畢,希
6月25日是第33個全國土地日,今年的主題是“節(jié)約集約用地嚴(yán)守耕地紅線
石斛的功效有哪些1、穩(wěn)定糖。石斛之所以有穩(wěn)定糖和降低糖的作用,主要
近日,長沙尋子22年的雷武澤(雷公)收到了警方傳來的好消息,兒子雷岳
今天,馬刺為新秀舉行了發(fā)布會,2023年NBA選秀大會,馬刺狀元簽選中文
6月21日晚在端午節(jié)前一天寧夏銀川發(fā)生燃?xì)獗ㄊ鹿室言斐?1人死亡、7人
1、在游戲中點(diǎn)開界面設(shè)置,找到傷害數(shù)字顯示,并把它打開。2、或者直接
中國山東網(wǎng)-感知山東6月22日訊6月21日,2023年山東省中小學(xué)教師合唱展
據(jù)知情人士透露,高盛已開始在全球范圍內(nèi)裁減董事總經(jīng)理。在交易低迷之
品牌是高質(zhì)量發(fā)展的重要標(biāo)志,也是商業(yè)競爭和文化傳播的重要方式。中國
事關(guān)你的房貸!疆內(nèi)商業(yè)銀行下調(diào)貸款利率,約定,同業(yè),lpr,商業(yè)銀行,房貸
1、vivo手機(jī)系統(tǒng)恢復(fù)出廠設(shè)置,就可以恢復(fù)出廠的系統(tǒng)了。2、 可以在
近日,海青鐵路新河園站擴(kuò)能改造工程獲市發(fā)展改革委核準(zhǔn)批復(fù),青島鐵路
日前,奔馳官方發(fā)布了一組全新奔馳E級旅行版的官圖。新車基于全新一代
昨天是端午節(jié),你吃粽子了嗎?端午除了吃粽子,余杭人還有吃“五黃”的
1、按品牌知名度上來說,佐卡伊比一搏千金要高些。2、按鉆石銷售量來說
1、已發(fā)請查收=v=已發(fā)送請查收“漠然作品”發(fā)了。2、請查收櫻花草。本
關(guān)于去皮了的土豆放冰箱能存放多久的內(nèi)容,包含削皮的土豆放冰箱可以保
用戶研究與體驗(yàn)設(shè)計(jì),關(guān)于用戶研究與體驗(yàn)設(shè)計(jì)介紹這個很多人還不知道,
據(jù)了解,此前深藍(lán)S7已經(jīng)公布了預(yù)售價,其預(yù)售價區(qū)間為16 99萬-23 99萬
綜合《莫斯科時報》和法新社報道,克里姆林宮24日表示,俄羅斯總統(tǒng)普京
1、他的吧好像叫阿科吧我不知道是什么意思你懂這個嗎。本文到此分享完
上海端午消費(fèi)總體平穩(wěn),餐飲住宿增長較為明顯,住宿,節(jié)日,餐飲,端午,上
【在這片遼闊的土地上?】光明日報記者陳晨記者從農(nóng)業(yè)農(nóng)村部了解到,截
司法部近日發(fā)布數(shù)據(jù),截至去年底,全國共建成村級公共法律服務(wù)實(shí)體平臺
據(jù)燈塔專業(yè)版實(shí)時數(shù)據(jù),截至6月24日21時33分,2023年端午檔(6月22日-6
比賽開始后,泰山隊(duì)在進(jìn)攻和防守中都保持著不錯的強(qiáng)度,特別是防守中的
1、增值稅專票信息電話錯了,可以抵扣。2、只要發(fā)票代碼、開票日期、發(fā)
直播吧6月24日訊國際足聯(lián)昨日官方宣布,2025世俱杯將在美國舉行,該屆
截至2023年5月31日,2022年報房地產(chǎn)開發(fā)共有106家A股上市公司披露數(shù)據(jù)
您好,現(xiàn)在蔡蔡來為大家解答以上的問題。常見主板進(jìn)入bios的方法,主板
記者從蘭州市西固區(qū)應(yīng)急管理局了解到,6月24日21時39分左右,蘭州石化
據(jù)俄新社,俄羅斯總統(tǒng)普京6月24日簽署一項(xiàng)法律,規(guī)定在戒嚴(yán)期間可以征
近日,由河南省文化和旅游廳、河南省總工會、中國共產(chǎn)主義青年團(tuán)河南省
2023年6月23日13時51分,351國道龍游段窯三線燈控路口,車輛在等待綠燈
北京詳解高溫津貼如何發(fā)放【昨日近五成氣象站最高溫達(dá)40℃及以上
6月21日,南京市特需學(xué)生家長服務(wù)中心在南京市特殊教育指導(dǎo)中心揭牌啟
在美國聯(lián)邦貿(mào)易委員會FTC訴微軟庭審第二日,谷歌前Stadia產(chǎn)品負(fù)責(zé)人Dov
日前,榮威榮威中高級純電轎車D7官圖正式發(fā)布。作為榮威全新新能源產(chǎn)品
日前,奔馳官方發(fā)布了一組全新奔馳E級旅行版的官圖。新車基于全新一代
來為大家解答以上問題,拒絕訪問u盤怎么解除,拒絕訪問很多人還不知道
王一博簡介刪除和肖戰(zhàn)主演的陳情令后,組里撿到了內(nèi)娛頂流群的手機(jī)(撿
本報訊22日,在油坊鎮(zhèn)長旺村的“粽”享端午游園會上,包粽子、畫額禮、
據(jù)俄羅斯《報紙報》當(dāng)?shù)貢r間24日報道,俄羅斯執(zhí)法人員在據(jù)信是瓦格納雇
6月23日,山東多地氣溫超過40℃,驕陽似火。今天11時,山東省氣象臺繼
一、十月放假安排1 10月1日至7日,中秋節(jié)黃金周期間,全國放假7天。2 1
1、傳說家庭不錯吧,畢竟人家也紅了幾年。2、條件應(yīng)該還可以。3、這不
1、1.見人已殺其馬/方共食其肉。2、2.駿馬被人宰殺后,秦穆公不但不
長江日報訊(通訊員任洋)帶球、傳球、射門……每天下午4時30分,武漢
AMDRX7800XT顯卡新爆料,將采用新GPU,顯卡,xt,芯片,rx,amd,gpu
約克是世界四大水系統(tǒng)中央空調(diào)品牌之一。其中央空調(diào)性能優(yōu)越,美觀舒適
預(yù)計(jì)2020考研成績公布2020年考研成績即將公布,各位考生都在緊張地期待
【6月8日美股成交額前20:特斯拉連續(xù)第10個交易日上漲】周四美股成交額
6月25日至27日,世界互聯(lián)網(wǎng)大會數(shù)字文明尼山對話在中國山東濟(jì)寧曲阜召
1、2019年河南大學(xué)雙一流建設(shè)開啟后。2、已全部在一本招生。3、河南大
中國西藏網(wǎng)訊又到粽葉飄香時,又是端午佳節(jié)至。為弘揚(yáng)中華民族優(yōu)秀傳統(tǒng)
1、在立體幾何中,截面是指用一個平面去截一個幾何體(包括圓柱,圓錐
1、蘋果8plus的上市日期是2017年9月13日。2、IPhone8Plus是蘋果IPhone
今年4月,大眾官宣下一代的T-Roc,也就是國內(nèi)版本的探歌將是大眾最后的
【來源:東鄉(xiāng)區(qū)氣象臺】東鄉(xiāng)區(qū)氣象臺2023年06月24日04時48分變更暴雨黃
1、孟子三樂∶一樂父母都健在,兄弟沒有病患;二樂仰頭對天不覺得內(nèi)疚
二手房交易的陷阱有哪些?1、代購內(nèi)部廉價房有的人利用部分購房者急于
用戶精度,關(guān)于用戶精度介紹這個很多人還不知道,我們一起來看看!1、用
在傳統(tǒng)的電子顯微鏡中,對磁性材料進(jìn)行原子分辨率觀察特別困難,因?yàn)榇?/p>
超8萬人次打卡!端午“粽”夏夜市集活動點(diǎn)亮江城夜色長江日報大武漢客
兩臺吊車配合現(xiàn)場施工,一線工程建設(shè)者們堅(jiān)守在施工崗位上,緊張地投入
1、周五21點(diǎn)~22點(diǎn),周六周日14點(diǎn)~15點(diǎn)2、剛開始半個小時一直打小怪累計(jì)
1、shuāngyuè霜月tánglǐshāngyǐn唐李商隱chūwénzhēngyànyǐwú
用戶帳戶控制設(shè)置,關(guān)于用戶帳戶控制設(shè)置介紹這個很多人還不知道,我們
1、藍(lán)鯨是迄今為止最大的鯨類動物、最大的現(xiàn)存動物和最大的哺乳動物。2
把“空間站”建在地球上——走進(jìn)我國航天領(lǐng)域首個大科學(xué)裝置
用戶帳戶限制,關(guān)于用戶帳戶限制介紹這個很多人還不知道,我們一起來看
外資企業(yè)看好中國持續(xù)增資擴(kuò)產(chǎn)
海外網(wǎng)6月24日電據(jù)美國《國會山報》6月22日報道,美政府前首席醫(yī)療顧問