---
title: 【ゼロから作るDeep Learning④】Rainbow
tags: 
author: [京都大学人工知能研究会KaiRA](https://convert.docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4JM9D61VEW.jpg?width=480
description: 【ゼロから作るDeep Learning④】Rainbow by 京都大学人工知能研究会KaiRA
published: January 08, 26
canonical: https://convert.docswell.com/s/kyoto-kaira/KRE1NG-2026-01-08-212004
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4JM9D61VEW.jpg)

2025年度後期輪読会#12（2026/1/8）
Rainbow
京都大学工学部理工化学科B2
岡本和優
0


# Page. 2

![Page Image](https://bcdn.docswell.com/page/PJRG4PLWE9.jpg)

アジェンダ
◼ DQNの拡張
◼ Rainbow
1


# Page. 3

![Page Image](https://bcdn.docswell.com/page/PEXX23WVEX.jpg)

アジェンダ
◼ DQNの拡張
◼ Rainbow
2


# Page. 4

![Page Image](https://bcdn.docswell.com/page/3EKWMYV5ED.jpg)

DQNの拡張と改善
DQNの拡張ぜんぶ乗せバージョンがRainbow
DQNが提案されて以降、様々な改善手法が提案されてきた
• Double DQN
• 優先度付き経験再生
• Dueling DQN
• カテゴリカルDQN
• マルチステップ学習
• Noisy Network
しかしこれらが組み合わされたときにどうなるかは謎
ぜんぶ使っちゃえばいいじゃん：Rainbow
3


# Page. 5

![Page Image](https://bcdn.docswell.com/page/L731Y9M1J5.jpg)

Double DQN（スライド再利用）
メインのネットワークとターゲットネットワークをうまく使い分け
メインのネットワークとターゲットネットワークで表現されるQ関数をそれぞれ𝑄𝜃 , 𝑄𝜃′
としたとき、通常DQNのQ関数の更新で用いるターゲットは
𝑅𝑡 + 𝛾 max 𝑄𝜃′ (𝑆𝑡+1 , 𝑎)
𝑎
だが、Doble DQNでは
𝑅𝑡 + 𝛾 max 𝑄𝜃′ (𝑆𝑡 , argmaxa 𝑄𝜃 (𝑆𝑡+1 , 𝑎))
𝑎
を用いて、行動の選択と評価を分離させている。
これによってQ関数の過大評価を解消することができる
※過大評価とは？
推定中のQ関数を使う場合は誤差が含まれるので、 max 𝑄 (𝑠, 𝑎) の期待値は真の値より大
𝑎
きくなる。行動の選択と評価を分けることで、誤差が含まれていても、過大評価される確
率は小さくなる（行動でも過大評価されて、評価でも過大評価されることは少ないから）
4


# Page. 6

![Page Image](https://bcdn.docswell.com/page/87DX5G6KEG.jpg)

優先度付き経験再生（スライド再利用）
学ぶべきことが大きい経験データを優先的に選択する
通常のDQNではランダムに経験データを用いて使用するが、優先度に応じて選ぶこともできる。
自然に考えると、ターゲットと更新するQ関数の差分の絶対値を用いて、
𝛿𝑡 = 𝑅𝑡 + 𝛾 max 𝑄𝜃′ (𝑆𝑡+1 , 𝑎) − 𝑄𝜃 (𝑆𝑡 , 𝐴𝑡 )
𝑎
を基準として優先度を決めることができる。ターゲットとの差分が大きいほど、学ぶべきことが
多いデータだと言えるからだ。
バッファに保存する際に𝛿𝑡 を計算しておいて、取り出す際には
𝛿𝑖
𝑝𝑖 = 𝑁
σ𝑘=0 𝛿𝑘
にしたがって経験データを選び出せばよい
5


# Page. 7

![Page Image](https://bcdn.docswell.com/page/VJPPG3Y3J8.jpg)

Dueling DQN（スライド再利用）
アドバンテージ関数を導入することで、すべての行動を試さなくてもよくなった
アドバンテージ関数 𝐴(𝑠, 𝑎)をQ関数と価値関数の差分として定義し、
ネットワークにA (𝑠, 𝑎)と価値関数𝑉(𝑠)を学習させ、そこから𝑄(𝑠, 𝑎)を求めるようにする。
これによりどんな行動をしても結果が変わらない状況に対して、他の行動を試さなくても𝑄(𝑠, 𝑎)
の近似性能を上げることができる
6


# Page. 8

![Page Image](https://bcdn.docswell.com/page/2EV264GNEQ.jpg)

カテゴリカルDQN
収益をカテゴリカル分布としてモデル化
収益の期待値であるQ関数ではなく、収益の分布𝑍π (𝑠, 𝑎)を学習対象とする
分布版のベルマン方程式はΤ𝑍 𝑠, 𝑎 = 𝑅 𝑠, 𝑎 + γ𝑍 s′, a′
（分布を割引率で縮小→報酬の値だけ平行移動、で更新する）
その後、割引率で縮小した分、カテゴリカル分布のピンが変わるので元に戻す
学習の際の損失関数はKLダイバージェンス or クロスエントロピー
7


# Page. 9

![Page Image](https://bcdn.docswell.com/page/57GRN185EL.jpg)

マルチステップ学習
ターゲットに使う報酬をn-stepまで拡張する
通常のターゲットで用いられるのは即時報酬R t
これをnステップの累積報酬に切り替える
n−1
Q(st , at ) = ෍ 𝛾 k R t+k+1 + 𝛾 n Q(St+n , a’)
k=0
nステップ先までの報酬を使う分学習が安定
長期的な報酬を考慮させることが可能になった
8


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4EQVQD9LJP.jpg)

Noisy Networks
ε-greedy法の変わりに、出力自体に揺らぎを持たせる
ε-greedy法だとεの値によって最終的な結果に大きな差が出てしまう
線形層の重みとバイアスを、正規分布の平均と分散で表し、ノイズを加える
y = (𝜇w + 𝜎 w ⊙ 𝜖 w )x + 𝜇b + 𝜎 b ⊙ 𝜖 b
μとσが学習するパラメータ。εは標準席分布に従った乱数
9


# Page. 11

![Page Image](https://bcdn.docswell.com/page/KJ4MNZX5E1.jpg)

アジェンダ
◼ DQNの拡張
◼ Rainbow
10


# Page. 12

![Page Image](https://bcdn.docswell.com/page/LE185RN27G.jpg)

Rainbowの手法
今まで紹介したDQNの拡張を全部組み合わせる
• 損失関数はマルチステップ学習・Double DQNを組み込んだターゲット分布とのKL情報量
• カテゴリカルDQNの報酬をnステップの割引報酬和に変更、
行動選択はオンラインネットワークで行う
• 優先度付き経験再生はターゲットと予測のKL情報量の大きさに基づいて優先度付け
• Noisy Networksを導入するので、ε-greedyは切っておく
11


# Page. 13

![Page Image](https://bcdn.docswell.com/page/GEWZ5142E2.jpg)

Rainbowの結果
多くのゲームで人間を上回る結果を達成
Atariのゲーム57種類で実験を行った
それぞれ2億フレーム（5000万ステップ）で訓練
優先度付き経験再生、マルチステップ学習を削除したときの影響が大きい
12


# Page. 14

![Page Image](https://bcdn.docswell.com/page/47Z1NP24J3.jpg)

まとめ
DQNの改善を全部詰め込んだバージョンがRainbow
RainbowはDQNの主要な改善手法を統合したもの
• Double DQN
• 優先度付き経験再生
• Dueling DQN
• カテゴリカルDQN
• マルチステップ学習
• Noisy Network
Atariのゲームで人間を上回る成果を達成。通常のDQNよりも高性能
優先度付き経験再生とマルチステップ学習の有無が大きく効いている
13


