DeepStackは、2人用ポーカー、特にヘッズアップ・ノーリミット・テキサス・ホールデムをプレイするために設計された人工知能コンピュータプログラムである。このゲームにおいて、人間のプロフェッショナルを打ち負かした最初のコンピュータプログラムである。このプログラムは、カレル大学、チェコ工科大学、アルバータ大学からなる国際チームによって開発された。
背景
ポーカーは学術コミュニティにおける重要なベンチマークゲームであり、最悪の対戦相手に対する最適戦略を見つけるための研究がかなり行われてきた。人間のプロフェッショナルは、チェスのような完全情報ゲームでは数十年も前に打ち負かされてきたが、不完全情報ゲームでははるかに複雑な再帰的推論が必要とされる。以前の一般的なアプローチは、主に抽象化を用いたゲームの簡略化に依存していた。しかし、不完全情報ゲームにおける抽象化は、しばしば高度に搾取可能な戦略をもたらす。その代わりに、DeepStackはニューラルネットワークの使用や継続的解決など、いくつかのアルゴリズム上の革新を用いている。
アルゴリズム
プログラムの中核は、特定のカード組み合わせの価値を決定するためのニューラルネットワークの使用である。ネットワークは少数のゲーム状態のみで訓練され、訓練中に見られなかった状況に一般化するために使用される。プログラムはニューラルネットワークと継続的解決を用いた探索を使用し、各ステップで見つかった戦略が前のステップで使用された戦略と一貫していることを保証する。探索手順は反実仮想後悔最小化を使用して、その先読みツリー内の戦略を反復的に更新し、ニューラルネットワークは葉の評価に使用される。葉の評価は、特定の深さを超えた計算を高速な近似推定に置き換えることで、ゲームの残り全体について推論することを回避する。
2016年のプロプレイヤーとのトーナメント
2016年12月に完了した研究で、DeepStackは44,000ハンドのポーカーをプレイし、11人のプロのポーカープレイヤーを打ち負かした。全ゲームを通じて、DeepStackは100ハンドあたり49ビッグブラインドを獲得した(常にフォールドした場合、100ハンドあたり75ビッグブラインドを失うだけである)。これはゼロから4標準偏差以上であり、ヘッズアップ・ノーリミット・テキサス・ホールデム・ポーカーでプロのポーカープレイヤーを打ち負かした最初のコンピュータプログラムとなった。この結果は人工知能研究における重要なマイルストーンであり、AIが不完全情報ゲームの複雑さを処理できることを実証した。
競合するアプローチ
DeepStackと同時期に、カーネギーメロン大学の研究グループからの競合アプローチがLibratusとして発表された。2017年1月11日から31日にかけて、Libratusは4人のトップクラスの人間のポーカープレイヤーとのトーナメントで対戦した。このアルゴリズムはScience誌にも掲載された。Libratusは葉の評価にニューラルネットワークを使用していない。専門家は、ニューラルネットワークを用いた学習(DeepStackが行ったように)はより一般的であり、実際に不完全情報を持つ他のゲームに一般化するその後の研究で使用されていると主張している。この違いは、機械学習の分野におけるDeepStackのアプローチのより広い適用可能性を強調している。
ポーカーコミュニティからの評価
456ハンドを完了したアイルランドのポーカープロフェッショナルであるDara O'Kearneyは、DeepStackがゲーム理論に基づいて、一部の人間のプレイヤーが使用するスタイルと類似したスタイルでプレイしたと主張した。このプログラムの成功は、戦略的意思決定における深層学習技術の可能性の検証と見なされ、同様の方法を他の領域に適用することへのさらなる関心を引き起こした。
関連項目
- コンピュータポーカープレイヤー
- Cepheus(ポーカーボット)
- Libratus
- Pluribus(ポーカーボット)