G検定(ジェネラリスト検定)
のいじーねっとわーく
ノイジーネットワーク
Noisy Network
ネットワークの重みに学習可能なノイズを加え、そのノイズが方策に生む確率的なゆらぎを効率的な探索に役立てる深層強化学習の手法です。
詳しい説明
ノイジーネットワークとは
ノイジーネットワーク(NoisyNet)は、Fortunatoらが提案した深層強化学習のエージェントです。ネットワークの重みにパラメータ化されたノイズを加え、そのノイズによってエージェントの方策に生じる確率的なゆらぎを、効率的な探索に役立てます。ノイズのパラメータは固定値ではなく、ネットワークの残りの重みと一緒に勾配降下で学習されます。論文は、実装が簡単で、計算の負担もほとんど増えないと述べています。
論文では、A3C、DQN、デュエリングの各エージェントで使われていた従来の探索手法(A3Cではエントロピー報酬、DQNとデュエリングではepsilon-greedy)をノイジーネットワークに置き換えました。その結果、幅広いAtariゲームで大きくスコアが向上し、人間より低い性能から人間を超える性能へ進んだ例もあったと報告されています。
従来の探索手法の限界
強化学習の探索手法の多くは、epsilon-greedyやエントロピー正則化のように、エージェントの方策をランダムに揺らして新しい行動を引き出します。ただし、これらは毎ステップ、互いに相関の無いノイズを方策に加える局所的な揺らぎ(dithering)です。epsilon-greedyの場合は、ノイズが状態にも依存しません。論文は、このような局所的な揺らぎでは、多くの環境で効率的な探索に必要な大規模な行動パターンが生まれにくいと指摘しています。
重みを揺らすという発想
ノイジーネットワークでは、学習された重みの揺らぎ(摂動)が探索を進めます。核心となる考えは、重みベクトルを1回変えるだけで、複数の時間ステップにわたって一貫した、状態に依存する方策の変化を引き起こせるという点です。その変化は非常に複雑なものにもなりえます。摂動はノイズの分布からサンプリングされます。摂動の分散は、注入するノイズの強さ(エネルギー)とみなせるパラメータで、強化学習の損失関数から得た勾配を使って、エージェントの他のパラメータと一緒に学習されます。
ノイジー線形層
入力がp個、出力がq個の通常の線形層は、入力xに重み行列wを掛け、バイアスbを足してyを出します(y = wx + b)。ノイジー線形層では、重みを、学習可能な平均と、学習可能な標準偏差とノイズ変数の積との和に置き換えます。バイアスも同じように、学習可能な平均と、学習可能な標準偏差とノイズ変数の積との和にします。学習するのは平均と標準偏差で、ノイズ変数は毎回ランダムに引かれる確率変数です。
ノイズの与え方には2つの選択肢があります。独立ガウスノイズは、重み1つごとに独立したガウスノイズを使います。因子分解ガウスノイズは、出力ごとの独立なノイズと入力ごとの独立なノイズを組み合わせて使います。因子分解ノイズを使う主な理由は、乱数生成の計算時間を減らすことです。論文では、この計算負担が特に重くなる単一スレッドのDQNとデュエリングには因子分解ノイズを使い、計算時間があまり問題にならない分散処理のA3Cには独立ノイズを使いました。
試験で問われること
G検定
- ノイジーネットワークは、ネットワークのどこにノイズを加え、そのノイズを何に役立てる手法か説明してください。
- epsilon-greedyやエントロピー正則化のような局所的な揺らぎ(dithering)による探索には、どのような限界がありますか。
- ノイジーネットワークで、ノイズの強さを決めるパラメータはどのように決まりますか。固定値か、学習されるかを答えてください。
- 独立ガウスノイズと因子分解ガウスノイズの違いと、因子分解ノイズを使う主な理由を説明してください。
最終更新日: 2026/09/23