反應(yīng)策略深度強化學(xué)習(xí)的第一個主要成就是著名的DQN算法在各種Atari視頻游戲中的人類水平表現(xiàn),其中神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)使用原始屏幕像素作為輸入來玩游戲。在強化學(xué)習(xí)中,我們希望學(xué)習(xí)一種將狀態(tài)映射到行動的政策,以便最大化累積的獎勵。例如,在DQN論文中,神經(jīng)網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò),它將屏幕圖像作為輸入并輸出可能動作的分?jǐn)?shù)。 雖然強化學(xué)習(xí)算法的設(shè)計使得該策略應(yīng)該學(xué)會選擇具有長期益處的行為,但我們從策略中獲得的信息僅適用于當(dāng)前狀態(tài)。這稱為響應(yīng)策略,它是一種策略,將當(dāng)前狀態(tài)映射到應(yīng)立即采取的操作,或映射到操作的概率分布。 雖然反應(yīng)性政策在大多數(shù)強化學(xué)習(xí)文獻(xiàn)中占據(jù)主導(dǎo)地位,并且已經(jīng)取得了一些驚人且廣為人知的成就,但有時我們需要從我們的政策中獲得更多信息豐富的答案,目前推薦的行動還不夠。有時我們的應(yīng)用程序要求我們能夠比單一步驟更進(jìn)一步,并驗證我們的政策將使我們處于'安全'的軌道,受到我們系統(tǒng)其他組件的審查。在這些情況下,我們不希望采取目前最好的行動,而是我們想要的是一個完整的計劃,或者至少是未來某個特定范圍的計劃。 但是,如果我們偉大的RL算法可以學(xué)習(xí)非常好的反應(yīng)策略,為什么我們要打擾一個完整的計劃呢?一個可能的原因是RL策略在成功學(xué)習(xí)任務(wù)之前通常需要大量嘗試,因此通常在模擬環(huán)境中進(jìn)行訓(xùn)練,其中策略可以使車輛盡可能多地崩潰,或者射擊友軍并且只是嘗試如果它失敗了又一次。模擬并不是現(xiàn)實世界的完美表現(xiàn),我們希望我們的系統(tǒng)盡管存在這些差異,但RL代理人才這些差異。 擁有完整的計劃允許我們使用外部知識對其進(jìn)行評估并防止采取危險行為。例如,如果自動駕駛汽車希望改變車道但是突然汽車接近非???,比模擬汽車在訓(xùn)練期間更快,則外部程序可以預(yù)測當(dāng)前計劃的軌跡朝向碰撞并且中止操縱。這對于被動策略來說要困難得多,在這種策略中可能難以預(yù)測場景在播出之前如何結(jié)束。 希望制定完整計劃的另一個原因是它可能會使我們的政策表現(xiàn)更好。也許通過強制它提前計劃,我們可能會限制我們的政策更加一致,并能夠在看不見的情況下更好地調(diào)整,這正是我們想要的。 馬爾可夫決策過程規(guī)劃問題的一個非常常見的模型是馬爾可夫決策過程,即MDP。在MDP中,我們將世界定義為一組狀態(tài) S,一組可能采取的行動 A,一個獎勵函數(shù) R和一個過渡模型 P.它們一起構(gòu)成了元組: 這定義了MDP。讓我們看一個具體的例子: 在這個例子中,一個代理必須導(dǎo)航2D地圖并進(jìn)入綠色瓷磚,為此獲得+1獎勵,并避免紅色瓷磚,如果踩到它將以-1獎勵懲罰它。其他州不返回獎勵(或等效返回0)。根據(jù)我們對MDP的定義,狀態(tài)S是地圖上的一組圖塊,除了黑色圖塊,這是一個障礙。這組動作是四個方向,轉(zhuǎn)移概率由右圖給出。轉(zhuǎn)換模型指定了在采取特定操作的情況下從當(dāng)前狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的概率。在我們的例子中,如果我們的代理人選擇UP動作,它將有80%的機會向上移動,10%的機會向左或向右移動。如果代理人選擇行動權(quán)利,它有80%的機會向右移動, 假設(shè)我們的代理位于地圖的左下角,并且必須安全地導(dǎo)航到綠色區(qū)塊。必須區(qū)分規(guī)劃軌跡或?qū)ふ?strong>政策。如果我們計劃一個軌跡,我們將得到一個序列,指定應(yīng)該采取行動的順序,例如:(向上,向上,向右,向右,向右)。如果我們的問題是確定性的,選擇一個方向會使我們的代理人在這個方向上有100%的機會,那么這將對應(yīng)于軌跡: 但是,由于我們的問題不是確定性的,我們可能會偏離我們想要采取的路徑,這一系列的行動對我們來說還不夠。我們真正想要的是一個完整的計劃,將每個州映射到所需的行動,如下所示: 這實際上正是我們的RL政策所代表的,從州到行動的映射。不同的是,在這個簡單的問題中,我們可以在我們面前布置整個國家空間并遵守政策。在復(fù)雜的現(xiàn)實問題中,我們可能知道我們當(dāng)前的狀態(tài),但是找出未來行動和狀態(tài)的可能結(jié)果可能是不現(xiàn)實的,尤其是當(dāng)我們的輸入是高維傳感器觀察(例如圖像或視頻)時。 但回到我們的例子,我們?nèi)绾尾拍苷业饺缟蠄D所示的最優(yōu)政策?對于稱為值迭代的這類問題,存在一種經(jīng)典算法。該算法的作用是計算當(dāng)前處于某種狀態(tài)可以實現(xiàn)的長期利益,通過提出問題'如果我從這個狀態(tài)開始,我能獲得的最大利潤是多少?'。這個數(shù)量被稱為MDP術(shù)語中的狀態(tài)值,直觀上很容易看出,如果我們知道每個州的價值,我們可以嘗試始終轉(zhuǎn)移到具有更高價值的國家并從中獲益。 假設(shè)我們知道問題中所有狀態(tài)的最優(yōu)值; V *(s),我們現(xiàn)在可以定義從我們的州采取特定行動并從此采取最佳行動的價值; Q *(S,A)。 狀態(tài) - 動作值是除了下一個狀態(tài)的最佳值之外我們從在該狀態(tài)下采取動作獲得的獎勵。但是,由于我們的問題是隨機的,我們必須對它有一個期望,以便考慮到達(dá)未來國家的不同概率。但由于V *(s)是我們可以從當(dāng)前狀態(tài)獲得的最佳值,這意味著這個等式必須成立: 這為我們提供了最優(yōu)值函數(shù)的遞歸定義: 如果我們猜測每個狀態(tài)的值,并且事實證明這個遞歸方程對所有狀態(tài)都滿意,那么我們就知道我們有一個最優(yōu)值函數(shù)。但更重要的是,我們可以猜測我們各州的任何初始值函數(shù),并使用我們的等式來更新它,如下所示: 通過使用一些數(shù)學(xué),我們甚至可以證明,如果在每次迭代中我們對問題中的所有狀態(tài)執(zhí)行此操作,最終我們的值函數(shù)將收斂到最優(yōu)值函數(shù)。一旦我們有了最優(yōu)值函數(shù),我們就可以輕松地提取最優(yōu)策略: 整個過程稱為Value Iteration,價值迭代。 但是,對于我們甚至無法訪問轉(zhuǎn)換模型的描述而且可能沒有獲得獎勵函數(shù)的復(fù)雜問題,這顯然是無法做到的,那么我們?nèi)绾卧诟腥さ膯栴}中使用它呢? 價值迭代網(wǎng)絡(luò)伯克利的研究人員在NIPS 2016上發(fā)表了一篇非常有趣的論文(他們獲得了最佳論文獎),試圖通過賦予神經(jīng)網(wǎng)絡(luò)在其中執(zhí)行類似過程的能力,以非常優(yōu)雅的方式解決這個問題。這個想法是這樣的:因為我們并不真正知道我們真正問題的潛在MDP,我們可以讓我們的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)一些其他MDP,這與真實的MDP不同,但它為真正的問題提供了有用的計劃。他們展示了他們在2D導(dǎo)航問題上的方法,其中輸入是包含目標(biāo)位置和障礙物的地圖的圖像。 輸入圖像被饋送到卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)輸出相同大小的圖像,其表示地圖中不同位置的'獎勵',螞蟻指向?qū)⑵溆成涞匠跏贾祱D的另一CNN。對于M次迭代,將卷積層應(yīng)用于級聯(lián)值和獎勵圖像以產(chǎn)生Q值圖像,其具有K個通道,每個通道代表學(xué)習(xí)的MDP中的'動作'。最大池化是沿著通道的維度執(zhí)行的,基本上執(zhí)行與我們在上一節(jié)中看到的Value Iteration算法非常相似的操作。 最終值映射(或其特定部分)被饋送到響應(yīng)策略,該策略選擇要在我們的實際問題中執(zhí)行的操作。重要的是要注意,在沒有階段的模型給出真實獎勵地圖或價值圖的地面真實標(biāo)簽,我們只希望通過學(xué)習(xí)使用此值迭代網(wǎng)絡(luò)(VIN)行動,我們的神經(jīng)網(wǎng)絡(luò)將學(xué)習(xí)有用的MDP。 整個模型通過使用給定軌跡的模仿學(xué)習(xí)或從頭開始強化學(xué)習(xí)來訓(xùn)練,事實證明,出來的是非常棒的: 沒有給出它們,神經(jīng)網(wǎng)絡(luò)學(xué)到的獎勵和價值圖似乎正是我們認(rèn)為應(yīng)該是的。獎勵地圖在目標(biāo)位置處具有高值并且與其相鄰,并且在障礙物處具有負(fù)值。值映射似乎具有將點指向目標(biāo)位置并遠(yuǎn)離障礙物的漸變,這非常有意義。 雖然這個2D導(dǎo)航任務(wù)看起來很簡單,但實際上看起來很困難。在一組訓(xùn)練地圖上訓(xùn)練標(biāo)準(zhǔn)的CNN政策是有效的,但對于看不見的地圖則相對較差。使用VIN,作者展示了對看不見的地圖的廣泛改進(jìn)的泛化能力。除了簡單的網(wǎng)格世界導(dǎo)航任務(wù)之外,他們還使用月球表面高程圖像展示了他們的導(dǎo)航問題算法,其中漫游者必須在不可遍歷的特征之間安全地導(dǎo)航,并且使用自然語言輸入在Web導(dǎo)航問題上。 我發(fā)現(xiàn)模型可以純粹從圖像輸入中學(xué)習(xí)這些,我覺得非常驚人,我們可以將這種成功歸因于架構(gòu)產(chǎn)生的固有歸納偏差,這迫使模型以類似于規(guī)劃算法的方式執(zhí)行計算。從那以后,這項工作并擴展到,但仍然是一項非常令人印象深刻的成就。 |
|