- AI自動化測試:技術原理、平臺搭建與工程實踐
- 騰訊TuringLab團隊
- 9字
- 2020-08-13 13:47:07
4.2 模仿學習研究現狀
4.2.1 行為克隆
行為克隆可以看作一種監督學習的算法,其主要思路是根據玩家提供的游戲錄制的樣本,由AI通過深度網絡等模型從樣本集中提取玩家玩游戲的策略,當AI與游戲環境交互時,能匹配當前的游戲狀態,然后模仿玩家的動作進行應對。該算法與監督的圖像分類問題很相似:在圖像分類問題中,需要提供圖像集和每張圖像對應的類別標簽,然后構建深度網絡結構,提取圖像中的潛在語義特征,優化目標要求模型預測的類別與真實的圖像類別盡量相同;而在行為克隆中,它是將圖像分類中的圖像類別標簽轉換成玩家的動作標簽,特征提取部分同樣基于深度網絡,訓練模型的目標要求相同狀態下盡量輸出與玩家相同的動作。
與監督的圖像分類問題相比,行為克隆訓練的難度更高,主要有以下幾個原因。
第一,在圖像分類問題中,我們可以在構建樣本集時便充分考慮訓練集和樣本集的樣本分布,盡量保證兩者相似,這樣訓練出來的模型在訓練集和驗證集都能取得較好的效果。但是,行為克隆訓練出來的模型要求會根據當前的游戲畫面做動作,游戲環境會根據當前動作更新游戲畫面。也就是說在行為克隆問題中,訓練集是根據玩家策略錄制的圖像和動作集合,而測試集是根據模型學習的策略生成的游戲圖像,一旦模型策略和玩家策略存在偏差,訓練集和樣本集的樣本分布會出現較大差異。當AI由于動作偏差而進入訓練集中未出現的場景時,模型無法做出正確的動作。
第二,圖像分類目前有諸如ImageNet的大規模數據集,可以先在大規模數據集訓練得到初始的網絡模型,由于圖像樣本覆蓋大量場景,基于其訓練的模型不容易出現過擬合的情況。然后,針對特定任務,在初始模型上微調模型參數,這樣即使特定任務中采集的樣本圖像較少,也能提取到較為健壯的潛在特征,防止模型過擬合。但是針對游戲中的行為克隆問題,目前并沒有大規模的游戲樣本集,而且自然場景圖像與游戲圖像在外觀上存在較大差異,不同游戲風格各異,很難提取針對游戲的通用特征,這也就導致行為克隆訓練的模型容易過擬合,即訓練過程中能獲得較好的效果,但在測試過程中難以做出與玩家類似的動作。
第三,在圖像分類問題中,圖像的類別很少會出現標簽模糊的情況。針對相同圖像,不同人給出的類別標簽基本是一致的,這也意味著相同類別的圖像在外觀上有較大的相似性,不同類別的圖像在外觀上區分度高。但是在行為克隆問題中,玩家在同一個狀態下可以執行多種動作,而不同玩家游戲策略不同,相同游戲狀態有可能會執行完全不同的行為,這使得模型很難從同一類動作對應的樣本集中提取判別力強的抽象特征,進一步提高行為克隆的準確度。
第四,在玩家錄制的樣本中,不同類別的樣本數量差異很大,采用這些樣本訓練模型容易使網絡傾向于做特定動作。另外,很多游戲場景下,玩家有多種動作選擇,而且不會對游戲結果產生不良影響,這會導致同一個動作對應的樣本集外觀差異較大,難以專注于學習關鍵時刻的動作策略。
行為克隆雖然有以上描述的問題,但其優點也很明顯。在訓練過程中,行為克隆不需要與真實環境進行交互,僅需要提供玩家錄制的樣本就可以訓練,極大地降低了使用門檻,而無須使用游戲內部接口。
- C語言程序設計(第3版)
- React Native Cookbook
- HTML5+CSS3基礎開發教程(第2版)
- Android Application Development Cookbook(Second Edition)
- RTC程序設計:實時音視頻權威指南
- 零基礎學Python網絡爬蟲案例實戰全流程詳解(高級進階篇)
- Mastering C++ Multithreading
- Spring Boot+MVC實戰指南
- Natural Language Processing with Python Quick Start Guide
- Web前端開發最佳實踐
- Learning ECMAScript 6
- Kotlin入門與實戰
- 精通Rust(第2版)
- Unreal Engine 4 Game Development Essentials
- Python大數據與機器學習實戰