ai 攻陷各種棋牌遊戲已經不是什麼新聞,但迅速開發和測試 ai 的環境一直是困擾業界和學界的問題。
最近德州農工大學資料科學實驗室給出了他們的解決方案,開源了基於牌類遊戲設計的強化學習 python 平台 rlcard,其中融合了中西方最流行的幾種牌類遊戲,同時實現了多種強化學習演算法。
rlcard 致力於為強化學習提供乙個易用、統一的開發和測試環境,讓人們能輕鬆、便捷地訓練測試自己的 ai。rlcard 是乙個用於牌類遊戲強化學習研究的開源工具包,其介面簡單易用,支援多種牌類環境。
rlcard 的目標是在強化學習與非完美資訊博弈之間搭建橋梁,推動強化學習研究在多智慧型體、高維狀態和動作空間以及稀疏獎勵領域的進步。
該工具包的開發遵循以下設計原則:可復現。在這些環境上的結果是可以重複得到的。如果在不同的執行中使用了同樣的隨機種子,那麼所得結果應當是一致的。易使用。
在每輪遊戲之後,產生的資料可被直接用於強化學習訓練。開發者也可以方便地配置狀態表徵、動作編碼、獎勵設計、甚至遊戲規則。可擴充套件。通過上述設計原則,開發者可以方便地向該工具包新增新的牌類遊戲環境。該工具包中的依賴盡力做到了最少,以便能輕鬆地維護**。該工具包提供了多種風格的受大眾歡迎的牌類遊戲,包括博彩遊戲、中式撲克以及一些棋盤遊戲。
開發者還提供了用來更靈活訪問遊戲樹的高階介面。與 openai gym 類似,工具包定義了乙個 step 函式,其可在給定的當前動作下將環境移動到下乙個狀態。此外該工具包還包含乙個 step_back 函式,這能回溯到前乙個狀態。狀態表徵狀態的定義是:在遊戲的乙個特定時間步驟中乙個玩家所能觀察到的所有資訊。在該工具包中,每個狀態都是乙個字典,包含兩個值。第乙個值是合法動作。第二個值是觀察到的狀態。編碼觀察的方式有很多種。對於 blackjack,rlcard 直接將玩家的分數和莊家的分數用作一種表徵。對於工具包中的其它遊戲,則是將已觀察到的牌編碼進多個牌平面。舉個例子,在鬥地主中,策略的輸入是乙個包含 6 個牌平面的矩陣,包括當前的手牌、其他兩位玩家的手牌的並集、最近的三個動作、所有已經打出的牌的並集。動作編碼rlcard 將動作都編碼成從 0 開始的正整數。動作與數字編碼一一對應。
對於某些大型遊戲,rlcard 採用了動作抽象以減小動作空間。舉個例子,鬥地主就有動作空間組合**的問題,其動作數量超過 3×10^4,其中任意的三張同樣的牌、飛機或炸彈都可以帶任何一張單牌或對子。為了減小動作空間,這個工具包僅編碼了乙個組合的主要部分,並使用了規則來決定要帶的牌。通過這種操作,鬥地主的動作空間減小到了 309。自定義除了預設的狀態和動作編碼,rlcard 的設計還能實現狀態表徵、動作編碼、獎勵設計、甚至遊戲規則的自定義。每個遊戲都使用了乙個 env 類進行封裝,其中的一些關鍵函式可以重寫以實現環境的自定義。extract_state 函式可用於將原始的遊戲狀態轉換成表徵。
decode_action 函式可用於將動作索引對映到動作。使用者可以通過修改這個函式來實現自己的動作抽象。get_payoffs 函式會返回玩家在遊戲結束時的收益。每個遊戲的上述元件都有乙個預設設定。開發者也鼓勵使用者自定義這些設定以獲得更好的表現。每個遊戲的引數也都可以調整。舉個例子,使用者可以通過修改 limitholdemgame 類的init函式來更改有限制德州撲克的玩家數量或固定加註。這樣,使用者就可以按需調整遊戲的難度,並逐步設計演算法。並行訓練這個工具包支援使用多程序生成遊戲資料。並行執行能極大加快大型環境中的訓練速度。具體來說,首先會在初始化時建立多個原始環境的副本。每個子程序都會從主程序複製模型引數,並在該環境的副本中生成遊戲資料,然後將資料傳送到主程序。這個主程序會收集所有資料在 cpu 或是 gpu 上訓練智慧型體。github 庫給出了訓練多程序智慧型體的例子。單智慧型體介面rlcard 提供了用於探索訓練單智慧型體牌類遊戲強化學習智慧型體的介面。具體來說,rlcard 用預訓練模型或基於規則的模型來模擬其它玩家,這樣從乙個玩家的視角看,遊戲實質上就變成了單智慧型體環境。這些單智慧型體環境也頗具難度,因為它們有很大的狀態和動作空間,而且獎勵稀疏。研究者表示,未來的計畫是使用不同層次的模擬模型來建立不同難度的環境。這個單智慧型體介面遵照了 openai gym 的格式。具體來說,在單智慧型體模式中,給定乙個動作,step 函式會返回下乙個狀態、獎勵以及遊戲是否完成的資訊。reset 函式會重置遊戲並返回初始狀態。常見的單智慧型體強化學習演算法可以輕鬆地用於這些環境。
評估這一節將介紹用於評估 rlcard 工具包的實驗。測試中開發者主要關注的這兩個問題:當前比較流行的強化學習演算法在這些環境中表現如何?生成遊戲資料需要多少計算資源?實驗使用了深度 q 網路、神經虛擬自我博弈和反事實遺憾最小化。評估的標準是勝率。這篇**採用了兩種實驗評估方法。
第一,智慧型體相對於隨機智慧型體的勝率。第二,智慧型體間博弈。相對於隨機智慧型體的結果實驗觀察到兩個結果。第一,所有演算法相對於隨機智慧型體的結果都相近。第二,nfsp 和 dqn 在大型遊戲中非常不穩定。錦標賽結果實驗觀察到,nfsp 在大多數環境中都優於 dqn。開發者還在 leduc 撲克上比較了 cfr 與 nfsp 和 dqn。cfr 表現較好。
遊戲機制對IT員工激勵的影響
遊戲的現在和未來 遊戲在歷史上的出現對人類的生活有非常大的影響。遊戲的主要目的是提供娛樂和放鬆,無論是在耕地中辛勞一天的農民,還是中世紀征服不同莊園後的軍隊,都能通過遊戲緩解疲勞和減輕傷痛。當然幸運的是在二十一世紀,遊戲和娛樂已經成功滲透至生活中的各個方面。網路和移動應用的發展為多領域的數字多 遊戲...
遊戲植入廣告對品牌的負面影響
品牌廣告主對於遊戲中的廣告存在一定的顧慮,暴力 血腥 令人沉迷是許多人對遊戲的看法,這種負面的看法會不會轉移到遊戲中傳播的品牌?首先我們設立乙個基礎假定 消費者在買商品時總是以達到自己利益最大化為目的,而所謂利益最大化,就是在商品給帶來自己一定效用時,所耗費的成本最小。或者是程式設計客棧在一定花費的...
人工智慧AI對客戶服務的影響正在形成
根據salesforce 第三版 服務狀態 報告,salesforce research調查了全球3500多家客戶服務 商和決策者,以確定 客戶服務準備迎來一場人工智慧革命 為了擴大支援範圍並為更多戰略性工作和客戶關係騰出空間,團隊可能會考慮解除安裝手工任務。70 的員工認為,將日常工作自動化可以讓...