LeNet: 最初のCNN構造

1. LeNet の概要

この記事では,畳み込みニューラルネットワーク(CNN)の最初の提案および実装である LeNet [LeCun et al., 1989], [LeCun et al., 1998] について紹介する.

従来の3層パーセプトロンのニューラルネットワーク構造を,LeNetでは「畳み込み層 – サブサンプリング層」を2回繰り替えしたあと,全結合層を3層つなげる識別するシンプルな構造として提案した.これにより,初めてDeep Learning化(= 4層以上の構造化)を行った意味で歴史的に重要な研究である.

主提案である「畳み込み層+プーリング層」の繰り返し構造を導入した深いネットワークを用いた.これにより,その後のCNNが持つ局所普遍性パラメータ共有の利点を手に入れたことで,手書き数字画像の識別の多様なクラス内変化に対応してクラス識別できるようになった.逆に言うと,当時のCNNは,小さな入力グレー画像(32×32画素)の処理しかまだできず,AlexNet以降に実現された,大きな画像や大規模クラス数間の識別については取り組まれていなかったと言える.

業界ではLeNetと呼ぶ際には,[LeCun et al., 1995] [LeCun et al., 1998]で提案されたLeNet-5 (2節) のCNN構造のことをさす.

1.1 歴史的立ち位置:CNNの先駆的研究としてのLeNet

LeNetは,その後の2D CNNの基礎となった先駆的研究である.前進のネオコグニトロンでは強化学習により学習が行われていたのと異なり,LeNetでは,現代のCNN学習で一般的に用いられる誤差逆伝播(Back Propagation)を用いた勾配降下(Gradient Descent)ベースのCNNの学習を提案した.以降はこのLeNet方式の,誤差逆伝播方式によるCNNの学習が一般的となる.

命名方法の慣習

LeNet (LeCunのネットワーク)という名称は,ディープラーニング登場以降のCNNバックボーンでの「著者の名前や問題・目的などからディープニューラルネットワークの略称を名付ける慣習」の元祖である.例えば次に登場する AlexNet もこのルールに沿った.

しかし,その後は作者名ではなく,ネットワークの新規性(貢献)部分を用いてネットワーク名を名付るのが主流となっていった (ResNet や SE-Netなど).また,ディープCNNの各層を,「C1」や「P4」など「層の機能名(ConvolutionのCやPoolingのPなど) + 層の整理番号」で名付ける慣習も,その後に定番化することとなる.

1.2 記事の構成

2節以降は,以下の構成でLeNetについて紹介する:

  • 2節 LeNet の構造
  • 3節 LeNet の特徴
  • 4節 最近のCNNと異なる点
  • 5節 まとめ

2. LeNet の構造

Yan LeCunらの, LeNetの著者たちは,当時米国ベル研のメンバーであった.USPS (アメリカ合衆国郵便公社)向けの「郵便番号の手書き文字の識別問題」を解く際に,誤差逆伝播法を応用してLeNetの前身であるニューラルネットワークがまず提案された [LeCun et al., 1989] .その後,約10年の研究開発期間を経て,最終的な LeNet-5のCNN構造がまとめられた[LeCun et al., 1989] .

手書き画像10クラスを識別するCNNを学習するための,MNISTデータセットを用いてCNNを誤差伝播法で学習する.手書き文字識別器目的のLeNetの研究を通して,「簡潔なモデルなのに,スケーラビリティが出てくる」というCNNの実用性の高さを示した.

LeNet-5は,以下の図1のようなネットワーク構造を学習する:

Lenet-5 の構造
図1 LeNet-5 のCNN構造

LeNetの基本構造は,以下の順で入力画像から7層に順伝搬の接続を構成した [LeCun et al., 1998],ディープ畳み込みニューラルネットワークである :

  • 入力:32 x 32 の画像 (グレースケール.画素値を画像全体で正規化済み).
  • C1:畳み込み層. [5×5 カーネル] x 6チャンネル
  • 活性化関数 tanh
  • S2:サブサンプリング層. [2×2 重み付き平均値プーリング],ストライド幅2
  • 活性化関数:sigmoid
  • C3:畳み込み層. [5×5 カーネル] x 16チャンネル
  • 活性化関数:tanh
  • S4:サブサンプリング層. [2×2 重み付き平均値プーリング],ストライド幅2
  • 活性化関数:sigmoid
  • C5:畳み込み層. [5×5 カーネル] x 120チャンネル (※ 特徴マップ5×5とカーネル5×5から,1x1x120ユニットを出力)
  • 活性化関数:tanh
  • F6:全結合層.120ユニットx 84ユニット.
  • 活性化関数:tanh
  • 出力:10次元ベクトル (各次元の出力確率).

次の3節で,このLeNetの構造の特徴について整理する.

3. LeNet の特徴

LeNet の特徴は,主に以下の3つである.(全てCNN全般にも当てはまる特徴である)

3.1「畳み込み層 – 活性化関数 – プーリング層」の繰り返しの元祖

90年代に研究されていたLeNetであるが,既に現在の画像認識CNNの基本構造である「畳み込み – 活性化関数 – プーリング層」の繰り返しにより,LeNet前半は構成されている.

この提案により,3層パーセプトロン時代の「全結合層(線形)でラフに検出したのち,活性化関数(非線形)でより高い応答部分のみを検出して,他の中途半端な量の応答は抑えて消す」という挙動が,CNNの畳み込み演算でも引き継がれることとなった.これは,古典的な画像フィルタリングでの「畳み込み -> Non maximum suppression 」と,行っている処理・目的が似ている(もとい,そう類似して捉えると理解・記憶しやすい).

ちなみにのちのCNNでは,収束速度向上と正則化目的で,「バッチ正規化」も,繰り返しモジュールの構成要素として用いることが定番となる.(LeNetでは,入力画像のみ正規化しており,これにより学習の収束を早めている.)

3.2 重み共有 + 疎接続 による,計算複雑性の回避

LeNetの畳み込み層では,後のCNNでも定番となる重み共有(weight sharing)の仕組みが採用された.また,各畳み込み層は,各画像位置ではその局所近傍「だけ」をカーネルで畳み込み層間のユニットを接続するので,全結合と比べると疎な接続 (sparse connection) である.こうして,全結合層と比べてパラメータ数を大幅に節約しつつも,全結合を用いた場合の識別精度を保ったまま,計算複雑性を回避することが可能となった.

これは,古典的な「画像フィルタリング」と同じ畳み込み演算をNeural Network上に構築したことに相当する.つまり「各畳み込みカーネル + 活性化関数」が個別のパーツ検出器カーネルとして作用するようになった(よって,畳み込みニューラルネットワークと名付けられた).これによりCNNでは,畳み込みカーネルの係数しか学習しなくて済むので,パラメータ数も非常に少なくて済む.

3.3 局所平行移動への不変性

LeNetでは,学習可能なサブサンプリング層(Subsampling Layer)を導入した.これより,各特徴マップ上の解像度それぞれにおける2×2の範囲で,局所平行移動(translation)への不変性(invariance)をCNNが取得できるようになった.

具体的に見てみよう.LeNetだとS2層とS4層で解像度を半分にしている.よって,そのサブサンプリング層の前後で,局所平行移動の不変性を手に入れることができ,フィルタカーネル5×5のサイズの中での応答が2×2だけズレても同一出力になる利点が得られる.すなわち,全体,中くらいパーツ,小さいパーツがそれぞれ特徴マップ上の受容野2×2の範囲でずれても,同じものと認識できる能力をCNNが得ることができる.

4. LeNet が,近年のCNNと異なる点

LeNetは最初の提案であるので3節の通り近年のCNNの基礎をなしている一方で,近年のCNNの定番的な処理と異なる点も多い,以下に簡単にだけ整理しておきたい:

  • LeNetの畳み込み層では,ゼロパディング無しである.これにより,特徴マップの縦横が少しずつ縮んでいくが,このNo-padding方式は,近年のCNNだとほとんど採用されない.
  • 活性化関数には彼らが提案した$tanh$がシグモイド関数の代わりに使用されており,近年は定番であるReLUが使われていない.
  • 出力がまだSoftmaxではなく,RBF(radial Basis Function)である.

5. まとめ

以上,この記事では畳み込みニューラルネットワーク(CNN)の元祖である,手書き文字10クラス認識向けのLeNetについて紹介した.

CNNの基本的なフレームワークである「畳み込み-活性化関数-プーリング」という繰り返しモジュールと,誤差逆伝播法による学習は,既にLeNetの提案でほぼ確立されていたことを紹介した.

References

  • [LeCun et al., 1989] LeCun, Y., Boser, B., Denker, J. S., Henderson, D., Howard, R. E., Hubbard, W., & Jackel, L. D. (1989). Backpropagation applied to handwritten zip code recognition. Neural computation, 1(4), 541-551.
  • [LeCun et al., 1995] LeCun, Y., Jackel, L. D., Bottou, L., Cortes, C., Denker, J. S., Drucker, H., … & Vapnik, V. (1995). Learning algorithms for classification: A comparison on handwritten digit recognition. Neural networks: the statistical mechanics perspective, 261(276), 2.
  • [LeCun et al., 1998] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2323, 1998.

外部参照リンク

関連記事