AI画像認識で知っておきたい有名なCNNアーキテクチャー

AI画像認識の精度向上にブレークスルーを起こしたCNNアーキテクチャー

機械学習/ディープラーニングの分野において画像認識に関する技術は長年にわたって研究開発が続けられてきました。特に2010年代以降に目覚ましい発展を遂げており、畳み込みニューラルネットワーク (Convolutional Neural Network; CNN) と呼ばれるアーキテクチャーが提案され認識精度が驚くべき速さで向上しました。CNNのアーキテクチャーは現在実用化されている画像認識システムにも広く応用されています。

画像認識の分野において性能を表す指標として、例えばILSVRCのような画像分類精度を競うコンペティションにおけるエラー率があります。CNNが出てくる以前はトップ5のチームでもエラー率が26%を超えており、実用レベルの性能には至っておりませんでした。しかし2012年のILSVRCでCNNをベースにしたAlexNetが大幅な精度向上を達成したことをきっかけにCNNブームが到来し、年々記録が更新され続け、数年後にエラー率は3%未満にまで到達しました。このコンペティションで課題として与えられている画像データセットの分類は非常に難易度が高く、人間の目で見ても4%程度のエラー率になると言われており、3%未満というのは驚くべき記録だということが分かります。CNNをベースにして様々な研究機関や企業から画期的なアーキテクチャーが次々と提案されてきましたが、本ページではCNNをベースにしたモデルの中でも特に際立ってエラー率改善を達成した有名なアーキテクチャーを紹介します。

LeNet-5

LeNetは初代のCNNアーキテクチャーで、近年AI画像認識の分野で広く応用されているCNNの基本構造となっています。

元々は郵便番号に使用される手書き数字の識別問題を解くために考案され研究が始まったアーキテクチャーです。MNISTデータセットを用いて学習されており、重みとハイパーパラメーターを変化させていき損失関数が最小になるようなパラメーターを見つけます。LeNetの入力サイズは32×32ピクセルで元々文字が書かれている画像と比べると大きめになっています。これは画像の外側をパディングしているためで、元々の画像サイズのままコンボリューション層を通すと1層目から画像サイズが小さくなりすぎてしまい、以降の層で数字の特徴を捉えにくくなることを避けることを目的としています。この処理によって画像から微細な特徴をとらえることができるようになっています。

 

LeNetは畳み込み層、サブサンプリング層、全結合層から構成されています。 

・畳み込み層(Convolutions) ⇒ 畳み込み演算を行い画像から特徴を抽出します。

・サブサンプリング層(Subsampling) ⇒ 畳み込み層からの入力に対して活性化関数を適用し、得られた出力に対してプーリング処理をおこないます。

・全結合層(Full connection) ⇒ ある層の各ニューロンと別の層の各ニューロンとを接続します。

LeNetアーキテクチャー

AlexNet

LeNetアーキテクチャーの研究の中で、ネットワークの深さを増すと精度が向上することがわかっています。AlexNetはLeNetで得られた知見を活かしたアーキテクチャーで、5つの畳み込み層と3つの全結合層で構成されています。AlexNet2012年に行われたILSVRCという画像認識のコンペティションで圧倒的な1位となるスコアを叩き出し、第3AIブームの火付け役となりました。ILSVRCは画像認識におけるエラー率の低さを競うコンペティションですが、AlexNetは15.3%という結果で、非CNNの26.2%と比較して明らかに低いエラー率を達成しています。それ以前には使われていなかったディープラーニングの技術を活用したモデルで、これをきっかけにディープラーニングが一気に注目されることとなりました。

AlexNetアーキテクチャ

AlexNetは活性化関数としてReLU(Rectified Linear Unit)を用いています。ReLUはネットワークに非線形性を導入するために従来のシグモイド関数やtanh関数の代わりに使用されます。ReLUは従来の活性化関数と比較すると、正の値ほどよく反応し、負の値には反応しなくなっているため、常にすべてのニューロンが活性化されるわけではありません。また、ReLUに必要な計算時間はシグモイドやtanhよりも短くなります。また、ReLUのもう一つの利点は下図のように不活性なニューロンをドロップできることで、開発者は不活性なニューロンをドロップアウトさせる比率を設定可能です。ドロップアウトはAlexNetのオーバーフィッティングを回避するのに役立ちます。

ドロップアウト (Dropout)

VGG-Net

VGG-NetではAlexNetよりもさらに層を増やしていくことで、ネットワークの深さと精度の関係性についてさらなる研究がなされたモデルです。VGG-Netの一番の特徴として畳み込み層で3×3の小さなフィルタを直列に接続していることがあります。構成は非常にシンプルなネットワークでありパラメーター数を削減しながらも、層を深くすることによってAlexNetに勝る精度を実現できています。特にVGG19VGG16と呼ばれる19層、16層のVGG-Netが有名で、このネットワーク構成における最適な層数と考えられていました。

VGG-Netアーキテクチャー

GoogLeNet Inception

GoogleNet Inceptionでは1×1畳み込みとともに複数のサイズのフィルタが同じレベルで適用されます。画像認識の実用例を考えると入力画像は毎回同じレイアウトになるわけではないため、オブジェクトを検出する時に必ずしも同じ大きさのフィルターを使えるとは限りません。例えば下の犬の画像に対して物体検出と特徴抽出を行う場合、左の画像には大きなフィルターを、右の画像には小さなフィルターを使う必要があります。

犬の画像

GoogleNet Inceptionは深さに対してモデルの幅を大きくすることでオーバーフィッティングを回避するのに役立ちます。モデルの深さが増し、より多くの特徴を捉えられるようになると、活性化関数は学習データにオーバーフィットしてしまい汎用的に使うことは難しくなってきます。以下の画像は汎用的なモデル(単純なモデル)とオーバーフィットしたモデル(複雑なモデル)を表しています。

GoogleNet Inceptionでは上記の犬の例で述べたように、特徴抽出をおこない物体検出をする際に使用する画像の背景やレイアウトが異なるため、一つの入力に対して異なるサイズのフィルターを適用しています。同じレベルで複数のサイズのフィルターを用いることで、異なる画像中の異なるサイズのオブジェクトを容易に検出することができます。

フィルターを適用する前に入力に対して1×1の行列で畳み込むことで、画像に対しておこなわれる計算の回数を減らすことができます。例えば、サイズ14×14×480の入力にサイズ5×5×48のフィルターを畳み込むと、(14×14×48)×(5×5×480)=1億1290万回の計算が必要となります。しかし、1×1で畳み込んでから5×5で畳み込むと、計算量は(14×14×16)×(1×1×480)=150万と(14×14×48)×(5×5×16)=380万で合計530万回まで削減することができます。Inceptionモジュールでネットワークを分岐させ、サイズの異なる畳み込みをおこなった後、それらの出力を繋ぎ合わせる処理をおこなっています。

GoogLeNet Inceptionモジュール

ResNet

ニューラルネットワークは深くなるにつれて損失関数の勾配がゼロに向かって進行してしまう「勾配消失」と呼ばれる問題が見られるようになります。ResNet (Residual Network)ではネットワークの中にショートカットコネクションというアイディアを取り入れることで勾配消失の抑制を実現しています。ショートカットコネクションを導入したブロックを残差ブロック(Residual Block)と呼び、この残差ブロックを繋げることで深いネットワークを構築していきます。以下に示すように、残差ブロックにはベースライン残差ブロック(下図左)とボトルネック残差ブロック(下図右)の2種類があります。

残差ブロック (Residual Block)

ResNetは畳み込み層の総数によっていくつかの種類が存在しており、34層のResNet-34にはベースライン残差ユニット、50/101/152層のResNet-50/ResNet-101/ResNet-152にはボトルネック残差ユニットが使用されています。ベースライン残差ユニットは2つの3×3畳み込みとバッチ正規化、ReLUからなっています。ボトルネック残差ユニットは1×1、3×3、1×1の一連の畳み込み演算を3回積み重ねたもので、2つの1×1演算は次元の削減と復元を目的としており、精度を保ちながら計算効率化を可能にしています。各畳み込みの後にはバッチ正規化とReLUが適用されます。

 

下図は34層のResNet-34アーキテクチャーを示しています。

ResNet-34アーキテクチャー

AI実装に最適なクアルコム社 Snapdragon関連製品

エッジAIコンピューティングボックス (EBシリーズ)

お問い合わせ/お見積もり

ご質問や製品詳細情報をご希望の方はこちらからお問い合わせください。

クアルコム メーカー情報Topへ