要点まとめ・第5章 ディープラーニングの要素技術
畳み込み層(シラバス 技術18)
学習目標
画像のように近くの値どうしが関係するデータを、フィルタをずらしながら処理する畳み込み層の仕組みを理解し、全結合層との違い、果たす役割、パラメータ数の考え方、向いているデータの性質を説明できるようにします。
要点
畳み込み操作
畳み込み層では、フィルタと呼ばれる小さな重みの格子を入力の上でずらしながら、重なった部分の値と重みを掛けて足し合わせます。これが畳み込み操作です。フィルタはカーネルとも呼ばれ、3×3などの大きさがよく使われます。計算結果を並べた出力が特徴マップです。フィルタごとに線や角など異なる特徴に反応し、フィルタの枚数だけ特徴マップ(チャンネル)ができます。
全結合層との違い
全結合層は画像を1列に並べ直すため、上下左右の位置関係が失われ、重みも膨大になります。畳み込み層には次の特徴があります。
- 局所的な結合:出力の1点は、フィルタが重なる狭い範囲だけから計算されます。
- 重みの共有:同じフィルタを画像全体で使い回すため、どの位置に現れた特徴も同じ重みで検出できます。
パラメータ数
重みの数は「フィルタの縦×横×入力チャンネル数×フィルタの枚数」で、これにフィルタの枚数分のバイアスを足します。3×3のフィルタでRGBの3チャンネルを受け取り、64枚のフィルタを使うなら、3×3×3×64+64=1,792です。入力画像の大きさには左右されません。32×32×3の画像を全結合層で64個のユニットにつなぐと、3,072×64+64=196,672になります。
ストライドとパディング
- ストライド:フィルタをずらす間隔です。2にすると、出力の縦横はおよそ半分になります。
- パディング:入力の周囲に0などの値を足し、出力が小さくなりすぎるのを防ぎます。画像の端の情報も扱えます。
出力の一辺は (入力 + 2 × パディング - フィルタ) ÷ ストライド + 1 です。入力32、フィルタ3、パディング1、ストライド1なら、出力も32です。
発展的な畳み込み
- Dilated Convolution:フィルタの要素の間に間隔を空けて適用し、パラメータを増やさず、解像度も落とさずに受容野(一度に見る範囲)を広げます。Atrous Convolutionは同じ手法の別名で、DeepLabやWaveNetで使われています。
- Depthwise Separable Convolution:チャンネルごとに空間方向だけを畳み込む処理と、1×1のフィルタでチャンネルを混ぜる処理に分けます。3×3で64チャンネルから128チャンネルを作る場合、重みは73,728個から576+8,192=8,768個に減ります。MobileNetなど軽量なモデルの土台です。
CNNと向いているデータ
畳み込み層を中心にプーリング層などを重ねたネットワークが、畳み込みニューラルネットワーク(CNN)です。浅い層は線や色の変化を、深い層は形や物体の部分をとらえます。向いているのは、近くの値どうしが強く関係し、同じパターンが別の位置にも現れるデータです。画像のほか、音声や時系列には1次元、動画や3次元の医用画像には3次元の畳み込みが使われます。
つまずきやすい点
- 畳み込み層のパラメータ数はフィルタの大きさ、入力チャンネル数、フィルタの枚数で決まり、入力画像の縦横の大きさには左右されない点
- ストライドを大きくすると特徴マップは小さくなり、パディングを加えると出力の縦横を入力と同じに保ちやすくなる、という効果の向きの違い
- Atrous ConvolutionとDilated Convolutionは同じ手法の別名で、パラメータを増やさずに一度に見る範囲を広げる工夫である点
- Depthwise Separable Convolutionは空間方向の畳み込みとチャンネル方向の1×1畳み込みに分けて、計算量とパラメータを減らす点
シラバスのキーワード
シラバス第1.4版に載っている語をすべて並べています。色のついた語は用語集で解説しています。「2問」などの数字は、その語を扱う練習問題の数です。
練習問題
- #0048 畳み込みの出力サイズ計算 難易度 応用・単一選択 未回答 付箋
- #0049 畳み込み層の軽量化 難易度 標準・単一選択 未回答 付箋
- #0050 畳み込み層の構成要素の役割 難易度 基礎・単一選択 未回答 付箋
- #0180 畳み込み層のパラメータ数 難易度 標準・単一選択 未回答 付箋
- #0181 CNNに向くデータの性質 難易度 標準・単一選択 未回答 付箋
- #0182 畳み込みの設定と出力の変化 難易度 基礎・単一選択 未回答 付箋
- #0183 受容野を広げる手法の比較 難易度 応用・単一選択 未回答 付箋
- #0372 エッジ検出フィルタの出力計算 難易度 基礎・単一選択 未回答 付箋
- #0373 CNNとSVMのカーネルの違い 難易度 標準・単一選択 未回答 付箋
- #0374 畳み込みと位置ずれへの性質 難易度 応用・単一選択 未回答 付箋
- #0375 1×1畳み込みの役割 難易度 応用・単一選択 未回答 付箋
復習の時期が来た問題と、まだ解いていない問題から順に出題します。
混同しやすい用語
この項目の関連用語
この項目を読み終えたら
読んだ項目にチェックをつけると、学習ガイドの目次に記録されます。
前後の項目
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目18 畳み込み層)
- Yann LeCun, Léon Bottou, Yoshua Bengio, Patrick Haffner, Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE 86(11), 2278–2324 (1998)
- Vincent Dumoulin, Francesco Visin, A guide to convolution arithmetic for deep learning (2016)
- Fisher Yu, Vladlen Koltun, Multi-Scale Context Aggregation by Dilated Convolutions (2015)
- Liang-Chieh Chen et al., DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs (2016)
- Aaron van den Oord et al., WaveNet: A Generative Model for Raw Audio (2016)
- François Chollet, Xception: Deep Learning with Depthwise Separable Convolutions (2016)
- Andrew G. Howard et al., MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (2017)