第 2 章 Deep Learning
3.3 可視化実験
3.3.1 実験概要
CNNがどのような特徴量を自動生成しているのかを確認するために,各層の重みフィ ルタと特徴マップを可視化する.このとき,学習誤差と識別誤差に対すると重みフィルタ と特徴マップの関連性を確認するために,学習誤差と誤識別率の推移を確認し,重みフィ ルタと特徴マップが学習によってどのように変化するのかを実験により調査する.
■ 実験結果
CNNで生成された重みフィルタを可視化した結果を図3.2に示す.図3.2では,上半分 が学習前の重みフィルタを示しており,下半分が学習後の重みフィルタを示している.図 3.2より,学習によって重みフィルタの濃淡が変化していることがわかる.
3.3. 可視化実験
1 層目
2層目
1 層目
2層目
初期状態
100epoch
図 3.2: 重みフィルタの可視化結果
図3.3に,1層目と2層目の畳み込みとプーリングより出力された特徴マップを示す.図
3.3より,epochが増えるにつれて入力画像のエッジが強調されていることがわかる.特
に,2層目の特徴マップではepochが増えるにつれて局所的なエッジが大きく強調されて いることが確認できる.
Conv1
Conv2 Pool1
Pool2
Conv1
Conv2 Pool1
Pool2 Conv1
Conv2 Pool1
Pool2
Conv1
Conv2 Pool1
Pool2
Conv1
Conv2 Pool1
Pool2 Conv1
Conv2 Pool1
Pool2
Conv1
Conv2 Pool1
Pool2 Conv1
Conv2 Pool1
Pool2
初期状態
100epoch
図 3.3: 特徴マップの可視化結果
図3.4(a)に学習誤差の推移,図3.4(b)に識別誤差の推移を示す.このとき,比較対象と
して多層パーセプトロンの学習誤差と識別誤差も示す.図3.4(a)と図3.4(b)より,学習誤 差と識別誤差ともに多層パーセプトロンよりも誤差の収束が早いことがわかる.
3.3. 可視化実験
(a) 学習誤差の推移
(a) 誤識別率の推移
1e-005 0.0001 0.001 0.01 0.1 1 10 100 1000
50 100 150 200 250 300 350 400 450 500
Cross entropy
epoch
Convolutional Neural Network Multi Layer Perceptron
1 10 100
50 100 150 200 250 300 350 400 450 500
Miss rate[%]
epoch
Convolutional Neural Network Multi Layer Perceptron
26
■ 考察
重みフィルタと畳み込み層の特徴マップの各epochに対する変化を図3.5に示す.図3.5 では,上半分が1層目の畳み込み層の特徴マップ,下半分が2層目の畳み込み層の特徴 マップを示している.図3.5より,重みフィルタの濃淡の差が大きく出るほど特徴マップ のエッジが強調されていることがわかる.
初期状態 1epoch 2epoch 3epoch 4epoch 5epoch 100epoch
初期状態 1epoch 2epoch 3epoch 4epoch 5epoch 100epoch
1 層目
2 層目
図 3.5: 学習による重みフィルタと特徴マップの変化
図3.4(a)の学習誤差と誤識別率の推移と可視化をした各epochの重みフィルタの変化
をまとめたものを図3.6に示す.図3.6より,学習誤差が大きい場合は重みフィルタの各 係数の更新量が大きいことが確認できる.また,重みフィルタの濃淡の差が大きく変化す ることで誤識別率も大きく減少していることが確認できる.これらの結果より,学習誤差 と誤識別率と重みフィルタの変化は密接な関係であることが確認できた.