索尼開發人員分享機器學習如何改善品質保證

在最近在日本橫濱舉行的 CEDEC 活動上發表的演講中,索尼內部的開發主管討論了他們最近在實施人工智慧和機器學習模型以提高 QA 流程中的效率和準確性方面所做的努力。

此次演講由該公司遊戲服務研發部門的機器學習研究人員 Hiroyuki Yabe 和 Yutaro Miynotauchi 以及專注於軟體 QA 工程的軟體工程師 Nakahara Hiroki 主持。它的目的是讓其他創作者了解該公司如何使用真正的PS5 硬體將人工智能集成到QA 流程中,僅收集類似於人類驅動的問答的屏幕和音頻信息,同時允許更定期、更廣泛地測試遊戲。

以這種方式自主完成的更多定期測試使團隊能夠透過更定期的測試更早地消除更多錯誤,否則每個開發週期只能進行幾次手動測試,並且在開發中發現得太晚的錯誤有可能影響發布。

在本次演講中,團隊分享了他們在 PlayStation 5 發布遊戲《Astro's Playroom》中使用該軟體自動執行 QA 操作的發現。值得注意的是,需要進行廣泛的 QA 測試的一個關鍵功能是將遊戲進度與 PS5 的活動卡等硬體功能相集成,該卡可以在玩家通過關卡時追蹤特定目標的進度。

重播代理和模仿代理

在研究如何將該技術整合到測試過程中時,團隊有幾個需要滿足的條件:任何測試系統都不能依賴於特定於遊戲的工具,然後需要重新製作這些工具以用於其他遊戲- 在其他遊戲中換句話說,射擊遊戲的人工智慧測試不能依賴不能應用於平台遊戲或其他射擊遊戲等的瞄準輔助。

它還必須能夠以現實的成本實現,使這種自動化值得,而且它還必須足夠簡單,即使沒有技術經驗的人也可以創建模仿代理並運行測試模擬。

這導致 Astro 的 Playroom 透過使用兩個獨立的自動遊戲系統(重播代理商和模仿代理商)實現 QA 自動化。前一個系統透過複製精確的按鈕組合來確保一致性,並且可以在特定情況下使用,例如導航遊戲中的 UI 和 PS5 硬體選單,或從生成點移動到沒有變數的關卡轉換等時刻。 。

同時,模仿代理人會以不同的方式再現人類的遊戲。這兩個系統都是透過將 PS5 連接到 PC 來實現的,其中螢幕上的資訊可以在控制器輸入發送回硬體之前發送到學習模組。

這些工具也可以依序使用:在一個影片範例中,重播代理程式可用於導航 Astro 遊戲室的 UI 或從中心世界移動到一個關卡,然後模仿代理程式將接管播放一個關卡。通常,場景轉換將用於表示這種變化,例如在進入等級時開啟「活動卡」選單,以可重現的方式表示兩個系統之間的轉換。

正如Yabe 所解釋的那樣,「對於模仿代理,我們創建了一個機器學習模型,可以重現人類遊戲玩法,並用它來測試無法精確再現的遊戲部分。為此,我們會讓人類測試者玩很多部分。從那裡使用。

“我們創建了一個機器學習模型,可以重現人類遊戲玩法,並用它來測試無法精確再現的遊戲部分”矢部弘之

這將使團隊能夠進一步重複測試這些部分,以確保沒有忽略任何錯誤。這種機器學習對於測試不可能準確再現輸入的區域是必要的,例如玩家可以自由控制攝影機和視角的區域,或者敵方 AI 可以對玩家動作做出反應並以非即時方式攻擊玩家的場景。設定模式。在這種情況下,精確的輸入再現不會產生有用的結果或允許機器完成關卡,因為這些因素在重複的會話中並不穩定。

為了協助機器學習模型,LoFTR(無偵測器局部特徵匹配)等其他人工智慧系統將用於幫助系統將場景識別為與模型內的場景相同,即使相機角度和玩家位置等因素也如此與提供給系統的輸入不同。在自動化測試模型將在重播代理和模仿代理之間恢復的測試中,當遊戲遇到過渡場景以在有用代理之間切換時,這些知識對於理解遊戲至關重要。

正如 Yabe 所指出的,「模仿代理的模型只需要遊戲螢幕資訊作為輸入。當輸入遊戲螢幕資訊時,它被設定為輸出下一幀中控制器的狀態,並透過運行[記錄模型」 ] 以每秒十幀的速度,它能夠即時確定模仿代理針對所有無法應用重播代理的場景。

話雖如此,需要進行一些簡化和指導,以確保遊戲能夠使用提供的遊戲數據真正了解環境。例如,不是處理原始模擬輸入,而是將其簡化為九個運動象限,系統可以更有效地管理這些運動。在重現人類遊戲時,模型還將使用機率根據提供的數據確定特定時刻的按鈕按下情況。

圖片來源:索尼互動娛樂

反映人類遊戲

另一個注意事項是需要將類別平衡整合到訓練資料中,以確保更大的成功機會,特別是在處理小學習樣本時,正如在這種情況下所預期的那樣。在一組通用資料上不加區別地訓練的模型可能會偏向於導致成功清除但不反映人類遊戲的結果。同時,對於機器學習來說,影響較大的不常見任務(例如拾取必要的進步物品可能會在擊敗敵人時隨機掉落)很難採用。使其變得可行,甚至可以使用在這種情況下。

正如宮內雄太郎所解釋的那樣,「在遊戲中,有時需要按下按鈕來撿起隨機掉落的物品,但對於進度來說卻是必不可少的,這種情況並不少見。然而,這種不常見的動作卻很常見。 ,因此對重要的因素給予更多的權重。

模型還將根據數據對其進行訓練,以幫助其學習如何從失敗狀態(例如,撞牆)中恢復過來並返回到標準遊戲,以確保它能夠更好地反映人類遊戲,而不會發現自己以不自然的方式進行遊戲不利於有效測試。

在演講期間展示的一個範例中,顯示了學習結果平衡和不平衡的情況下按鈕按下和模擬運動的機率,結果顯示出明顯的差異。在平衡模型中,Astro Bot 在關卡中的移動反映了人類在世界中移動的方式,它可以有效地清除跳躍或壁架,而不平衡系統會不斷地撞到牆壁或撞到路徑上的障礙物,即使它最終可能會實現其目標(或者在許多情況下,不會)。

透過向資料輸入平衡,不僅可以使用更少的資料集有效地訓練模型,還可以透過為選定類型創建基礎模型來更好地適應一款遊戲的世界,并快速適應同一類型的新遊戲這可以應用於各個標題。

儘管該系統不斷完善,但研究人員在本遊戲和其他遊戲的整個開發過程中測試自動化 QA 的經驗中註意到該模型的許多優點和缺點。以遊戲 A 和 B 兩個遊戲為例,他們指出,在遊戲 A 中,即使擁有人類在遊戲某個區域進行遊戲的大量訓練數據,代理也並不總是能夠使用所提供的數據來通關遊戲。這將需要獲得新的或額外的數據,這可能會延長測試所需的時間,超出手動人類測試所能達到的時間。

然而,就遊戲 B 而言,自動化系統的人工資料收集可能需要 1 小時才能產生相當於 50 小時的人工測試,這大大加快了 QA 速度,從而總體上減少了促進自動化所需的工時數這個數字低於通過人體測試達到相同結果所需的數字。

此外,由於該系統目前並不完全自給自足,無法在 QA 中完全自主地運行,因此在某種程度上仍然需要人工輸入才能獲得有效的結果。在回答演講後觀眾提出的問題時,Yabe 承認,當某個關卡內的參數發生變化(例如敵人和平台的放置)時,先前的機器學習數據將不再有效。此時,需要建立一個新的機器學習模型,或需要手動測試該區域,將模型限制在遊戲玩法中更完整的部分。

由於該系統並不完全自給自足,無法在 QA 中完全自主地行動,因此仍需要一定程度的人工輸入才能獲得有效的結果

然而,總體而言,與完全由人工驅動的方法相比,自動化測試的使用使團隊能夠提高 QA 流程的效率。這種機器學習模型並沒有完全消除人類測試人員的必要性,而是允許在整個開發過程中進行更頻繁的測試,以便更早發現錯誤。此外,對更多遊戲的進一步測試表明該系統仍在不斷完善,預計模型可以隨著時間的推移不斷改進。

儘管機器學習在大型語言模型和生成式人工智慧中的使用受到了開發圈內外的蔑視和抵制,但這些在其他場景中使用的模型為遊戲開發人員提供了切實的好處。這些人工智慧模型的使用並沒有取代對 QA 專家的需求——並不是所有的機器測試都比人工驅動的 QA 更快——而是將 QA 流程進一步整合到了開發過程中。

與其將此類錯誤修復和品質檢查留到開發結束,此時由於缺乏早期檢測,一些複雜的問題可能會更深入地整合到遊戲程式設計的結構中,而是可以在整個開發過程中每當出現新問題時重複品質檢查功能和等級已完成。

QA 流程中機器學習系統的開發使得這種早期檢測和錯誤修復對於開發人員來說更加簡化和有效,從而提高了品質並減少了向公眾發布的遊戲中的錯誤數量,同時使用其他開發人員可以尋求的工具透過開發和發展自己的機器學習模組來進行模仿。