ある農業ベンチャーが、葉の画像から病気を判定するCNNを作っている。その中の1つの畳み込み層は、縦56×横56×32チャネルの特徴マップを受け取り、3×3のフィルタ(カーネル)を64枚使って、パディング1、ストライド1で畳み込み操作を行う。各フィルタはバイアスを1つ持つ。この層で学習するパラメータ(重みとバイアス)の総数として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 C
この問題の論点:畳み込み層のパラメータ数
ポイント
畳み込み層のパラメータ数はフィルタの縦×横×入力チャネル数×枚数に、枚数分のバイアスを足した数で決まり、入力の縦横の大きさには左右されません。
選択肢ごとの解説
- A
不適切
入力チャネル数を掛け忘れ、3×3×64+64と計算した値です。各フィルタは入力の32チャネルすべてにまたがる3×3×32の形をしているため、1枚あたりの重みは288個です。
- B
不適切
重みの数3×3×32×64=18,432だけを数え、バイアスを足し忘れた値です。各フィルタがバイアスを1つ持つので、フィルタの枚数と同じ64個を加える必要があります。
- C
適切 正解
1枚のフィルタの重みは3×3×32=288個で、64枚分で288×64=18,432個です。これにバイアス64個を加えると18,496個になります。パディングとストライドはパラメータ数に影響しません。
- D
不適切
出力される特徴マップの値の数(56×56×64)です。同じフィルタを全位置で使い回す重み共有により、パラメータ数は出力の位置の数や入力の縦横の大きさに左右されません。
補足
同じ入力(56×56×32=100,352個の値)を全結合層で64個のユニットにつなぐと、重みだけで100,352×64=6,422,528個になります。畳み込み層は小さなフィルタを全位置で使い回すため、56×56×64もの値を出力しても、パラメータは2万個に届きません。
試験での狙われ方
フィルタサイズ、入力チャネル数、フィルタの枚数を示してパラメータ数を計算させる形や、全結合層とパラメータ数を比べさせる形で問われます。