ある部品メーカーが、製品画像から縦向きの輪郭を見つけるため、3行とも「1, 0, −1」と並ぶ3×3のフィルタを用意した。3×3の画素領域にこのフィルタを重ね、重なる位置どうしの値を掛けて足し合わせる畳み込み操作を行うとき、出力が最も大きくなる画素領域として、最も適切なものを1つ選べ。なお、値は各行とも左から右の順に示し、バイアスは0とする。
正解と解説を見る
解説
正解 B
この問題の論点:エッジ検出フィルタの出力計算
ポイント
畳み込み操作の出力は、重みが正の位置に大きな値、負の位置に小さな値が並ぶ領域ほど大きくなります。
選択肢ごとの解説
- A
不適切
各行は0×1+9×0+0×(−1)=0で、3行の合計も0です。中央の列はフィルタの重みが0なので、細い縦線があっても反応しません。このフィルタが捉えるのは左右の明るさの差です。
- B
適切 正解
各行は9×1+9×0+0×(−1)=9で、3行の合計は27です。左が明るく右が暗い縦の輪郭は、フィルタの重みの並び(左が正、右が負)と一致するため、出力が最も大きくなります。
- C
不適切
各行は0×1+9×0+9×(−1)=−9で、合計は−27です。輪郭の向きは同じでも明暗が逆なので、値は負になります。絶対値は大きくても、出力そのものは4つの中で最も小さい値です。
- D
不適切
上の2行は9×1+9×0+9×(−1)=0、下の行も0で、合計は0です。このフィルタは左右の差を計算するため、上下で明るさが変わる横向きの輪郭には反応しません。
補足
フィルタを入力の全位置にずらしながらこの計算を繰り返すと、輪郭のある位置で値が大きくなる特徴マップが得られます。CNNの「畳み込み」は、フィルタを反転させずに積和をとる計算(数学では相互相関と呼ぶもの)として実装されるのが一般的です。また、CNNではフィルタの値を人が決めるのではなく、学習によって求めます。
試験での狙われ方
小さな入力とフィルタの値を示して積和を計算させる形や、フィルタがどの模様に強く反応するかを問う形があります。
関連用語
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目18 畳み込み層)
- Goodfellow, Bengio, Courville, Deep Learning (2016) (9.1 The Convolution Operation)