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

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

最初の問題はあるサイズの画像、あるサイズのカーネル(フィルター)ストライドが与えられたときに特徴マップを求めるものです。特徴マップとは畳み込み演算により得られた新規の2次元データのことです。畳み込み演算の出力と考えてよいです。

今回は CNN の主な 2 つの演算である畳み込み演算とプーリング演算を見てみます。

具体的な問題に入ります。5 x 5 の入力画像と 3 x 3 のカーネル(フィルター)が与えられたとき特徴マップを求めなさい。ただしストライドは 2 とします、という問題が与えられたとします。

画像4

次の図をみてください。

画像5

入力画像の赤枠の領域はカーネルと同一サイズです。この領域とカーネルで同じ場所にある成分同士の掛け算行い、その結果の総和をとります。いわゆる積和演算と呼ばれるものです。計算式も図中にいれています。結果は 8.3 となります。これが特徴マップの左上の成分となります。

次の図をみてください。

画像6

次の演算対象部にカーネル(フィルター)を適用するために演算対象部を横にずらすのですが、ストライドが 2 と指定されているので横方向に 2 つずらした領域を入力画像の演算対象部とします。先の計算と同様、赤枠の領域とカーネル(フィルター)の計算を行い、特徴マップの右上の値は 5.2 となります。

次の図をみてください。

画像7

今度は縦方向にストライド 2 を考慮して演算対象部をずらします。先の計算と同様、赤枠の領域とカーネル(フィルター)の計算を行い、特徴マップの左下の値は 5 となります。

最後は以下の図に従い同様の演算を行い、特徴マップの右下の値は 8.1 となります。

画像8

これで基本的な畳み込み演算の計算はわかりますね。ストライドの扱いに注意して計算間違いをしなければ大丈夫です。

次はプーリング演算です。以下のような特徴マップが与えられたときのプーリング演算をまとめてみます。色付けされた単位が1つの単位です。

プーリング演算

2 x 2 の セットが4 つあります。それぞれのまとまりに対してまず Average プーリング演算を行ってみます。最初に左上の 4 つの要素 0, 2, 5, 1 の平均を Average プーリング演算結果の左上に記載します。次に右上の 4 つの要素 8, 3, 7, 6 の平均を Average プーリング演算結果の右上に記載します。残る 2 つについても同様の演算を行います。これが Average プーリング演算です。

同様に Max プーリング演算では平均値の代わりに最大値を記載します。左上の成分を例とすると 0, 2, 5, 1 の中の最大値 5 を用います。

今回は G検定対策として CNN に関する具体的な計算問題についてまとめました。これもG検定練習問題にあるようなタイプの問題は必ず出ると考えればよいと思います。わかってしまえば簡単ですし得点源になります。一度じっくり理解して手を動かして計算してみてください。

では、ごきげんよう。


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