ある食品メーカーが、検査ラインごとに縦横の画素数が異なる製品画像を、1つのCNNで分類したい。現在のモデルは、最後の畳み込み層が出力した特徴マップを1列に並べて全結合層に入力しているため、入力画像を決まった大きさにそろえる必要がある。この制約をなくすための変更として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 D
この問題の論点:GAPと入力画像の大きさ
ポイント
GAPは各チャネルを1つの値にまとめるため、入力画像の大きさが変わっても出力の長さはチャネル数で決まります。
選択肢ごとの解説
- A
不適切
プーリングを足すと特徴マップは小さくなりますが、その縦横は入力の大きさに応じて変わります。1列に並べたときの長さも入力ごとに違うため、全結合層の入力の数はそろいません。
- B
不適切
畳み込み層のパディングは、層ごとに決めた一定の幅で入力の周囲を埋める設定です。入力が大きければ出力も大きくなるため、幅を広げても入力ごとの大きさの違いは残り、制約はなくなりません。
- C
不適切
全結合層の重みの数は入力の数×ユニット数で、入力の数は学習時に固定されます。ユニット数は出力側の数なので、増やしても受け取れる入力の長さは変わりません。
- D
適切 正解
GAPはチャネルごとに特徴マップ全体の平均をとります。入力の縦横が変わっても、全結合層に渡すベクトルの長さはチャネル数のままです。全結合層の重みも大幅に減り、過学習も起きにくくなります。
試験での狙われ方
GAPを全結合層の前に使う利点として、パラメータ数の削減、過学習の抑制、入力サイズの柔軟さを問う形が見られます。