
12.3
畳み込みニューラルネットワーク
265
12.3
畳み込みニューラルネットワーク
画像や動画データは、数値データやテキストデータと比較して計算量が多い。例えば、
4K
の画像は
4,096
×
2,160
×
3
(
26,542,080
)次元となる。このような解像度の画像に対して直接処理しようとすると、
何千万ものニューロンが必要になり、訓練時間も長大になる。
生の画像に対して直接ニューラルネットワークを構築するのではなく、画像の性質を利用する方法を
考えてみよう。あるピクセルはその近傍のピクセルとは関係しているが、多くの場合は遠く離れたピク
セルとは関係していない。
ピクセル間の関係を損なうことなく画像のサイズをフィルタによって削減する過程を畳み込み
(
convolution
)と呼ぶ。畳み込みニューラルネットワークという名前はこの操作から来ている
*
1
。
元の画像に対して特定のサイズのフィルタを適用する。フィルタのサイズをカーネルサイズと呼ぶ。
フィルタを少しずつ動かして繰り返し適用する。この動かす際のステップ長をストライドと呼ぶ。スト
ライドが
1
より大きいと、この操作でピクセル数が削減された出力が得られる。畳み込みを行ったあと、
削減された出力の小さい領域の最大値をとってその領域の値とすることで表現のサイズをさらに削減
する。これを max プーリング(
max pooling
)と 呼 ぶ 。
この畳み込みと
max
プーリングを何度か繰り返すことで、画像の複雑さを低減する。その上で画像
を
1
次元に並べ直して、それに対 ...