画像認識の王者『CNN』(畳み込みニューラルネット) は、G検定ディープラーニング分野の中核。仕組みを直感的に理解しましょう。
CNNって、なんで画像に強いの?
CNN(畳み込みニューラルネット) は、画像の局所的な特徴を効率的に捉えるように設計されているの。
畳み込み層、プーリング層、全結合層の組合せで構成されるわ。
畳み込み層(Convolution Layer) は、小さなフィルタ(カーネル) を画像上でスライドさせ、局所的な特徴 (エッジ、角など) を抽出するの。
窓を動かしながら特徴を見つけていくんですねぇ!
フィルタの動きにはストライド(スライド幅) とパディング(端の埋め) というハイパーパラメータがあるわ。
重要な概念が重み共有(Weight Sharing)。
同じフィルタを画像全体に適用するので、位置に依存しない特徴学習ができるの。
パラメータ数も大幅に削減されるわ。
位置が変わっても同じフィルタで見つけられるんだ!
プーリング層(Pooling Layer) は特徴マップを縮小する操作。
Max Poolingは領域内の最大値、Average Poolingは平均値を取るの。
プーリングの役割は『位置ずれへのロバスト性』と『計算量削減』。
少し位置がズレても同じ特徴を検出できるのよ。
画像が少しズレても大丈夫なんですねぇ、便利ですぅ♪
最後に全結合層(Fully Connected Layer) で特徴を統合してクラスを予測するのが典型構造ね。
CNNの元祖はヤン・ルカンのLeNet(1998)。
手書き数字認識用のネットワークで、現代のCNNの原型よ。
そんな昔からあったんだ、すごっ!
CNNは画像のほかにも、音声や時系列、自然言語にも応用されているのよ。
次の記事で主要モデルの進化を追っていきましょう。
G検定では『CNN=畳み込み層+プーリング層+全結合層』『重み共有』『ストライド・パディング』『LeNet (ルカン, 1998)』を押さえて!
確認クイズ
CNNで同じフィルタを画像全体に適用することでパラメータ数を削減する仕組みはどれか。
- ドロップアウト
- 重み共有
- バッチ正規化
- スキップ接続
こたえを見る
正解: 2. 重み共有
重み共有 (Weight Sharing)はCNNの本質的特徴で、同じフィルタを画像全体で使うことでパラメータ数を大幅に削減し、位置非依存の特徴学習を可能にします。