究極のAlp​​haGo、DeepMindの新アルゴリズムMuZero、著者の解釈

究極のAlp​​haGo、DeepMindの新アルゴリズムMuZero、著者の解釈

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。

MuZero 論文が Nature に掲載されたことを記念して、MuZeroアルゴリズムを詳しく紹介するこの記事を書きました。このアルゴリズムを直感的に理解していただければ幸いです。

MuZero は、アルゴリズムがゲームのルールや環境のダイナミクスに関する知識から解放され、環境のモデルを学習して独自に計画できるという点で、画期的な前進です。それでも、MuZero は AlphaZero のすべての機能を実現でき、多くの実用的な問題に応用できる可能性を示しています。

それはすべて単なる統計です

MuZero は機械学習アルゴリズムなので、まずはニューラルネットワークの使い方を理解するのが自然です。簡単に言えば、このアルゴリズムは AlphaGo と AlphaZero のポリシー ネットワークとバリュー ネットワークを使用します。

ポリシーと価値観の直感的な意味は次のとおりです。

  • ポリシーp(s,a)は、状態sにおけるすべての可能なアクションaの分布を表し、そこから最適なアクションを推定することができます。この戦略は、人間のプレイヤーと同様に、ゲーム内で実行できるアクションを素早く閲覧することと同じです。

  • 値 v(s) は現在の状態 s での勝利の確率を推定します。つまり、すべての将来の可能性の加重平均を取ることで、現在のプレーヤーの勝利の確率が決定されます。

これら 2 つのネットワークはどちらも非常に強力です。ポリシー ネットワークのみに依存すると、各ステップでのアクションを簡単に予測でき、最終的に良好な結果が得られます。一方、値ネットワークのみに依存すると、常に最も価値の高いアクションが選択されます。ただし、2 つの推定値を組み合わせると、より良い結果が得られます。

勝利への道

AlphaGo や AlphaZero と同様に、MuZero もモンテカルロ ツリー探索法 (MCTS) を使用してニューラル ネットワークの予測を集約し、現在の環境に適したアクションを選択します。

MCTS は、反復的なベストファーストツリー検索プロセスです。ベストファーストとは、検索ツリーの拡張が検索ツリーの値の推定に依存することを意味します。幅優先や深さ優先などの従来の方法と比較して、最良優先探索ではニューラル ネットワークなどのヒューリスティックな推定値を利用するため、非常に大きな探索空間でも効率的なソリューションを見つけることができます。

MCTS には、シミュレーション、拡張、バックプロパゲーションという 3 つの主要なフェーズがあります。これらのステージを繰り返し実行することで、MCTS はノードの可能なアクション シーケンスに基づいて検索ツリーを徐々に構築します。このツリーでは、各ノードは将来の状態を表し、ノード間のエッジは 1 つの状態から次の状態へのアクションを表します。

始める前に、まずは MuZero によるニューラル ネットワーク予測を含む検索ツリーと逆行性について紹介しましょう。

円は環境状態に対応するツリー ノードを表します。線は 1 つの状態から次の状態へのアクションを表します。ルート ノードは現在の環境状態、つまり囲碁盤の状態です。予測機能とダイナミクス機能については、以降の章で詳しく紹介します。

シミュレーション: 環境またはゲームの現在の位置であるツリーのルート (図の上部にある水色の円) から開始します。各ノード(状態s)では、スコアリング関数U(s,a)を使用してさまざまなアクションaを比較し、最適なアクションを選択します。 MuZeroで使用されるスコアリング関数は、前回の推定値p(s,a)とv(s')の値を組み合わせる。つまり、

ここで、c は、値推定の精度が高まるにつれて事前分布の影響を減らすスケーリング係数です。

アクションが選択されるたびに、UCBスケーリング係数cとその後のアクション選択で使用するために、関連する訪問回数n(s,a)が増加します。

シミュレーションは、まだ展開されていないリーフに到達するまでツリーを下って進みます。この時点で、ニューラル ネットワークが適用されてノードが評価され、評価結果 (優先度と価値の推定) がノードに保存されます。

展開: ノードが推定値に達すると、「展開済み」としてマークされます。これは、より深い検索のためにノードに子を追加できることを意味します。 MuZero では、拡張しきい値は 1 です。つまり、すべてのノードは最初の評価の直後に拡張されます。拡張しきい値を高くすると、より詳細な検索を実行する前に、より信頼性の高い統計を収集できます。

バックプロパゲーション: 最後に、ニューラル ネットワークの値の推定値が検索ツリーに逆伝播され、各ノードはそれより下のすべての値推定値の実行平均を保持します。これにより、UCB 式は時間の経過とともにより正確な決定を下せるようになり、MCTS が最適なアクションに収束することが保証されます。

中間報酬

注意深い読者は、上の図には r の予測も含まれていることに気付いたかもしれません。完全に完了した後にフィードバック(勝ち負けの結果)を提供する状況(ボードゲームなど)は、価値推定によってモデル化できます。しかし、他の場合には、頻繁なフィードバックがあり、つまり、ある状態から別の状態への各遷移に対して r の報酬が与えられます。

UCB 式に簡単な変更を加えるだけで、報酬をニューラル ネットワーク予測によって直接モデル化し、検索に使用することができます。

ここで、r(s,a)は状態sでアクションaを実行した後に観測される報酬を指し、割引係数γは将来の報酬に支払われる注意の度合いを指します。

総報酬は任意の大きさになる可能性があるため、報酬/価値の推定値を[0,1]の区間に正規化してから、それを以前の報酬と組み合わせます。

ここでq_minとq_maxはそれぞれ、探索木全体で観測されたr(s,a)+γ⋅v(s')の最小推定値と最大推定値です。

手続き型生成

上記の MCTS は、次のプロセスを繰り返し実行することで実現できます。

  • 現在の環境状態で検索します。

  • 検索統計π_tに基づいてアクションa_(t+1)を選択します。

  • このアクションに従って環境を更新し、新しい状態s_(t+1)と報酬u(t+1)を取得します。

  • 上記のプロセスを繰り返します。

アクションの選択は貪欲(最も訪問回数の多いアクションを選択する)または探索的(探索の度合いは特定の温度 t によって制御され、アクション a は訪問回数 n(s,a) に比例してサンプリングされる)になります。

t = 0 の場合、貪欲サンプリングに相当し、t = inf の場合、均一サンプリングに相当します。

電車

MCTS を実行してアクションを選択し、環境と対話してプロセスを生成する方法を学習したので、MuZero モデルをトレーニングできます。

まず、データセットから軌道と位置をサンプリングし、その軌道に対して MuZero モデルを実行します。

ご覧のとおり、MuZeroアルゴリズムは次の 3 つの部分で構成されています。

  • これは、観測値のセット(チェス盤)をニューラル ネットワークの隠れ状態 s にマッピングする関数 h を表します。

  • 動的関数gは、アクションa_(t + 1)に従って状態s_tを次の状態s_(t + 1)にマッピングし、その過程で報酬r_tを推定し、モデルが前方に拡張し続けることができるようにします。

  • 予測関数 f は、状態 s_t に基づいてポリシー p_t と値 v_t を推定し、UCB 式を適用して MCTS プロセスに入力します。

軌道に基づいて、ネットワーク入力の観測とアクションが選択されます。したがって、ポリシー、価値、報酬の予測目標は、保存された軌跡を生成することです。

次の図は、プロセス生成 (B) とトレーニング (C) 間の一貫性を示しています。

具体的には、MuZero 推定器のトレーニング損失は次のとおりです。

  • ポリシー: MCTS アクセス統計と予測関数のポリシー ロジット間のクロス エントロピー。

  • 値: N 報酬の割引合計 + 検索値/クロスエントロピー、またはネットワーク推定値と予測関数の値の間の平均二乗誤差。

  • 報酬: 軌道観測報酬とダイナミクス関数推定値間のクロスエントロピー。

再分析

MuZeroの核となる考え方を理解した後、大量のデータに対するモデルの検索効率を大幅に向上させる再解析技術を紹介します。

一般的なトレーニング プロセスでは、環境との相互作用を通じて多くの軌跡を生成し、トレーニング用にリプレイ バッファーに保存します。それで、このデータからさらに学ぶことはできるのでしょうか?

それは難しい。環境と対話する必要があるため、保存されたデータの状態、アクション、報酬を変更することはできません。マトリックスでは可能ですが、現実世界では不可能です。

幸いなことに、そうする必要はありません。既存の入力を新しい改良されたラベルとともに使用するだけで、学習を継続できます。 MuZero モデルと MCTS を考慮して、次の改善を行います。

軌道(観測、アクション、報酬)を変更せずに MCTS を再実行することで、新しい検索統計を生成し、ポリシーと値の予測に新しい目標を提供できます。

改善されたネットワークを使用して検索すると、環境と直接やり取りする際に、より優れた統計が得られることがわかっています。同様に、改善されたネットワークを使用して既存の軌跡を再検索すると、より優れた統計が得られ、同じ軌跡データを使用して改善を繰り返すことができます。

再分析は MuZero トレーニングに適用できます。一般的なトレーニング サイクルは次のとおりです。

非同期通信タスクを 2 セット設定します。

  • 学習者は最新の軌跡を受信し、最新の軌跡を再生バッファに保存し、これらの軌跡に基づいて上記のトレーニングを実行します。

  • 複数のアクターが学習者から最新のネットワーク チェックポイントを定期的に取得し、MCTS 内のネットワークを使用してアクションを選択し、環境と対話して軌跡を生成します。

再分析を実現するために、次の 2 つの新しいタスクが導入されます。

  • 再解析バッファは、参加者によって生成されたすべての軌跡を受信し、最新の軌跡を保持します。

  • 複数の再解析アクターが、再解析バッファから保存された軌跡をサンプリングし、学習者の最新のネットワーク チェックポイントを使用して MCTS を再実行し、生成された軌跡と更新された統計を学習者に送信します。

これにより、学習者は新しい軌跡と再分析された軌跡を区別できないため、新しい軌跡と再分析された軌跡の比率を簡単に変更できます。

MuZeroの命名の意味

MuZero は AlphaZero にちなんで名付けられました。Zero は人間のデータを模倣せずにトレーニングされたことを意味し、Mu は Alpha に代わるもので、計画に学習モデルが使用されていることを示します。

さらに調べてみると、「Mu」には他にも豊かな意味があります。

  • 夢は日本語で「mu」と発音され、「夢」を意味します。これは、MuZero が学習したモデルを通じて将来の状況を想像するのと同じです。

  • ギリシャ文字の μ (ミューと発音) は学習したモデルを表すこともできます。

  • 「無」は日本語で「む」と発音され、「何もない」という意味で、ゼロから学習するという概念を強調しています。人間のデータを模倣する必要がないだけでなく、ルールを提供する必要さえありません。

結論

この MuZero の紹介が参考になれば幸いです。

さらに詳しい情報を知りたい場合は、原著論文を読んでください。また、私の NeurIPS ポスターと MuZero に関する ICAPS 講演もご覧ください。

最後に、他の研究者による記事、ブログ、GitHub プロジェクトをいくつか紹介します。

<ahelp_12" 名前="help_12"></ahelp_12">

  • シンプルな Alpha(Go) Zero チュートリアル

  • MuZero 一般的な実装

  • Python を使用して独自の MuZero AI を構築する方法

  1. 簡単にするために、MuZero では予測に単一のネットワークのみが使用されます。

  2. 2006 年に Rémi Coulom によって出版された「Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search」によると、MCTS は囲碁問題を解決する可能性を提供します。具体的には、MCTS の「モンテカルロ」とは、囲碁のゲーム数をランダムにシミュレーションすることを指し、ランダムな動きごとに勝利の確率を計算して適切な位置を選択します。

  3. MuZero で使用されるスケーリング係数は、∑bn(s,b)√1+n(s,a)⋅(c1+log(∑bn(s,b)+c2+1c2)) です。ここで、n(s,a) は状態 s からアクション a への訪問回数を表し、定数 c1 と c2 はそれぞれ 1.25 と 19652 であり、値推定における事前確率の重要性を決定します。 c2 が n よりはるかに大きい場合、c2 の正確な値は重要ではなくなり、対数項はゼロになることに注意してください。この場合、式はc1⋅∑bn(s,b)√1+n(s,a)c1と簡略化されます。

  4. AlphaGo 以前の多くの囲碁プログラムで使用されていたランダムロールアウトと同様に、ランダム評価関数には目的があります。しかし、評価関数が決定論的である場合(標準的なニューラル ネットワークのように)、同じノードを複数回評価してもあまり意味がありません。

  5. ボードゲームでは、割引係数 γ は 1 で、TD ステップの数は無限大に近づくため、これはモンテカルロ報酬 (ゲームの勝者) の予測にのみ適用されます。

  6. MuZero を実行する場合、アクターを個別に再分析する必要はありません。アクターのセットは 1 つしかないため、各アクションの前に、環境と対話して新しい軌道を生成するか、保存されている軌道を再分析するかが決定されます。

<<:  人工知能の次の段階として、なぜインターネットの巨人に期待すべきなのでしょうか?

>>:  インテリジェントAIのサポートにより、Xiaomi YoupinはYESOUL Wild Beast高反発腹筋ホイールをクラウドファンディング

ブログ    

推薦する

ディープラーニングを理解するための鍵 – 啓蒙

ニューラル ネットワークは、これまでに発明された最も美しいプログラミング パラダイムの 1 つです。...

私の国はAIや5Gを含む多くの技術で米国を上回っており、米国が私たちを絞め殺すことはますます困難になっています。

世界大国として、中国と米国は多くの分野、特に科学技術分野で競争している。中国は科学技術分野で比較的目...

アプリケーション管理における AI/ML のユースケース

[[320826]]概要人工知能ベースの運用 (AIOps) は、人工知能と従来の AM/IM 運用...

[ディープラーニングシリーズ] PaddlePaddle と Tensorflow を使用したクラシック CNN ネットワーク Vgg の実装

先週は、古典的な CNN ネットワーク AlexNet が画像分類に与える影響についてお話ししました...

...

スマートテクノロジーは小売業界にどのような影響を与えるでしょうか?

過去数年間、小売業界はテクノロジーによって革命を起こしてきました。店舗の日々の運営方法から、消費者の...

このおもちゃからヒントを得たアクチュエータは、ソフトロボットにジャンプする能力を与える可能性がある。

[[327163]]海外メディアの報道によると、ポッパーという、押すと飛び上がるおもちゃで遊んだこ...

AIが世界を侵略する中、プログラマーは2040年になってもコードを書き続けることができるでしょうか?

アルファ囲碁が中国の囲碁の天才柯潔に3連勝した後、ロボット脅威論がますます広まりました。電話接客、デ...

5G時代、移動ロボットは知能でどのように勝利できるのでしょうか?

移動ロボットは、環境認識、動的意思決定と計画、行動制御と実行などの複数の機能を統合した総合システムで...

人工知能の世界における機械学習とディープラーニング

人工知能(AI)はAIと略されます。 AI は、機械に知能を持たせ、人間のように特定の問題を解決する...

AI のブラックボックスを開く: 「説明可能な」人工知能 (XAI) への認知ガイド!

今日、企業組織は意思決定に人工知能や機械学習モデルをますます頼りにしており、こうした意思決定は私たち...

次世代人工知能

[[390934]] AI と機械学習の最近の研究では、一般的な学習と、ますます大規模なトレーニング...

ソフトウェア開発における人工知能: 自動化と最適化

最先端技術である人工知能(AI)は、さまざまな分野で大きな可能性を見せています。ソフトウェア開発の分...