中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用GCP開發帶有強化學習功能的Roguelike游戲

發布時間:2021-12-24 10:28:22 來源:億速云 閱讀:150 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關如何使用GCP開發帶有強化學習功能的Roguelike游戲,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

強化學習(RL)的許多應用都是專門針對將人工從訓練循環中脫離而設計的。例如,OpenAI Gym 提供了一個訓練RL模型以充當Atari游戲中的玩家的框架,許多問扎根都描述了將RL用于機器人技術。但是,一個通常討論不足的領域是應用RL方法來改善人們的主觀體驗。

為了演示這種類型應用,我開發了一個簡單的游戲,叫做“Trials of the Forbidden Ice Palace”。該游戲使用強化學習,通過為用戶量身定制游戲難度來改善用戶體驗。

游戲如何運作

該游戲是傳統的Roguelike游戲:具有RPG元素和大量程序生成的基于回合的地牢探索類游戲。玩家的目標是逐層逃離冰宮,與怪物戰斗并沿途收集有用的物品。傳統上會隨機生成出現在每層樓上的敵人和物品,但該游戲允許RL模型根據收集到的數據生成這些實體。

眾所周知,強化學習算法需要大量數據,因此在創建游戲時要遵循以下約束條件,以減少RL模型的復雜性:

1)游戲共有10層,之后玩家獲得了勝利

2)每層可以產生的敵人和物品的數量是固定的

強化學習和環境

強化學習的核心概念是自動代理(Agent)通過觀察和采取行動(Action)與環境(Env)相互作用,如圖1所示。通過與環境的互動,代理可以獲得獎勵(積極的或消極的),代理利用這些獎勵來學習和影響未來的決策。

如何使用GCP開發帶有強化學習功能的Roguelike游戲

對于這個應用程序,代理是RL算法,它根據它選擇生成的實體來調整游戲的難度,游戲是RL算法可以觀察和控制的環境。

狀態 State

狀態是指代理對環境所做的任何觀察,可以用來決定采取哪些行動。雖然有大量的不同的數據代理可能觀察(玩家血量,玩家所需的回合數,等),游戲的第一個版本的變量只考慮地板已達到和玩家的水平的玩家的性格。

行動 Actions

由于游戲的程序生成特性,代理將決定隨機生成怪物/道具,而不是每次都有一個確定性的決定。由于游戲中存在大量的隨機性元素,代理并不會以典型的RL方式進行探索,而是控制不同敵人/道具在游戲中生成的加權概率。

當代理選擇行動時,基于迄今為止學習到的最佳模式,它將通過學習到的Q矩陣加權隨機抽樣來決定在游戲中產生哪個敵人/道具;反之,如果代理選擇探索,代理就會從游戲中所有實體中產生概率相等的敵人/物品。

獎勵 Reward

強化學習算法的獎勵模型對于開發學習的模型應顯示的預期行為至關重要,因為機器學習都會采用走捷徑的方法來實現其目標。由于預期的目標是使玩家獲得最大的享受,因此做出了以下假設,以根據RL算法的獎勵來量化樂趣:

-玩家在游戲中進一步前進,而不是過早死亡會對玩家產生更多樂趣

-在沒有挑戰的情況下玩家每次獲勝的游戲都會很無聊

考慮到這些目標,當玩家進入表I所示的新樓層時,以及如表II所述的游戲完成時,RL模型都會獲得獎勵。

表一:玩家晉升獎勵模型

如何使用GCP開發帶有強化學習功能的Roguelike游戲

表二:完成游戲的獎勵模式

如何使用GCP開發帶有強化學習功能的Roguelike游戲

考慮到上面的進程和完成分數機制,RL算法將通過允許玩家前進到第8層而最大化獎勵,在這一點上玩家將最終遭遇死亡。為了最小化意外行為的可能性,RL算法也會因為玩家過早死亡而受到懲罰。

更新模型

RL算法采用了Q-Learning,該算法經過改進以適應Agent執行的隨機行為。在傳統的Q-Learning中,一個代理在每個狀態之間采取1個行動,而在此基礎上,代理的行動將根據在地板上生成的所有敵人/物品的概率分布進行更新,如下式所示。

如何使用GCP開發帶有強化學習功能的Roguelike游戲

其中Q'(s_t,a_t)是Q矩陣的更新值,Q(s_t,a_t)是狀態s的Q矩陣,并且在時間步長t上有一對動作,α是學習率,r_t是提供的獎勵 從過渡到狀態t + 1時,γ是折現因子,上劃線分量是基于時間步t + 1的平均回報對未來價值的估計。

通過GCP實現全局化RL訓練

全局AI模型使用所有玩家收集的游戲數據進行訓練,當玩家還沒有玩過游戲時,全局AI模型作為基礎RL模型。新玩家在第一次開始游戲時將獲得全局化RL模型的本地副本,這將在他們玩游戲時根據自己的游戲風格進行調整,而他們的游戲數據將用于進一步增強全局AI模型,供未來的新玩家使用。

如何使用GCP開發帶有強化學習功能的Roguelike游戲

圖2所示的架構概述了如何收集數據以及如何更新和分發全局模型。使用GCP是因為他們的免費使用產品最適合收集和存儲游戲數據的模型訓練。在這方面,游戲會例行地調用GCP的云函數來存儲Firebase數據庫中的數據。

我們使用免費GCP架構的組件收集所有玩家的游戲會話數據,從而創建全局RL模型。雖然玩家開始游戲時使用的是全局RL模式,但他們的個人體驗會創造一個定制的局部RL模式,以更好地適應自己的游戲風格。

以上就是如何使用GCP開發帶有強化學習功能的Roguelike游戲,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民和| 阿尔山市| 义马市| 辽源市| 凉山| 崇州市| 岳普湖县| 子长县| 盐津县| 民权县| 枣强县| 富民县| 诏安县| 甘洛县| 安图县| 灵宝市| 南澳县| 台北县| 隆化县| 阜南县| 阳谷县| 聂拉木县| 竹北市| 左云县| 河津市| 准格尔旗| 西林县| 云阳县| 大理市| 信宜市| 平度市| 洪泽县| 清河县| 阳春市| 扬州市| 吐鲁番市| 老河口市| 苏州市| 班戈县| 乳源| 徐州市|