AlphaGo Zeroのマージされたニューラルネットワークは、2つの別々のニューラルネットワークよりも効率的であるのはなぜですか?


10

AlphaGo Zeroには、以前のバージョンと比較していくつかの改善点があります。Alpha Go Zeroのアーキテクチャの詳細は、このチートシートで確認できます。

これらの改善点の1つは、移動確率と状態値を同時に計算する単一のニューラルネットワークを使用することですが、古いバージョンでは2つの別個のニューラルネットワークを使用していました。論文によると、マージされたニューラルネットワークはより効率的であることが示されています。

2つではなく1つのニューラルネットワークを使用します。AlphaGoの以前のバージョンでは、「ポリシーネットワーク」を使用して次にプレイする動きを選択し、「バリューネットワーク」を使用して各ポジションからゲームの勝者を予測していました。これらはAlphaGo Zeroで組み合わされており、トレーニングと評価をより効率的に行うことができます。

ソフトウェア設計の観点からすると、これは懸念の原則の分離に違反するため、これは私には直観に反しているようです。だからこそ、このマージが有益であることが証明されたのではないかと思います。

この手法-単一のニューラルネットワークでさまざまなタスクをマージして効率を向上させること-は、他のニューラルネットワーク全般に適用できますか、それとも、特定の条件が機能する必要がありますか?

回答:


6

なぜこのマージが有益であると判明したのですか?

共有バリュー/ポリシーネットワークは、懸念の分離ではなく、バリューコンポーネントとポリシーコンポーネントが上にある共有コンポーネント(残余ネットワークレイヤー)で構成されると考えると、より理にかなっています。

基本的な前提は、ネットワークの共有部分(ResNet)が、浅いバリューネットワークとポリシーネットワークの両方に適した入力表現である入力(移動に至るまでのゲームの状態)の高レベルの一般化を提供することです。

その場合、単一の共有ResNetをトレーニングし、2つのResNetを値とポリシー用にトレーニングするよりもはるかに単純な2つのネットワークに使用することで、計算負荷を大幅に削減できます。この場合、2つを一緒にトレーニングすると、正則化も改善され、より堅牢で一般的な表現が作成されます。

具体的には、Silver によるAlpha Go Zeroペーパー人間の知識なしで囲碁ゲームをマスターするは、次のように述べています。

ポリシーと値を1つのネットワークに組み合わせると、移動予測の精度はわずかに低下しましたが、値エラーが減少し、AlphaGoでの再生パフォーマンスが約600 Elo向上しました。これは部分的には計算効率の向上によるものですが、より重要なこととして、二重目的はネットワークを複数のユースケースをサポートする共通の表現に正規化します。

この手法は一般的に適用できますか、それとも特殊な場合にのみ適用できますか?

ソフトウェアライブラリの一般的なコンポーネントと同様に、解決しようとしている問題が共有表現から恩恵を受ける場合にのみ意味があります。

同様のタスクの分類器をトレーニングする場合、またはより大きな類似したデータセットで分類器をトレーニング済みの場合に、少ないデータで新しいタスクをトレーニングする場合に使用できます。

Goの外では、画像認識でよく使用されます。ImageNet ILSVRCコンペティションのネットワークなど、事前にトレーニングされた深いネットワークは、一般的に開始点として使用されます。それらは、100万を超える画像で(数週間!)トレーニングされた分類子です。

次に、お気に入りの自転車のブランドを認識するネットワークを作成するとします。まず、ImageNetでトレーニングされた一般的な画像認識パイプラインから始め、実際の分類を行う最後のレイヤー(「それはボーダーコリーです」)を選び、追加します。気になる自転車だけを取り出す小さな新しい分類子。

事前トレーニング済みの分類器は、画像認識の優れた構成要素である高レベルの画像概念をすでに提供しているため(200のカテゴリを分類)、これにより、トレーニングが大幅に削減され、非常に堅牢な分類器が作成されます。

もちろん、問題が有用な共有表現を持たない場合が多いため、ネットワークを組み合わせてもメリットはありません。それにもかかわらず、それは適切な状況で有用なツールです。

見上げ転送ラーニングマルチタスク学習をこれについての詳細を学ぶために。


ソフトウェアエンジニアリングの原則を使用してこのニューラルネットワークのアーキテクチャを分析したい場合は、値とポリシーのヘッドが置かれている残余ブロックネットワークがDRY原則を尊重していることも指摘しておきます。同じコンポーネント(残差ブロックネットワーク)に依存してデータを前処理してから、このデータをパイプライン内の他のコンポーネント(値およびポリシーヘッド)に渡すことにより、それぞれが元の入力の同じ表現を処理することが保証されます。2つの別個のネットワークでこの処理を複製すると、時間の経過による発散がほぼ保証されます。
sadakatsu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.