5-2-2 畳み込み層の動かし方

前の節では、畳み込み層を虫めがねで絵を少しずつ見ていくしくみとして説明しました。
では、その虫めがねは、実際にはどのように動いているのでしょうか。

ここで大事になるのが、
・フィルタ(カーネル)
・ストライド
・パディング
という考え方です。

そして、この動かし方は畳み込み層のパラメータ数や計算量にも関わってきます。

フィルタ(カーネル)

まず、畳み込み層で使う、フィルタカーネル)をもう一度思い出してみましょう。
フィルタは、画像の一部分を見て
・線
・輪郭
・模様の変化
などを見つけるための小さな虫めがねのようなものです。

この虫めがねを画像の左上に置いて、まずはその場所を観察する。
次に少し右へずらして、また観察する。
さらに下へ移して、また見る。
こうして画像全体を順番に見ていくのが、畳み込み層の基本的な動きです。

ストライド

ここで、虫めがねをどれくらいずらしていくか、という問題が出てきます。

たとえば、
・1マスずつ丁寧に動かす
・2マスずつ少し飛ばして動かす
では、見え方が変わりますよね。

この「何マスずつ動かすか」を決めるのが、ストライド(stride)です。

ストライドが小さい場合を考えてみましょう。
もしストライドが 1 なら、虫めがねは1マスずつ、細かく画像を見ていきます。
これはとても丁寧です。見落としも少なくなります
でもそのぶん、見る場所が増えるので計算量は多くなります

ストライドが大きい場合を考えてみましょう。
もしストライドが 2 なら、虫めがねは2マスずつ飛びながら進みます。
すると計算は軽くなります。でも、細かな特徴を見落とす可能性もあります

つまりストライドとは、丁寧に見るか、少し粗く見るかを決める歩幅のようなものです。

パディング

次に考えたいのが、画像の端っこをどう扱うかです。
虫めがねを画像の真ん中に置くと、周囲の情報をきちんと見られます。
でも、端のほうではどうでしょう。

たとえば左上の角に虫めがねを置くと、虫めがねの一部が画像の外にはみ出してしまいます。
すると、
端の情報がうまく見られない
画像の周辺ほど不利になる
ということが起こります。

そこで使われるのが パディング(padding)です。
パディングとは、画像のまわりに余白を足すことです。
たとえば、絵のまわりに白い紙を少し足して、端にも虫めがねを置きやすくするイメージです。
こうすることで、
・画像の端の情報も扱いやすくなる
・畳み込み後のサイズを保ちやすくなる
という利点があります。

つまりパディングは、端っこの情報を見落とさないための余白なのです。

特徴マップ

虫めがねをどう動かすかによって、最後にできる特徴マップの大きさも変わります。

ストライドが大きい
→ 見る場所が少なくなる
→ 特徴マップは小さくなる

パディングを入れる
→ 端まで見られる
→ 特徴マップの大きさを保ちやすい

つまり、ストライドとパディングは、何をどれくらい細かく見るかを調整する設定でもあるのです。

全結合層との違い

ここで、全結合層との大きな違いが見えてきます。
全結合層では、前の層のすべてのニューロンと、次の層のすべてのニューロンがつながっていました。だから、つながりの数が多くなり、パラメータ数も膨大になりやすかったです。
でも畳み込み層では違います。
虫めがね――つまりフィルタは、小さな範囲を見るための同じルールを画像のあちこちで使い回します。

たとえば、
・左上を見るときも
・真ん中を見るときも
・右下を見るときも
同じフィルタを使う。

つまり、新しい場所を見るたびに新しい重みを用意するわけではありません。
このため、畳み込み層のパラメータ数は、フィルタの大きさと個数で決まるのであって、画像のサイズそのものに比例して爆発しにくいのです。

前の章のコーヒー喫茶店の世界観で言えば、
全結合層は「棚にあるすべての豆を、すべてのレシピ候補にそれぞれ別の比率で試す」ようなものでした。
だから、とても自由だけれど、配合の数が膨大になります。

それに対して畳み込み層は、「同じ小さな味見スプーンを持って、いろいろな豆の場所を順番に見ていく」ようなものです。
つまり、同じ道具を何度も使い回す。
これが、畳み込み層の効率のよさにつながっています。

まとめ

ここまでをまとめると、畳み込み層の動かし方は、

フィルタ(カーネル)→ 特徴を見つけるための虫めがね

ストライド→ 虫めがねを何マスずつずらすか

パディング→ 端も見られるように足す余白

という3つで考えることができます。

そして畳み込み層では、同じフィルタを画像全体で使い回すため、全結合層に比べてパラメータ数を抑えやすいのです。
つまり畳み込み層とは、画像の部分を効率よく、くり返し観察するための仕組みと言えるでしょう。

next ▶ 畳み込み層の広がり