本技術涉及強化學習和智能體博弈,特別是涉及一種面向強化學習算法的數(shù)據(jù)處理方法、系統(tǒng)、設備和介質。
背景技術:
::1、目前,強化學習在機器人、交通、物流等領域廣泛應用,隨著人工智能技術迅猛發(fā)展,神經(jīng)網(wǎng)絡逼近函數(shù)值的能力被進一步發(fā)掘出來,設置類似海馬體的經(jīng)驗回放池、策略網(wǎng)絡與目標網(wǎng)絡異軌更新等手段讓強化學習有了質的突破。從上世紀10年代強化學習算法出現(xiàn)不穩(wěn)定、不收斂的表現(xiàn),到如今在atari、星際爭霸、dota2等決策任務中均超過了人類專業(yè)玩家的水平。2、強化學習算法在面對不同的應用環(huán)境或場景時需要設置不同的訓練參數(shù)、以及處理不同的學習更新邊界等,使得同一個強化算法在不同環(huán)境下訓練會有不同的處理。在智能體強化學習領域,有許多強化學習算法的組件或框架,如rllib、baselines、cleanrl、corl等強化學習框架,這些框架都有支持強化學習算法訓練、評估等功能。其中,rllib強化學習算法庫基于pytorch、tensorflow深度學習框架實現(xiàn)了許多強化學習算法,在訓練階段時rllib可以直接通過命令行調用強化算法,非常快速的實現(xiàn)訓練任務,但缺點在于整體訓練的調度系統(tǒng)非常復雜,子進程繁多,工程體量大,上手難度大,當想自由的對于算法、訓練過程作自由修改會有門檻。stable?baselines、cleanrl、corl等框架集成了一系列強化學習算法,訓練的技術方案基本都是分別提供算法對應數(shù)據(jù)環(huán)境的訓練實例,在訓練階段把算法的訓練實現(xiàn)直接當成module集成再import直接使用,也即都是提供一個針對算法的特定訓練任務并集成該算法的訓練實現(xiàn)。如dqn強化學習算法有自己單獨的訓練過程實現(xiàn),ddpg、ppo、qmix、td3等算法也一樣,當從一個算法訓練任務切換到另一個算法訓練任務時,面對的是一個新的訓練邏輯,其中智能體抽象、接口語義定義、超參數(shù)定位、算法策略邏輯等代碼會出現(xiàn)不同程度的差異,這種差異在不同環(huán)境應用、不同算法類型(如off-policy算法與on-policy算法)上體現(xiàn)尤為明顯,最后導致工作量和時間成本隨著算法任務復雜性的提升而變高。技術實現(xiàn)思路1、基于此,本技術目的在于提供一種面向強化學習算法的數(shù)據(jù)處理的方法、系統(tǒng)、設備和介質,來解決上述
背景技術:
:中提及的技術問題。2、第一方面,本技術提供了一種面向強化學習算法的數(shù)據(jù)處理方法。應用在包括智能體的數(shù)據(jù)環(huán)境;包括:3、確定強化算法關聯(lián)的接口函數(shù),實現(xiàn)目標強化算法和所述數(shù)據(jù)環(huán)境的適配;4、將目標參數(shù)與所述目標強化算法進行配置化處理,得到與配置文件相關的訓練任務;5、將時序差分作為所述智能體和所述數(shù)據(jù)環(huán)境交互的基礎過程,并結合經(jīng)驗回放池和多種輔助操作得到訓練范式;6、通過所述訓練范式完成對訓練任務的數(shù)據(jù)處理。7、在一個實施例中,強化算法包括單智能體算法和多智能體算法;所述接口函數(shù)對應強化算法抽象出的多層接口,包括模型層model、算法層embryo和agent層;其中:模型層model使用神經(jīng)網(wǎng)絡來定義,并實現(xiàn)模型定義部分和推理部分;算法層embryo指向強化學習算法更新學習部分,對應的接口函數(shù)至少包括更新函數(shù)update和預測函數(shù)execute;agent層代表與所述數(shù)據(jù)環(huán)境進行代碼邏輯交互的實體,對應的接口函數(shù)至少包括學習函數(shù)learn、策略函數(shù)policy。8、在一個實施例中,實現(xiàn)目標強化算法和所述數(shù)據(jù)環(huán)境的適配,包括:確定所述數(shù)據(jù)環(huán)境對應的環(huán)境接口;所述環(huán)境接口的函數(shù)至少包括環(huán)境初始化init、動作交互step、場景渲染render、重置環(huán)境reset;確保所述目標強化算法對應的智能體和所述數(shù)據(jù)環(huán)境交互時環(huán)境接口語義的一致性。9、在一個實施例中,目標參數(shù)至少包括初始化參數(shù)、模型參數(shù)、環(huán)境參數(shù);所述將目標參數(shù)與所述目標強化算法進行配置化處理,得到與配置文件相關的訓練任務,包括:實現(xiàn)所述目標參數(shù)與目標強化算法、以及代碼邏輯解耦的配置化處理,得到配置文件;通過注冊模塊對所述配置文件進行處理得到訓練任務;所述注冊模塊至少包括優(yōu)化器、學習率調度器、策略調度。10、在一個實施例中,多種輔助操作至少包括在時序差分的基礎過程中增加鉤子、訓練信息;所述結合經(jīng)驗回放池和多種輔助操作得到訓練范式,包括:當所述數(shù)據(jù)環(huán)境進入對局狀態(tài)時,調用鉤子獲取策略因子和學習因子;智能體使用所述策略因子調用策略函數(shù)policy,并確定與所述數(shù)據(jù)環(huán)境交互后的軌跡數(shù)據(jù);所述軌跡數(shù)據(jù)包括下一個狀態(tài)、獎勵和對局狀態(tài);調用目標強化算法學習前的鉤子,執(zhí)行學習前的準備工作;智能體根據(jù)所述軌跡數(shù)據(jù)和所述學習因子調用學習函數(shù)learn,并根據(jù)所述經(jīng)驗回放池進行目標強化算法的策略更新;調用目標強化算法學習后的鉤子,執(zhí)行學習后的準備工作并存儲訓練信息;所述訓練信息包括學習步數(shù)、獎勵值、經(jīng)驗樣本數(shù)量。11、在一個實施例中,根據(jù)所述經(jīng)驗回放池進行目標強化算法的策略更新,包括:確定所述目標強化算法對應的經(jīng)驗回放池的類型,并進行初始化操作;確定智能體與所述數(shù)據(jù)環(huán)境交互的當前經(jīng)驗條元素,并通過數(shù)據(jù)結構對當前經(jīng)驗條元素進行結構化處理;當所述經(jīng)驗回放池為單步經(jīng)驗池時,對所述智能體進行學習更新,直至對局狀態(tài)結束。12、在一個實施例中,上述方法還包括:當所述經(jīng)驗回放池為多步經(jīng)驗池時且當前局內步數(shù)非第一步時,判斷樣本內部序號是否為本局局號;若是,則在所述多步經(jīng)驗池的多種隊列中分別添加本次經(jīng)驗條元素,且局內步數(shù)加一;若否,則對所述多步經(jīng)驗池的多種隊列進行結構化處理,并添加為經(jīng)驗樣本,直至對局狀態(tài)結束。13、第二方面,本技術提供了一種面向強化學習算法的數(shù)據(jù)處理系統(tǒng)。包括:14、接口函數(shù)模塊,用于確定強化算法關聯(lián)的接口函數(shù),實現(xiàn)目標強化算法和數(shù)據(jù)環(huán)境的適配;15、配置處理模塊,用于將目標參數(shù)與所述目標強化算法進行配置化處理,得到與配置文件相關的訓練任務;16、訓練范式模塊,用于將時序差分作為智能體和所述數(shù)據(jù)環(huán)境交互的基礎過程,并結合經(jīng)驗回放池和多種輔助操作得到訓練范式;通過所述訓練范式完成對訓練任務的數(shù)據(jù)處理。17、第三方面,本技術還提供了一種計算機設備。計算機設備包括存儲器和處理器,存儲器存儲有計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)以上面向強化學習算法的數(shù)據(jù)處理的步驟。18、第四方面,本技術還提供了一種計算機可讀存儲介質。計算機可讀存儲介質上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)以上面向強化學習算法的數(shù)據(jù)處理的步驟。19、上述面向強化學習算法的數(shù)據(jù)處理方法、系統(tǒng)、計算機設備和可讀存儲介質,針對在強化學習訓練上無法兼得多類算法訓練的情況,為了讓訓練任務切換以及使用都變得簡單、便捷,通過將目標參數(shù)與目標強化算法進行配置化處理,能方便快捷地調整目標參數(shù)以達到優(yōu)化訓練的效果。通過將時序差分作為智能體和數(shù)據(jù)環(huán)境交互的基礎過程,以此來解決對統(tǒng)一訓練范式的建模,配合接口函數(shù)、經(jīng)驗回放池和多種輔助操作,能夠快速方便的接入強化學習算法和強化學習數(shù)據(jù)環(huán)境的同時,高效地對算法進行修改、調試和優(yōu)化,減少算法實現(xiàn)上帶來的邏輯負擔。當前第1頁12當前第1頁12