ゲームにおけるディープラーニングと AI

ゲームにおけるディープラーニングと AI

[[190049]]

この記事は、4月27日にBig Data Talk WeChatコミュニティで共有されたコンテンツをまとめたものです。

みなさんこんにちは。YYのGao Yangです。今回はゲームAIにおけるディープラーニングの応用についてお話します。

NPC ドライバーは、低レベル、中レベル、高レベル、超高レベルのいくつかのカテゴリに大まかに分類できます。もちろん、他の方法で分けることも可能ですが、ここでは主に実装方法と適用シナリオに基づいて大まかな分け方を示します。

低レベルの NPC は通常、ゲーム内では雑多な兵士と呼ばれています。彼らはいかなる計画にも関与せず、いわゆる戦略によって動かされることはありません。基本的には、特定の設計されたルートをたどり、ゲームの主人公に直接攻撃します。このタイプのゲームは非常に一般的で、特に古いスタンドアロン ゲームでは、ほとんどの NPC がこのタイプです。

中級 NPC は、ゲーム内のグループバトルで協力的な NPC としてよく見られます。このタイプのロボットは、特定の事前に番号が付けられた戦略によって駆動され、単純な適応性を備えています。もちろん、これらはすべて人間が事前に設定した戦略です。例えば、体力が低いゲームの主人公を攻撃することを優先したり、自分の体力が低い場合は体力の回復を優先したりするなどです。これらの動作を通じて、アクティビティシーケンスに一定の違いをもたらすことができます。しかし、その場面は非常に特異かつ決定的です。

上級NPCとは、オンラインゲームにおける高度なチームバトルでの協力を指します。 Honor of Kings や League of Legends のようなゲームには、位置取り、血液の回復、防御、減速など、ボードに影響を与えるさまざまな複雑な要素があります。これらの要素は、人々がさまざまなシナリオでうまく調整するために長期的な探求と実践を必要とするため、このタイプの NPC の戦略を書くのは比較的難しく、少なくとも、より高い勝率を保証できる比較的確実な戦略の書き方のアイデアを見つけるのは困難です。

超高レベルの NPC とは、一般的に、ゲームのような強力な対決戦略を持つ NPC を指します。この場合、NPC はボードの長期的な進化について全体的によく理解している必要がありますが、これを直接記述するのは通常より困難です。網羅的な検索方法を戦略として使用しようとすると、通常、時間の複雑さが通常の計算ユニットでは耐えられないほど高くなります。したがって、複雑な環境で NPC のパフォーマンスが向上することを期待する場合は、NPC が最善の方法を学習し、多数のゲーム セッションを通じて徐々に進化できるようにするなど、より適切なアプローチが必要です。

この場合、ゲームAIにおける人工知能の応用はますます注目を集めています。もちろん、人工知能のギャップは主にゲーム環境のギャップに反映されます。さまざまなゲームで NPC をトレーニングする難易度は異なります。もちろん、シーンがシンプルであればあるほどトレーニングは簡単になり、それは入力ディメンションの違いに反映されます。ゲームによっては次元が数個しかないものもありますが、より複雑なシーンでは数万以上の次元があります。

さらに、人工知能のギャップは、トレーニングプロセスへの人間の参加度という別の側面にも反映されています。もちろん、人間の参加度が低いほど良いと期待しています。数値が低いほど、このモデルまたは方法の「自律性」が強くなり、将来的に独自の進化シナリオの一般化が進むことになります。

トレーニング(自己学習)によって進化する必要があるこのタイプの NPC の場合、基本的なルーチンは固定されています。モデルをグローバル スケールで最大問題または最小問題に変換できる場合は、凸最適化または凹最適化を通じて解決できます。そのため、モデル構築の過程では、モデル全体の評価関数を設定し、戦略調整を通じて評価関数が極値に到達するようにする必要があります。

実装プロセスでは、従来の統計手法を使用することも、ニューラル ネットワークを使用して戦略を適合させることもできます。もちろん、人工知能のより従来の強化学習ルーチンを使用して実装することもできます。これらはすべて可能なパスです。

古典的な統計モデルを使用できる確率ゲームのほとんどは、テキサス ホールデム、ブラックジャックなどの確率ゲームです。しかし、ルールが決まると、これらのモデルは静的な確率に従って順列と組み合わせによる計算しか実行できないため、大きな制限があります。

ニューラル ネットワーク アルゴリズム (ディープラーニング) を使用してゲーム AI を作成することもできます。ニューラル ネットワークは VC 次元が非常に高く、本質的に非常に強力なフィッティング機能を備えているため、複雑なシナリオに対処するために使用できます。その中で、最も簡単に考えられるのは、畳み込みニューラルネットワークをランディングツールとして使うことです。畳み込みニューラル ネットワークは、優れた特徴抽出特性と高速収束を備えており、入力が多数のピクセルである状況に適しています。

ここでは、深層学習ネットワークを構築するための非常に一般的な方法である畳み込みネットワークについて簡単に紹介します。畳み込み層、プーリング層、最終出力層があります。畳み込み層は特徴抽出に使用され、プーリング層はダウンサンプリングと一般化能力の向上に使用され、出力層は分類や予測に使用されます。このようなシナリオでは、NPC の入力やアクションを表すために使用できます。つまり、シーン データ ベクトルが入力として使用され、NPC アクションが出力として使用されます。トレーニング プロセス中、ネットワークには多数の正のサンプル、つまりゲーム内で正しく動作するサンプルが供給されます。

たとえば、チェス ゲームでは、チェス盤は 9*9 ベクトルとして記述できます。ベクトルの各次元は、線形独立コードを使用して、チェスの駒があるかどうか、およびそれがどのチェスの駒であるかを記述できます。これらは、盤全体の記述情報として畳み込みネットワークに入力されます。ネットワークの入力部分は、「良いチェス」の説明を提供します。これは、「ルーク 3 が 1 前進する」や「大砲 2 がレベル 7 に移動する」などのアクションのベクトル化された説明です。

このプロセスでは、畳み込みネットワークが正しいアクションを学習できるように、畳み込みネットワークに多数の正のサンプル、つまりより信頼性の高いアクションを与える必要があることに注意してください。逆に、ネットワークに悪いチェスの動きを与えると、ネットワークはこれらの悪い動きも学習します。明らかに、これは私たちが望んでいることではありません。

畳み込みネットワークの利点は、先ほど述べたように、収束速度が速く、一般化能力に優れ、適用シナリオが幅広いことです。これにより、さまざまなゲームで使用したり、トレーニング用の NPC の頭脳として使用したりできるようになります。

しかし同時に、畳み込みネットワークにも欠点があります。大量の陽性サンプルと手動介入が必要になります。チェスゲームを例に挙げてみましょう。各ボードがネットワークに入力されるとき、人間がラベル付けした「良いチェス」の説明を与える必要があります。これによりトレーニング コストが大幅に増加し、低コストで肯定的なサンプル評価を取得できないシナリオでは畳み込みネットワークを直接使用できなくなります。

要約すると、畳み込みネットワークを直接使用するのは、入力データ量が少なく、アクションが単純で、正のサンプルに簡単にアクセスできるゲームにのみ適しています。複雑な状況を伴う他のゲームでは、通常、何らかの改善が必要になります。

現在、より高度なゲーム AI トレーニング方法は、2013 年に NIPS で公開された DQN 論文に基づいたニューラル ネットワークと強化学習を組み合わせたものです。ここでは DQN については脇に置いて、強化学習の基本的な概念についてお話ししましょう。強化学習の分野では、通常、研究対象は複数あります。1つはロボット(エンティティとも呼ばれます)で、トレーニングする対象です。1つは環境(ロボットが配置されているシーン)です。1つはアクション(ロボットが発行する動作(Action)です。ロボットは環境から、状態(State)と報酬(Reward)の2つを継続的に取得します。

このシナリオが確立されると、実際にトレーニングを開始できます。ロボットとして何が得られるのでしょうか? もちろん、時系列で一連の状態、アクション、報酬が得られます。この報酬は必ずしも報酬だけではないことに注意してください。正の数の場合は報酬を意味し、負の数の場合は罰を意味します。一連のイベントでは、状態、アクション、報酬の文字列が継続的に取得されます。ただし、ここでの報酬は、現在の状態とアクションに対する報酬ではなく、前の状態で実行したアクションによってもたらされた報酬の値を指します。

このような一連のデータが揃ったので、簡単な統計処理によって実際に次のような表を作成できます。図に示すように、縦の列はすべて状態、横の列はすべてアクションです。統計を通じて、報酬の値をテーブルに入力できます。つまり、ある状態においてある行動を発した後に得られる報酬値、つまり認知を意味します。使用時に、ロボットはテーブルを参照して、状態の最大報酬とそれに対応するアクションを見つけ、このアクションを実行して最大報酬値を取得できます。

しかし、これには明らかな問題があり、それは短期的な問題です。状態は継続的であるため、前の状態と次の状態の間には何らかの潜在的な影響が存在します。 Gharaman のようなゲームをプレイしているときと同じように、次の瞬間に壁にぶつかって撃たれるだけなら、撃たれる意味はありません。したがって、現在の状態で最大の報酬を持つアクションが見つかったとしても、それが将来的により大きな長期報酬を保証できることを意味するわけではありません。

この状況をこのように見る必要があります。実際、これは木のようなものです。時間的に前にある状態がツリーのルートとなり、時間的に後ろにある状態がツリーの下にある枝葉のノードとなります。次のレイヤーのすべてのアクションの中で最も高い報酬をもたらすアクションが、必ずしも最も高いグローバル報酬をもたらすパスにつながるわけではありません。言い換えれば、次の瞬間に最高に幸せに笑ったとしても、最後まで笑い続けるというわけではないのです。このグラフから、1-4-1 パスの総合的な利点は右側の 1-1-5 ほど良くないこともわかります。

このとき、Q学習アルゴリズムというものが必要となり、その式は次のように記述されます。 Q(s,a)は前の表の内容を表します。ここで、aとsはそれぞれ水平座標と垂直座標です。 Q(s,a)は特定の値、つまり報酬を表します。このアルゴリズムでは、テーブル全体の Q(s,a) を継続的に更新する必要があります。更新原理は式に書かれているとおりで、アルファとガンマは重み係数です。定性的に言えば、アルファは将来のリターンに付随する重要度を表します。0 はまったく考慮されないことを意味し、1 は現在のリターンが、最大の報酬値を持つ移行可能な次の状態に依存することを意味します。

言い換えれば、アルファが 1 に設定されている場合、Q(s,a) 更新プロセス全体は、次の状態以降で最高の報酬値を継続的に割り当てることであると理解できます。つまり、ある状態が「より信頼できる」と評価されるのは、その後の状態が「より信頼できる」からであり、後者の状態も、その後の状態が「より信頼できる」から「より信頼できる」と評価される、と説明できます。このように転送することで、近視眼の問題を簡単に解決できます。

この図を見てみましょう。この仮定の下では、基本的に各状態における各アクションの具体的な評価を得ることはできませんが、ゲーム全体の最後に勝利したパーティに正の報酬を与え、それをこのように渡すことで、最終的に完全な「信頼できる」行動チェーンを見つけることができます。

このシナリオではディープラーニングも使用されます。現在最も一般的に使用されているのは、Deep Q-Network の略である DQN です。これは強化学習とディープラーニングを組み合わせたものです。ネットワークの入力はディスクの情報であり、これは畳み込み層と中間の完全接続層を通過し、最後に SOFTMAX を使用してアクションの評価である Q 値とそれに対応する報酬値を適合させます。

DQN の損失関数は非常に特殊です。トレーニング プロセス中は、次の 2 つのことを行う必要があります。1. 先ほど書いたように、後続の状態の Reward を前方状態に継続的に更新します。 2. このプロセスでは、状態 Statet とその次の状態 Statet+1 をネットワークに通過させて、それらが生成する報酬評価の差が最小限になるようにします。最終的にアルゴリズム全体が収束すると、最も信頼できるパス上のすべての Statet と Statet+1 の Reward 値が同じになるという現象が発生します。さらに、Statet と Statet+1 の評価ルールは同じです。したがって、この場合、ネットワークに入力される任意の状態は、この状態の下で最も信頼性の高いパスをたどることができます。

さらに、このタイプのロボットは実際に拡張することができます。つまり、評価関数は、最も高い勝率を持たせることではなく、プレイヤーとゲームをプレイする過程で、プレイヤーのゲーム時間を増やすことです。このテクニックにはさらに多くのテクニックが含まれており、トレーニング条件としてプレーヤーのゲーム リズムを入力する必要があります。

一般的に、トラフィックが不十分な多くのゲーム プラットフォームでは、ゲームをプレイするプレイヤーに同行するロボットが必要になります。勝ち続ける、負け続ける、対戦相手がいない、チームメイトがいないなど、プレイヤーが不満を感じるような状況であれば、ロボットは理論的にはそれを解決できるはずです。

より複雑なモデルの場合、通常の DQN に頼るだけでは問題を適切に解決できなくなります。次元が高すぎるため、モデルの収束速度が理想的ではなくなる可能性があります。場合によっては、ランダム決定フォレストなどの他の手段を使用して決定を下す必要がある場合があります。つまり、精度の低いモデルを複数構築し、各モデルが独自の判断で戦略に投票し、最終的に投票によって戦略を決定することができます。実際に、「三人の靴屋は一人の諸葛亮より優れている」という用法があります。

最後に、ゲーム市場の見通しを見てみましょう。2016年の中国のゲーム市場は約1,700億元で、依然として非常に大きな規模です。

私たちの推定によると、多くのゲームにおいて、ロングテールユーザーの約 30% が「ミスマッチ」により離脱または非アクティブになっています。すると、ロボットの役割は非常に明白で、ユーザーとの馴染むことでこの 30% のミスマッチを補い、ロングテール ユーザーのアクティビティ レベルを最大化することを目指すことです。

このロングテールボリュームには、ゲーミングロボットで埋められる市場スペースが約 700 億あると推定されており、これは先ほど推定した 30% に相当します。その中で、チェスやカードゲームは控えめに見積もっても約80億と、市場規模はまだまだ期待できるものとなっています。これは私たちが徐々に取り組んでいる目標でもあります。

著者について

Gao Yang 氏は、『Big Data and Machine Learning in Plain Language』、『Deep Learning and Tensorflow in Plain Language』、『Handbook for Becoming a Data Scientist』の著者です。そのうち、「Big Data and Machine Learning in Plain Language」は発売から1年が経ち、JD.comで400件以上の肯定的なレビューと99%の肯定的な評価を獲得しています。「Data Scientist Development Handbook」は最近発売された作品で、呉干沙氏やCSDNの創設者である江涛氏など多くの著名な専門家から賞賛されています。重慶理工大学経営科学工学修士課程の学生のキャリアメンター。北京郵電大学でコンピュータサイエンスを専攻し卒業。データベース、ビッグデータ、データマイニング、機械学習、人工知能などの関連分野の研究に従事し、3年間の海外勤務経験を持つ。彼はかつて Kingsoft Software Xishanju のビッグデータ アーキテクトであり、現在は Huya のシニア ビッグデータ エキスパートです。

<<:  機械学習に基づく自動化されたスピアフィッシング戦略

>>:  データ プラットフォームのコンピューティング能力: ディープラーニングとデータベースに適した GPU はどれですか?

ブログ    
ブログ    
ブログ    

推薦する

ヘルスケアにおける GenAI の利点

ビッグデータと AI の活用により、患者が生成する膨大な量の情報の処理と分析が大幅に容易になりました...

米国はチップ供給を遮断、ロシアはリソグラフィー装置の再構築を決定

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

このモデルは数十万ドルの費用がかかり、数え切れないほどのプロジェクトを導いたのに、使用されたネガティブサンプルがゼロだったことが判明したのですか?

今日の人気のディープラーニング モデルはブラック ボックスであるとよく言われます。つまり、入力を与え...

76ページのレビュー+300以上の参考文献で、Tiandaチームは大規模言語モデルアライメント技術を包括的に紹介しています。

最近、天津大学の熊徳一教授のチームが大規模言語モデルアライメント技術に関するレビュー論文(以下、アラ...

触覚を感知し、自己治癒するロボットが現実になりつつある

人間の皮膚は柔軟性があり、触り心地がよく、自己治癒力があるため、複製するのが難しいです。しかし、科学...

...

...

人工知能の未来は必ずしも明るいとは限らない

私はいつも映画に出てくるロボットが大好きで、悪いロボットも好きです。しかし不安なのは、私たちの周りの...

マルチラベル分類とは何ですか?ここにいくつかの実用的な古典的な方法があります

これはおそらく、マルチラベル分類のための最も実用的なヒントです。ご存知のとおり、バイナリ分類タスクは...

...

GenAIは将来のインシデント管理プロセスを形作っています

回答者の大多数 (59.4%) は明確なインシデント管理プロセスを導入しており、自動化のレベルはニー...

機械学習のパフォーマンスを最適化するために必要な 6 つの指標

実行している機械学習の種類に応じて、モデルのパフォーマンスを測定するために使用できるメトリックは多数...

9つのディープラーニングアルゴリズムの紹介

1. 2段階アルゴリズム2 段階アルゴリズムには、候補ボックスの選択とターゲットの分類/位置の修正...

生物学的視覚とコンピュータビジョンの違いを理解する方法

[51CTO.com クイック翻訳]人工知能技術の開発初期から、科学者たちは外の世界を「見る」ことが...