G検定 CNNの計算問題まとめ #2

株式会社リュディアです。G検定問題集にもある CNN の具体的な計算問題についてまとめてみます。CNN の具体的な計算問題 # 1 の続きです。

最初にパディング (Padding) について説明します。以下の入力画像を考えます。画像サイズによっては、与えられたカーネルサイズとストライドの条件では全体を覆うことが不可能な場合があります。

画像4

具体的な例をみてみましょう。次の絵をみてください。入力画像は 11 x 7、カーネル(フィルター)サイズは 4 x 4 、ストライドを 2 とします。最初に 1 と書いている赤の場所で処理をします。次に 2 と書いている緑の場所で処理をします。このまま続けていくと 4 と 5 の部分で問題が発生します。4 で処理を停止すると右端の列が無視されることになります。5 で処理を停止すると 1 列分の情報が不足した状態になります。このような問題に対応するために行う処理がパディングです。

画像5

ではパディングの具体例をみてみます。以下は サイズ 1 の 0 パディングの例ですパディングした領域は 0 で埋めることが多いです。

画像4

同様にサイズ 2 の 0 パディングの例を示します。先ほどと同じですよね。入力画像の外側 2 つ分を 0 で埋める処理になります。

画像4

ではパディングを使った計算問題の具体例として特徴マップのサイズを求める問題を扱ってみます。

入力画像サイズ 640 x 480、カーネル(フィルター)サイズ 3 x 3、ストライド 2、サイズ 1 の 0 パディングとしたときに特徴マップのサイズを求めなさい、という問題です。

入力画像は 640 x 480 ですが、サイズ 1 の 0 パディングを行うので扱う画像サイズは 642 x 482 となります。

以下の図からわかるように細かい端数を別にすると特徴マップのサイズはストライドに大きく依存していることがわかります。例えばストライドを 1 とすると、おおよそ入力画像サイズに等しい特徴マップができます。しかしストライドを 2 とするとおおよそ入力画像サイズの縦横半分の特徴マップが得られます。最後の境界部分でカーネルサイズが効いてきますが誤差範囲です。ここで重要なのはパディングで追加した領域も含めて畳み込み演算行うことにあります。結論としては特徴マップのサイズはおおよそ 320 x 240 になります。

特徴マップサイズ

特徴マップのサイズを厳密に求める問題であればしっかりと計算する必要がありますが、G検定では選択問題なので概数がわかればどの選択肢か特定できます。

CNN に関する計算問題についての説明を2回にわたって行いました。いずれも一度わかってしまえば簡単で得点源になると思うので、CNN のどの部分で使っている演算か、ということを意識しながらしっかりと理解してください。

では、ごきげんよう。

この記事が気に入ったらサポートをしてみませんか?