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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

强化学习七日打卡营终极复现之flappy bird

發布時間:2024/3/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 强化学习七日打卡营终极复现之flappy bird 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

7天的實戰很快就過去了,在調參調到懷疑人生時,“標準答案”卻出奇的簡單,另外每次訓練時間都非常長,要是有加快訓練的方法就好了。最后有一個終極復現可以自由發揮,這就來實現曾經想玩的flappy bird。

這里是目錄

  • 原理
    • 基本概念
    • Q學習
  • 環境
  • 實現過程
    • 模型選取
    • 圖像預處理
    • 調試與優化
  • 總結與展望

原理

基本概念

強化學習是一種在與環境交互過程中學習的方法。

通過動作施加影響 動作的收益 反饋環境的變化 智能主體 環境

比如在日常生活中,

  • 前方有一棵樹(環境)
  • 人向前走了一步(動作)
  • 撞到了樹(環境變化)
  • 并且覺得痛(收益)
  • 下次碰到樹換個方向走(更新策略)

強化學習的問題定義
給定馬爾可夫決策過程MDP= { S , A , P r , R , γ } \{S,A,Pr,R,\gamma\} {S,A,Pr,R,γ},尋找一個最優策略 π ? \pi^* π?,對任意 s ∈ S s\in S sS,使得價值 V π ? ( s ) 值 最 大 V_{\pi^*}(s)值最大 Vπ??(s)

Q學習

Q學習是基于價值的方法,即對價值函數進行建模和估計,以此為依據制定策略。它使用一個Q表格來記錄不同狀態下不同動作的價值。決策時根據狀態選擇價值最高的動作。
Q學習也是基于時序差分的方法 ,即基于時序差分進行價值函數更新。
具體過程如下

當狀態數非常多甚至連續分布時,有些狀態很難采樣到,也不可能用一張表來記錄q函數。
這時候可以使用值函數近似(將q函數參數化),用一個非線性模型來擬合它,比如說神經網絡,DQN就是這樣一種算法。

環境

深度學習框架

  • PaddlePaddle
  • PARL

Flappy Bird GYM環境

  • PyGame Learning Environment (PLE)
  • OpenAI PLE environment (gym-ple)

實現過程

模型選取

根據所學知識,有DQN和PG兩個方案,在PARL倉庫給的例子中有雅達利游戲DQN的例子,便以它為基礎修改和改進。模型為4層卷積池化加輸出層。

圖像預處理

原始圖像是288×512×3的圖像:

使用OpenCv庫將其變為80×80的灰度圖像:

最后進行歸一化,所有像素除以255。

調試與優化

最開始把每次動作后環境返回的1幀圖像作為輸入,跑了一晚上都沒有收斂,猜測是一幀圖像不足以表現當前狀態,比如說測不出速度和加速度。剛開始圖像預處理沒有歸一化也可能是一個原因。
游戲環境是輸入一個動作,運行1幀,為了得到多幀圖像,可以將一個動作作用多次,這里用的4次,即一個動作作用4次,得到4幀圖像作為狀態。
剛開始由于回放經驗池設的較大,跑到中途崩潰了,斷續跑了總共不到1000個episode,就得到了比較不錯的效果,最長一次測試跑了將近4分鐘。

奇怪的是,后面的測試小鳥都在同一個地方失利:
這里我覺得模型根據經驗做出了正確的動作,但是心有余而力不足,限于“手速”,而飛不上去。于是改小動作作用幀數,改為3之后,仍不能避免這個問題,還出現了一些極限操作:
猜測由于在極限上升上的失利,模型偏向于將狀態轉移到安全的極限下降。
為了進一步減小動作作用幀數,同時不減少狀態幀數,需要分離這兩個超參數,前者稱為“跳幀”,后者稱為“環境長度”,跳幀可以沿用之前寫的代碼,狀態幀數則使用一個數組記錄每個episode所有原始狀態,每次取最后”環境長度“個原始狀態作為狀態。
減小跳幀后訓練速度和效果都沒有達到之前的水平,這里我想到先用跳幀4訓練,然后改為跳幀1微調。
20000步左右,跳幀4模型給出了一次4分多鐘的測試結果,最后一個障礙前,小鳥選擇了直接放棄:
模型大概在說:“我能怎么辦?我也很絕望啊。”
跳幀1的微調仍然非常慢,訓練了80000多步,模型可以給出穩定30s以上的測試結果,可惜的是,最后仍不能通過這個極限上升障礙。

總結與展望

總的來說DQN在圖像輸入的flappy bird環境下表現非常不錯,在動作間隔和環境長度設為4時表現最好。對于最后一個不能越過的極限上升障礙,在增加訓練時間和增大探索概率重新訓練后仍然不能通過,大概率是游戲環境問題,查看源碼,得到管道間隔100,最大高度差168,x方向速度為4,有大約25幀時間用來上升,每次點擊加速度為9,小鳥上升速度個位置,但是每次點擊會讓速度變為0,所以最多只能以速度8勻速上升,用環境自帶的getGameState()函數測得,兩個管道內間距為85,這段距離大約能上升170個單位,可謂是極限操作,即只有完美操作才有可能通過。
另外,“你已經是一個成熟的AI了,要學會自己確定超參數了”,讓模型自適應步長,輸出跳幀數,可以讓模型不受“手速”限制,同時加快預測速度,為此需要加上一項速度獎勵,即與通過每個障礙用的操作次數負相關的獎勵。

預留的github地址:https://github.com/bnpzsx/DRL-FlappyBird

總結

以上是生活随笔為你收集整理的强化学习七日打卡营终极复现之flappy bird的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 在线观看免费视频 | 国产特级淫片免费看 | 久久婷五月 | 9久久9毛片又大又硬又粗 | 成人导航网站 | 骚虎av | 有色影院| 黄色av影院 | 中文字幕在线二区 | 欧洲在线视频 | 久久午夜无码鲁丝片午夜精品 | 日韩欧美一本 | 免费在线黄色网 | 亚洲欧美日韩久久 | 亚洲永久在线观看 | 一区二区日本视频 | 国产免费久久 | 欧美黄色免费观看 | 99色亚洲 | 四虎永久在线精品 | 精品一区二区免费视频 | 久久国产综合 | 亚洲天堂av一区二区三区 | 国产成人8x视频一区二区 | 中日韩免费视频 | 99国产视频在线 | 国产九色在线播放九色 | 热@国产 | 久久久夜精品 | 在线欧美一区二区 | 欧美伦理片网站 | 成人动漫在线免费观看 | 国产人妖一区 | 国产免费资源 | 97在线视频人妻无码 | 欧美性天天 | 国内精品久久久久久久 | 亚洲一区 | 神马午夜嘿嘿 | 一区二区三区在线看 | 国产99视频在线观看 | 亚洲深夜视频 | 国产美女主播 | 超碰88| 少妇饥渴难耐 | 免费av手机在线观看 | 欧美精品大片 | 午夜av免费观看 | 中文字幕无码毛片免费看 | 欧美春色 | 欧美中出 | 先锋资源久久 | 天海翼av在线| 99爱爱| 高清视频在线播放 | 免费无码肉片在线观看 | 久久精品亚洲一区 | 午夜性 | 日韩av高清在线观看 | 在线观看av一区二区 | 欧美一区| 中国黄色录像 | 黄色短视频在线播放 | 中文字幕免费高清在线观看 | 免费日韩视频 | 女裸全身无奶罩内裤内衣内裤 | 国产一区二区在线免费 | 丰满熟女人妻一区二区三区 | 亚洲色图另类图片 | 天天插天天搞 | 神马久久久久久久 | a国产精品 | 久久五十路 | 一本一道久久a久久精品综合 | 五月婷婷网站 | 欧美怡红院一区二区三区 | 一区在线免费 | 88久久精品无码一区二区毛片 | 最新免费av网站 | 成人欧美一级特黄 | 五月av综合av国产av | 中文日韩字幕 | 爱草av| 亚洲综合色小说 | 熟女国产精品一区二区三 | 欧美在线播放视频 | 成人欧美一区二区三区黑人孕妇 | 国产一区二区三区在线视频观看 | 色窝在线 | 婷婷色中文字幕 | 美女一区二区三区视频 | 日日爽日日操 | 在线高清观看免费 | 三级视频在线 | 人日人视频 | 国产成人99久久亚洲综合精品 | 波多野结衣先锋影音 | 中文字幕线人 | 性调教学院高h学校 |