本文へ移動

G検定(ジェネラリスト検定)

あれっくすねっと

AlexNet

AlexNet

AlexNetは、Krizhevsky、Sutskever、Hintonが2012年に発表した8層の深い畳み込みニューラルネットワークで、ILSVRC-2012で2位を大きく引き離して優勝した画像分類モデルです。

詳しい説明

ImageNetの1000クラス分類に挑んだ大規模CNN

AlexNetは、Krizhevsky、Sutskever、Hintonの論文 ImageNet Classification with Deep Convolutional Neural Networks(NeurIPS 2012)で示された、大規模で深い畳み込みニューラルネットワーク(CNN)です。ImageNet LSVRC-2010コンテストの120万枚の高解像度画像を、1000の異なるクラスに分類するために学習されました。

テストデータでのtop-1誤り率は37.5%、top-5誤り率は17.0%で、論文はこれを従来の最高水準より大幅に良い結果だと述べています。さらに、このモデルの変種をILSVRC-2012に出場させ、top-5テスト誤り率15.3%で優勝しました。2位の26.2%と比べて、10ポイント以上の差がついています。

畳み込み5層と全結合3層からなる8層の構造

ネットワークは重みを持つ層を8つ含みます。最初の5層が畳み込み層で、残りの3層が全結合層です。畳み込み層の一部の後ろには最大値プーリング(max-pooling)層が置かれています。最後の全結合層の出力は1000方向のソフトマックスに渡され、1000個のクラスラベルに対する分布を出力します。

モデルの規模は、パラメータが6000万個、ニューロンが65万個です。

ReLUで学習を速くする

それまでニューロンの出力を入力の関数として表す標準的な方法は、tanh(x) や (1+e^-x)^-1 といった関数でした。論文は、勾配降下法での学習時間の点で、これらの飽和する非線形関数は、飽和しない非線形関数 f(x) = max(0, x) よりずっと遅いと述べています。

この非線形関数を持つニューロンは Rectified Linear Units(ReLU)と呼ばれます。ReLUを使った深いCNNは、tanhのユニットを使った同等のネットワークより何倍も速く学習できると報告されています。学習を速くするために、論文はこの飽和しないニューロンと、畳み込み演算の非常に効率のよいGPU実装を用いました。

2つのGPUにネットワークを分けて学習する

当時使われたGTX 580 GPUは1枚あたり3GBのメモリしか持たず、1枚で学習できるネットワークの大きさには上限がありました。一方で、120万件の学習例は、1枚のGPUに収まらないほど大きなネットワークを学習させるのに十分な量でした。そこで論文では、ネットワークを2つのGPUに分けて配置しています。

重なりのあるプーリング(オーバーラッププーリング)

CNNのプーリング層は、同じカーネルマップ内で隣り合うニューロンのまとまりの出力を要約します。従来は、隣り合うプーリングユニットが要約する範囲は重なりませんでした。論文では記号sとzを使い、s = z とすると従来の局所プーリングに、s < z とすると範囲が重なるプーリングになると説明しています。

AlexNetはネットワーク全体で s = 2、z = 3 の重なりのあるプーリングを用いました。重ならない s = 2、z = 2 の方式と比べて、top-1誤り率を0.4%、top-5誤り率を0.3%下げたと報告されています。

ドロップアウトで全結合層の過学習を抑える

全結合層での過学習を減らすために、論文は当時新しく開発された正則化手法であるドロップアウト(dropout)を用い、非常に効果的だったと述べています。6000万個という多数のパラメータを持つモデルで、全結合層の過学習対策としてドロップアウトが使われた点が特徴です。

まとめ

AlexNetは、ReLUによる学習の高速化、2つのGPUを使った大規模ネットワークの学習、重なりのあるプーリング、ドロップアウトによる過学習対策を組み合わせた8層のCNNです。ILSVRC-2012では、top-5誤り率15.3%で2位の26.2%を大きく上回って優勝しました。

試験で問われること

G検定

  • AlexNetの重みを持つ層は何層で、そのうち畳み込み層と全結合層はそれぞれ何層か。最後の全結合層の出力は何に渡されるか。
  • AlexNetがtanhなどの飽和する活性化関数の代わりに用いた f(x) = max(0, x) の関数は何と呼ばれ、学習時間にどのような効果があったか。
  • AlexNetが全結合層の過学習を抑えるために用いた正則化手法は何か。
  • AlexNetがネットワークを2つのGPUに分けて学習させた理由は何か。1枚のGTX 580 GPUのメモリ容量と関連づけて説明できるか。
  • ILSVRC-2012でAlexNetの変種が記録したtop-5テスト誤り率と、2位の誤り率はそれぞれいくつか。また、重なりのあるプーリングとは隣り合うプーリングの範囲がどうなる方式か。

最終更新日: 2026/09/23