強(qiáng)化學(xué)習(xí)有效方法
強(qiáng)化學(xué)習(xí)是一種機(jī)器學(xué)習(xí)的形式,通過對環(huán)境和行為的交互來使智能代理(如機(jī)器人、自動駕駛汽車)從錯誤中學(xué)習(xí)策略。下面將分享三個觀點(diǎn),介紹強(qiáng)化學(xué)習(xí)的方法和技巧。
強(qiáng)化學(xué)習(xí)有效方法(精選篇1)
建立一個強(qiáng)化學(xué)習(xí)模型是熟悉強(qiáng)化學(xué)習(xí)的第一步。在這個過程中,需要將問題轉(zhuǎn)化為與大量數(shù)據(jù)使用交作用的智能代理,該代理在每個時刻都會根據(jù)觀察到的情況和前期體驗做出決策和操作。學(xué)生可以利用探索/開發(fā)方法定義智能代理想要學(xué)習(xí)的策略以及獎勵設(shè)計方案等;還可以借鑒 Q-Learning、SARSA 等經(jīng)典算法,并在不斷迭代和反饋中不斷優(yōu)化模型。
基于概率是強(qiáng)化學(xué)習(xí)中最直接的一種, 他能通過感官分析所處的環(huán)境, 直接輸出下一步要采取的各種動作的概率, 然后根據(jù)概率采取行動, 所以每種動作都有可能被選中, 只是可能性不同. 而基于價值的方法輸出則是所有動作的價值, 我們會根據(jù)最高價值來選著動作, 相比基于概率的方法, 基于價值的決策部分更為鐵定, 毫不留情, 就選價值最高的, 而基于概率的, 即使某個動作的概率最高, 但是還是不一定會選到他.
我們現(xiàn)在說的動作都是一個一個不連續(xù)的動作, 而對于選取連續(xù)的動作, 基于價值的方法是無能為力的. 我們卻能用一個概率分布在連續(xù)動作中選取特定動作, 這也是基于概率的方法的優(yōu)點(diǎn)之一. 那么這兩類使用的方法又有哪些呢?
比如在基于概率這邊, 有 policy gradients, 在基于價值這邊有 q learning, sarsa 等. 而且我們還能結(jié)合這兩類方法的優(yōu)勢之處, 創(chuàng)造更牛逼的一種方法, 叫做 actor-critic, actor 會基于概率做出動作, 而 critic 會對做出的動作給出動作的價值, 這樣就在原有的 policy gradients 上加速了學(xué)習(xí)過程. 我們還能結(jié)合這兩類方法的優(yōu)勢之處, 創(chuàng)造更牛逼的一種方法, 叫做 Actor-Critic , actor 會基于概率做出動作, 而 critic 會對做出的動作給出動作的價值, 這樣就在原有的 policy gradients 上加速了學(xué)習(xí)過程.
強(qiáng)化學(xué)習(xí)有效方法(精選篇2)
我們可以將所有強(qiáng)化學(xué)習(xí)的方法分為理不理解所處環(huán)境,如果我們不嘗試去理解環(huán)境, 環(huán)境給了我們什么就是什么. 我們就把這種方法叫做 model-free, 這里的 model 就是用模型來表示環(huán)境, 那理解了環(huán)境也就是學(xué)會了用一個模型來代表環(huán)境, 所以這種就是 model-based 方法. 我們想象. 現(xiàn)在環(huán)境就是我們的世界, 我們的機(jī)器人正在這個世界里玩耍, 他不理解這個世界是怎樣構(gòu)成的, 也不理解世界對于他的行為會怎么樣反饋. 舉個例子, 他決定丟顆原子彈去真實的世界, 結(jié)果把自己給炸死了, 所有結(jié)果都是那么現(xiàn)實. 不過如果采取的是 model-based RL, 機(jī)器人會通過過往的經(jīng)驗, 先理解真實世界是怎樣的, 并建立一個模型來模擬現(xiàn)實世界的反饋, 最后他不僅可以在現(xiàn)實世界中玩耍, 也能在模擬的世界中玩耍 , 這樣就沒必要去炸真實世界, 連自己也炸死了, 他可以像玩游戲一樣炸炸游戲里的世界, 也保住了自己的小命. 那我們就來說說這兩種方式的強(qiáng)化學(xué)習(xí)各用那些方法吧.
Model-free 的方法有很多, 像 Qlearning, Sarsa, Policy Gradients 都是從環(huán)境中得到反饋然后從中學(xué)習(xí). 而 model-based RL 只是多了一道程序, 為真實世界建模, 也可以說他們都是 model-free 的強(qiáng)化學(xué)習(xí), 只是 model-based 多出了一個虛擬環(huán)境, 我們不僅可以像 model-free 那樣在現(xiàn)實中玩耍,還能在游戲中玩耍, 而玩耍的方式也都是 model-free 中那些玩耍方式, 最終 model-based 還有一個殺手锏是 model-free 超級羨慕的. 那就是想象力.
Model-free 中, 機(jī)器人只能按部就班, 一步一步等待真實世界的反饋, 再根據(jù)反饋采取下一步行動. 而 model-based, 他能通過想象來預(yù)判斷接下來將要發(fā)生的所有情況. 然后選擇這些想象情況中最好的那種. 并依據(jù)這種情況來采取下一步的策略, 這也就是 圍棋場上 AlphaGo 能夠超越人類的原因. 接下來, 我們再來用另外一種分類方法將 強(qiáng)化學(xué)習(xí)分為基于概率和基于價值.
強(qiáng)化學(xué)習(xí)的第二步是通過多樣性嘗試向智能代理提供充分的經(jīng)驗來深化知識。學(xué)生應(yīng)該將代理放置于各種情境中,例如賽車游戲或機(jī)器人導(dǎo)航,讓其從實踐中獲取更多的經(jīng)驗。此外,全面利用可用資源,例如在線課程、指導(dǎo)文獻(xiàn)或開源庫進(jìn)行調(diào)研;在虛擬或?qū)嶒灜h(huán)境中重復(fù)或探究可能性及反向?qū)W習(xí)方案,并利用模擬仿真工具和可視化技術(shù)加強(qiáng)對算法的理解和優(yōu)化策略。
強(qiáng)化學(xué)習(xí)有效方法(精選篇3)
強(qiáng)化學(xué)習(xí)的第三步是不斷進(jìn)行迭代修正。學(xué)生可以評估智能代理的表現(xiàn)和獎勵的效果,并利用經(jīng)驗回放方法、廣義策略迭代等來進(jìn)一步提高策略效率和穩(wěn)定性。同時,也需要不斷檢查算法設(shè)計與程序代碼是否存在錯誤,并調(diào)整參數(shù)并比較不同算法之間的表現(xiàn)以減少經(jīng)驗樣本的缺失率與干擾降難提升效率。例如,在使用深度強(qiáng)化學(xué)習(xí)時,采用分層控制結(jié)構(gòu)避免因過多狀態(tài)而過度復(fù)雜化智能代理為成長瓶頸,已得到證明行之有效。在鞏固和拓展基礎(chǔ)知識水平的基礎(chǔ)上熟練運(yùn)用迭代調(diào)整方法,會使你更加深入了解整個強(qiáng)化學(xué)習(xí)的過程和挑戰(zhàn)以獲取最佳控制結(jié)果。
強(qiáng)化學(xué)習(xí)還能用另外一種方式分類, 回合更新和單步更新, 想象強(qiáng)化學(xué)習(xí)就是在玩游戲, 游戲回合有開始和結(jié)束. 回合更新指的是游戲開始后, 我們要等待游戲結(jié)束, 然后再總結(jié)這一回合中的所有轉(zhuǎn)折點(diǎn), 再更新我們的行為準(zhǔn)則. 而單步更新則是在游戲進(jìn)行中每一步都在更新, 不用等待游戲的結(jié)束, 這樣我們就能邊玩邊學(xué)習(xí)了.
再來說說方法, Monte-carlo learning 和基礎(chǔ)版的 policy gradients 等 都是回合更新制, Qlearning, Sarsa, 升級版的 policy gradients 等都是單步更新制. 因為單步更新更有效率, 所以現(xiàn)在大多方法都是基于單步更新. 比如有的強(qiáng)化學(xué)習(xí)問題并不屬于回合問題.
在線學(xué)習(xí)和離線學(xué)習(xí), 所謂在線學(xué)習(xí), 就是指我必須本人在場, 并且一定是本人邊玩邊學(xué)習(xí), 而離線學(xué)習(xí)是你可以選擇自己玩, 也可以選擇看著別人玩, 通過看別人玩來學(xué)習(xí)別人的行為準(zhǔn)則, 離線學(xué)習(xí) 同樣是從過往的經(jīng)驗中學(xué)習(xí), 但是這些過往的經(jīng)歷沒必要是自己的經(jīng)歷, 任何人的經(jīng)歷都能被學(xué)習(xí). 或者我也不必要邊玩邊學(xué)習(xí), 我可以白天先存儲下來玩耍時的記憶, 然后晚上通過離線學(xué)習(xí)來學(xué)習(xí)白天的記憶.那么每種學(xué)習(xí)的方法又有哪些呢?
最典型的在線學(xué)習(xí)就是 sarsa 了, 還有一種優(yōu)化 sarsa 的算法, 叫做 sarsa lambda, 最典型的離線學(xué)習(xí)就是 Q learning, 后來人也根據(jù)離線學(xué)習(xí)的屬性, 開發(fā)了更強(qiáng)大的算法, 比如讓計算機(jī)學(xué)會玩電動的 Deep-Q-Network.
這就是我們從各種不同的角度來對比了強(qiáng)化學(xué)習(xí)中的多種算法. 在監(jiān)督學(xué)習(xí)中,在外部有一個“監(jiān)督主管”,它擁有所有環(huán)境的知識,并且與智能體一起共享這個知識,從而幫助智能體完成任務(wù)。但是這樣存在一些問題,因為在一個任務(wù)中,其中存在如此多的子任務(wù)之間的組合,智能體應(yīng)該執(zhí)行并且實現(xiàn)目標(biāo)。所以,創(chuàng)建一個“監(jiān)督主管”幾乎是不切實際的。例如,在象棋游戲中,存在數(shù)萬個可以移動的玩法。因此,去創(chuàng)建一個可以獲勝的玩法知識庫是一個單調(diào)乏味的任務(wù)。在這些問題中,從自己的經(jīng)驗中學(xué)習(xí),并且獲得知識是更加合理可行的。這就是強(qiáng)化學(xué)習(xí)和監(jiān)督學(xué)習(xí)的主要區(qū)別。在監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)中,在輸入和輸出之間都存在映射。但是在強(qiáng)化學(xué)習(xí)中,存在的是對智能體的獎勵反饋函數(shù),而不是像監(jiān)督學(xué)習(xí)直接告訴智能體最終的答案。
總之,強(qiáng)化學(xué)習(xí)需要建立一個強(qiáng)化學(xué)習(xí)模型、多樣性嘗試并增加經(jīng)驗、不斷迭代修正,通過這些方法和技巧,可以提高智能代理的效率和穩(wěn)定性,并實現(xiàn)在各種環(huán)境下的自主決策與操作。