日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dqn系列梳理_DQN是学习归纳出了策略,还是仅仅是memorize了大量的episodes?

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dqn系列梳理_DQN是学习归纳出了策略,还是仅仅是memorize了大量的episodes? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

想要回答這個問題,就得追究什么才稱得上“策略”?什么是“學習、歸納”?學習歸納和“memorize”又有什么不同?

現在的我大概沒辦法直接回答這些問題。但我可以分享一點我對于DQN的理解,尤其是,比較以前的RL算法,DQN想要解決什么問題。

一言以蔽之: DQN exploits correlations between states.

還記得GridWorld么?假設有一個agent在3x3格子間行走,有時能得到獎勵。用RL的角度來看,每個格子都是一個獨立的state,運用最簡單的Q Learning,我們可以學習每個格子的Value。假設這個小地圖里,只有一格是有獎勵10的。訓練一個agent學習這份地圖,需要用Q Learning來把這個獎勵訊號傳達給之前的state(credit assignment)。

如果我們給每個格子隨意編號,那么Q learning的過程可能看上去就是:到達格子0!獎勵10!好棒!再來一局!走,走,走,……到達格子1875!馬上要到格子0要拿獎勵了我好雞凍,加分加分!這樣,我們就把格子0處的獎勵訊號傳達給了之前的格子1875。最后,所有可能達到格子0的格子們都得到了一點加分,如果我們循著這個加分路徑走下去,就能到達格子0。這條路徑,簡單來說,就是agent學習到的策略。

運用這樣一個算法,我們可以discretize(離散化)很多可能的狀態,比如,假設有100x100像素的畫面,每個像素可能是黑(0)或者白(1),那么通過離散化,我們可以得到2^(100x100)=2^10000個狀態。接著,我們可以運用Q learning來explore獎勵訊號,并且把它credit assign到我們拿到獎勵的路徑上。

但這樣做是有很大問題的。因為在agent的一局探索中,每一個格子/狀態,只能把值傳遞給其最近的格子/狀態。即使是在簡單的10x10grid world上,agent也需要不斷地探索、重啟,才能把credit assign到之前的路徑。推薦使用Stanford ReinforceJS 來visualize這個過程。當格子/狀態的數量太多,所需要的訓練時間也太多。

造成這個問題的原因是:我們arbitrary地將狀態離散化了,我們忽略了states之間的關聯。試想,假設我們用RL做自動駕駛。狀態是6x10的像素圖片,紅燈是圖像中間的一片1。現在agent剛剛得到一個經驗,在以下狀態(紅燈),開車前行,會被懲罰。

0000000000

0000000000

0001110000

0000000000

0000000000

0000000000

那么我們希望,在相似的狀態中(簡單例子如下圖),agent應該也能意識到,開車前行,會被懲罰。

0000000000

0000000000

0000111000

0000000000

0000000000

0000000000

如果我們使用了簡單的Q Learning和離散化,那么上下兩個狀態完全不相關。想要得到這樣的泛化能力,只有agent不斷嘗試、探索,直到它遇到這個新狀態,被懲罰,才會得到教訓。而使用Deep Learning架構,我們可以從raw state中抽取representation信息。比如在這個例子中,一個訓練得當的DQN應該可以讀入狀態1,輸出(1,0,0,……)。即使沒見過狀態2,神經網也應該能輸出類似(0.8, 0.1,……)。某種意義上說,它能發現到上下兩個狀態的關聯。因此,即使我們還沒有到達過后面的狀態,神經網絡可以從一個見過的,類似的狀態中generalize(泛化),給出一個稍微好一些的q estimation。

引入DQN的泛化能力,但也造成了一些的問題。比如,如果agent update gradient時光顧著自己上次一回的經歷,有可能會造成agent bias towards explored states。因此有了experience replay。

另外,最近一些Deep RL的research專注于研究如何抽取很好的state representation。如何做到?簡單來說,就是使神經網絡抽取的representation可以被用來做些其他的活計(auxiliary task)。總的來說,這些研究都是希望神經網絡可以從一個狀態中抽取好的representation,來更好泛化。

總結

以上是生活随笔為你收集整理的dqn系列梳理_DQN是学习归纳出了策略,还是仅仅是memorize了大量的episodes?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。