AlexNet|DeepLearning論文の原文を読む #1

DeepLearning系の研究を中心に論文の読解メモをまとめていきます。

エポックになった有名どころの論文を精読し、所感などをまとめられればと思います。

(固く書きたくはなく90%〜95%程度の確信度で書きますので、もし間違いなどがあれば気軽にご指摘いただけたらと思います。)

初回はDeepLearningの研究のエポックとなったAlexNetについて取り扱います。
以下目次です。

0 Abstract
1 Introduction
2 The Dataset
3 The Architecture
4 Ruducing Overfitting
5 Details of learning
6 Results
7 Discussion


0 Abstract
Abstractは論文の要旨がまとまっているので一文ずつ精読していければと思います。`

We trained a large, deep convolutional neural network to classify the 1.2 million high-resolution images in the ImageNet LSVRC-2010 contest into the 1000 different classes.

簡単に和訳すると『私たちはImageNet LSVRCのコンテストの120万の画像を1,000クラスに分類するにあたり、大規模かつ深いCNNを学習させた』となります。

ILSVRCはImageNetのデータを用いた世界的な画像認識のコンペのことです。機械学習などの研究においてはデータの整備というのも一つ重要な課題なのですが、ImageNetという形でデータセットを整備することで、研究の手間を省いたり研究者間での目標を統一したりなどのメリットがあります。

On the test data, we achieved top-1 and top-5 error rates of 37.5% and 17.0% which is considerably better than the previous state-of-the-art.

和訳:『テストデータにおいて、私たちは37.5%のtop-1エラー率と17.0%のtop-5エラー率を実現したが、これは従来のSOTAよりも考慮すべきレベルで向上していた』

テストデータとあるのは学習に用いたデータを用いて検証すると過学習(Overfitting)になる可能性があるためです。過学習に関しては機械学習を行う際には必ず確認しなくてはならない項目で、Section4でも言及されています。

また、top-1エラー率は1,000個のうちから画像のタグを一つだけ指摘して当てられなかった確率、top-5エラー率は5つ指摘した上で当てられない確率です。

Kaggleなどでもそうですが、コンペの結果を評価する際には必ずこのような評価(evaluation)の基準について言及されます。

また、SOTA(State of the Art)は論文の貢献(Contribution)を言及するにあたってよく使用される表現で、これまでで一番というのを強調するために使用されることが多いです。

The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three fully-connected layers with a final 1000-way softmax

和訳:『学習させたニューラルネットワークの構成としては、6,000万のパラメータ、65万のニューロン、5層の畳み込み層、3層の全結合層、1,000個の出力層(Softmax関数のアウトプット)である。』

5層の畳み込みと3層の全結合層というのが簡単な概要です。また、パラメータの数はMobileNetなどのモデルの軽量化を考える際に参照されることが多いです。

To make training faster, we used non-saturating neurons and a very efficient GPU implementation of the convolution operation.

和訳:『学習の高速化を図るにあたって、私たちは飽和しないニューロンGPUを用いた畳み込み演算の効果的な実装を用いた。』

saturatingを直訳すると飽和するなので、飽和しないニューロンと訳しましたがこれはSection3で言及があるReLUのことです。

ニューラルネットワークにおける活性化関数には長らくシグモイドやtanh(ハイパボリックタンジェント)などが多く使用されてきましたが、深い層の学習にあたっては時間がかかってしまうので、max(0,x)のようなReLUのような関数を用いることで学習を早めることができます。

ReLUについてはそのまま用いられるケースばかりではないものの、2018年段階でもDeepLearningの学習にあたってはReLUに近しい考え方の活性化関数が概ね用いられています。

To reduce overfitting in the fully-connected layers we employed a recently-developed regularization method called “dropout” that proved to be very effective.

和訳:『過学習を軽減するために、全結合層において我々は最近開発された"dropout"という手法を用いた。』

recently-developedとありますが、これは2012年当時という意味です。こちらについての詳細はSection4に言及があります。

We also entered a variant of this model in the ILSVRC-2012 competition and achieved a winning top-5 test error rate of 15.3%, compared to 26.2% achieved by the second-best entry.

和訳:『私たちはこのモデルをILSVRCの2012年版へも提出し、15.3%のtop-5エラー率を達成し優勝した。また、二番目のモデルは26.2%だった。』

世界的なコンペで他のチームを10%以上も大きく引き離して優勝することは驚異的であり、これによって画像認識の研究トレンドが2013年以降DeepLearning一色に変わります。

それまでの画像認識はHaarLike、HOG、SIFTなどの局所特徴量が中心で職人芸に近い状態だったため、汎用的な用途も見据えられるDeepLearningはなおのことインパクトが強く、その後の研究の活発化に繋がりました。

 

残りのSectionは簡単な要約だけ載せます。

1 Introduction
1stパラグラフはデータセットについてまとまっています。

To improve their performance, we can collect larger datasets, learn more powerful models, and use better techniques for preventing overfitting.

上記は1stパラグラフの二文目ですが、学習の性能を向上するために大規模なデータが必要とあり、その流れで1stパラグラフはMNISTなどについて触れた後にImageNetについて言及しています。

2ndパラグラフはニューラルネットワークのモデルについて言及されています。

To learn about thousands of objects from millions of images, we need a model with a large learning capacity.

上記は2ndパラグラフの抜粋で、大規模なデータを扱うためには学習要領の大きなモデルが必要だと言及されています。

3rdパラグラフでは学習の効率化にあたってGPUの使用について言及されています。

4thパラグラフでは論文のcontributionsについてまとめられています。

5thパラグラフでは学習にあたっての諸々の補足についてまとめられています。

 

2 The Dataset
AlexNetの学習に用いたImageNetについてまとめられています。
ILSVRCはImageNet Learge Scale Visual Recognition Challengeの略で、ImageNetを用いた大規模な画像認識のコンペティションのことです。
ImageNetはWordNetに影響を受けて生成された画像のデータセットのことで、MNIST(28×28)やCIFAR-10(32×32×3)などとは違い、高解像度のデータが多いです。(AlexNetでは入力として224×224×3を用いるなど高解像度の画像のデータ
セットになっています。)

 

3 The Architecture

3.1で紹介されているReLUは2018年時点でも派生系が多く使用されており、スタンダードになっています。ReLUに関するキーワードとしては、Nonlinearityとnon-saturatingの2つが挙げられます。

Nonlinearityは非線形関数のことであり、ニューラルネットを組むにあたって活性化関数として非線形関数が必須です(これは数学的に中間層がないものとなってしまうためです)。

f:id:lib-arts:20181226172810p:plain

上記は論文内の図表ですが、活性化関数にReLUを用いることでtanhよりも5~6倍の学習のスピードのを向上させることができたことを表しています。

f:id:lib-arts:20181226173000p:plain

3.5に挙げられている上記の図がAlexNetのネットワーク構造の模式図です。
畳み込み処理(フィルタ処理)によって生成された画像(各チャネル)を表すために立方体の表記となっています。

 

4 Ruducing Overfitting

4.1でデータの複製(Data Augmentation)、4.2でDropoutについて取り扱っています。

それぞれ過学習を防ぐのに役立ち、Data Augmentationは学習サンプルを増やすことに役に立ち、Dropoutはアンサンブル学習のように一つの判断基準に基準に依存し過ぎないという意味で過学習の抑制を行なっています。

 

5 Details of learning
学習にあたってのハイパーパラメータなどについてまとまっています。

 

6 Results
諸々の検証結果について。
ILSVRCのデータを用いた検証についての言及が多めです。

 

7 Discussion
諸々考察がまとまっています。

 

以上、Alex Netの概観を中心に解説をまとめました。論文の後半部分の解説や詳細な説明などは時間がありましたらまた別の記事でまとめたいと思います。