TECHNOLOGY NLP AI

【日本語訳】ImageNet Classification with Deep Convolutional Neural Networks【世界初のディープラーニング「AlexNet」】

2023年5月10日

悩んでいる人

ImageNet Classification with Deep Convolutional Neural Networksの日本語訳を教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴12年.
  • 東大教員の時に,英語でOS(Linuxカーネル)の授業.
  • 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校(UNC)コンピュータサイエンス学部で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発.
  • プログラミング歴15年以上,習得している言語: C/C++PythonSolidity/Vyper,Java,Ruby,Go,Rust,D,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
  • 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」GitHubにオープンソースとして公開
  • 2020年1月~現在はアメリカのノースカロライナ州チャペルヒルにあるGuarantee Happiness LLCのCTOとしてECサイト開発やWeb/SNSマーケティングの業務.2022年6月~現在はアメリカのノースカロライナ州チャペルヒルにあるJapanese Tar Heel, Inc.のCEO兼CTO.
  • 最近は自然言語処理AIイーサリアムに関する有益な情報発信に従事.
    • (AI全般を含む)自然言語処理AIの論文の日本語訳や,AIチャットボット(ChatGPT,Auto-GPT,Gemini(旧Bard)など)の記事を50本以上執筆.アメリカのサンフランシスコ(広義のシリコンバレー)の会社でプロンプトエンジニア・マネージャー・Quality Assurance(QA)の業務委託の経験あり.
    • (スマートコントラクトのプログラミングを含む)イーサリアムや仮想通貨全般の記事を200本以上執筆.イギリスのロンドンの会社で仮想通貨の英語の記事を日本語に翻訳する業務委託の経験あり.

こういった私から学べます.

AIのプログラミング言語「C++/Python言語」を学べるおすすめのWebサイトを知りたいあなたはこちらからどうぞ.

独学が難しいあなたは,AIを学べるオンラインプログラミングスクール3社で自分に合うスクールを見つけましょう.後悔はさせません!

国内・海外のAIエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

国内・海外のプロンプトエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

ImageNet Classification with Deep Convolutional Neural Networksの日本語訳を紹介します.

世界初のディープラーニング「AlexNet」がわかります.

※図表を含む論文の著作権はImageNet Classification with Deep Convolutional Neural Networksの著者に帰属します.

AlexNetの名前の由来は,論文の第一著者「Alex Krizhevsky」(トロント大学)です.

参考までに著者一覧は以下になります.そうそうたるメンバーです!

ImageNet Classification with Deep Convolutional Neural Networksの目次は以下になります.

  • Abstract
  • 1章:Introduction
  • 2章:The Dataset
  • 3章:The Architecture
  • 4章:Reducing Overfitting
  • 5章:Details of learning
  • 6章:Results
  • 7章:Discussion
  • References

ImageNet Classification with Deep Convolutional Neural Networksを解説しつつ,私の考えも語ります.

ImageNet Classification with Deep Convolutional Neural Networksの概要と私の日本語訳は以下になります.

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-2010コンテストの120万枚の高解像度画像を1000種類のクラスに分類するために,大規模で深い畳み込みニューラルネットワークを学習させた.

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.
テストデータにおいて,トップ1位とトップ5位のエラー率は37.5%と17.0%で,従来の最先端手法を大幅に上回る結果を得ることができた.

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.
ニューラルネットワークは,6000万個のパラメータと65万個のニューロンを持ち,5つの畳み込み層と,それに続くマックスプーリング層,3つの完全接続層と最終的な1000-way softmaxで構成されている.

To make training faster, we used non-saturating neurons and a very efficient GPU implementation of the convolution operation.
訓練を高速化するために,非飽和ニューロンと,畳み込み演算の非常に効率的なGPU実装を使用した.

To reduce overfitting in the fully-connected layers we employed a recently-developed regularization method called “dropout” that proved to be very effective.
完全連結層でのオーバーフィッティングを抑えるために,最近開発された「ドロップアウト」と呼ばれる正則化手法を採用し,非常に効果的であることが証明された.

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のコンペティションに出品したところ,トップ5位のテストエラー率が15.3%(2位は26.2%)となり,優勝した.

https://proceedings.neurips.cc/paper_files/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

私の日本語訳の注意点は以下になります.

  • 概要は英語と日本語を両方掲載しましたが,本文は私の日本語訳のみを掲載していること(英語で読みたいあなたは原文を読みましょう!)
  • 基本的には原文の直訳ですが,わかりにくい箇所は意訳や説明を追加している箇所があること
  • 本文中に登場する表記「[16]」などは参考文献ですので,興味がある方は本記事の参考文献を参照されたいこと

それでは,ImageNet Classification with Deep Convolutional Neural Networksの本文を読みすすめましょう!

1章:Introduction(はじめに)

現在の物体認識のアプローチでは,機械学習の手法が不可欠である.

その性能を向上させるためには,より大規模なデータセットを収集し,より強力なモデルを学習し,オーバーフィッティングを防止するための優れた技術を使用することができる.

これまで,ラベル付き画像のデータセットは比較的小さく,数万枚程度だった(例:NORB[16],Caltech-101/256[8, 9],CIFAR-10/100[12]).

このサイズのデータセットでは,特にラベル保存変換で拡張すれば,単純な認識タスクは非常にうまく解決できる.

例えば,MNISTの数字認識タスクにおける現在の最良のエラー率(<0.3%)は,人間の性能に近いものである[4].

しかし,現実の環境における物体はかなりのばらつきがあるため,それらを認識できるようになるには,より大きな訓練セットを使用する必要がある.

実際,小規模な画像データセットの欠点は広く認識されているが(例:Pinto et al.[21]),数百万枚の画像からなるラベル付きデータセットを収集することが可能になったのは最近のことである.

新しい大規模データセットとしては,完全にセグメント化された数十万枚の画像からなるLabelMe[23]や,22,000以上のカテゴリーでラベル付けされた1500万枚以上の高解像度画像からなるImageNet[6]がある.

数百万枚の画像から数千の物体について学習するためには,大きな学習能力を持つモデルが必要である.

しかし,物体認識というタスクは非常に複雑であるため,ImageNetのような大規模なデータセットでもこの問題を特定することはできない.

したがって,モデルには,我々が持っていないすべてのデータを補うための多くの事前知識も必要である.

畳み込みニューラルネットワーク(CNNs:Convolutional Neural Networks)は,そのようなモデルのクラスの1つである[16, 11, 13, 18, 15, 22, 26].

その容量は,深さと広さを変えることでコントロールでき,また,画像の性質(すなわち,統計の定常性と画素依存性の局所性)について強力かつほぼ正しい仮定を行うことができる.

このように,同じような大きさの層を持つ標準的なフィードフォワードニューラルネットワークと比較して,CNNは接続とパラメータが非常に少ないため,理論的に最も優れた性能がわずかに悪化する可能性がある一方で,訓練が容易である.

CNNsは,その魅力的な性質とローカルアーキテクチャの相対的な効率にもかかわらず,高解像度の画像に大規模に適用するには法外なコストがかかるという問題があった.

幸い,現在のGPUは,2次元畳み込みの高度に最適化された実装と組み合わせることで,興味深いほど大きなCNNの訓練を容易にするのに十分な性能を備えている.

また,ImageNetなどの最近のデータセットには,重度のオーバーフィッティングなしにそのモデルを訓練できる十分なラベル付き例がある.

本論文の具体的な貢献は以下の通りである.

ILSVRC-2010およびILSVRC-2012で使用されたImageNetのサブセットに対して,これまでで最大規模の畳み込みニューラルネットワークを訓練させ,これらのデータセットで報告された中で断トツの結果を達成した[2].

我々は,2次元畳み込みと畳み込みニューラルネットワークの訓練に固有の他のすべての操作の高度に最適化されたGPU実装を作成し,一般に公開している.

我々のネットワークは,その性能を向上させ,訓練時間を短縮するために,多くの新しく珍しい機能を含んでおり,その詳細は3章に記載されている.

ネットワークの規模が大きいため,120万個のラベル付き訓練例を用いてもオーバーフィッティングが重大な問題となるため,オーバーフィッティングを防ぐためのいくつかの効果的な手法を用いており,その内容は4章で説明する.

最終的なネットワークは,5つの畳み込み層と3つの完全接続層を含んでおり,この深さが重要であると思われる.

畳み込み層(各層はモデルのパラメーターの1%以下)を取り除くと,性能が低下することがわかった.

結局,ネットワークのサイズは,主に現在のGPUで利用可能なメモリ量と,許容できる訓練時間によって制限されることになる.

我々のネットワークは,2台のGTX 580 3GB GPUsで5〜6日かけて訓練する.

すべての実験から,より高速なGPUとより大きなデータセットが利用できるようになるのを待つだけで,我々の結果は改善されることが示唆された.

2章:The Dataset(データセット)

ImageNetは,約22,000のカテゴリーに属する1,500万以上のラベル付き高解像度画像のデータセットである.

画像はウェブから収集され,Amazonのクラウドソーシングツール「Mechanical Turk」を使って人間のラベラーによってラベル付けされている.

2010年からは,Pascal Visual Object Challengeの一環として,ImageNet Large-Scale Visual Recognition Challenge(ILSVRC)と呼ばれる年次大会が開催されている.

ILSVRCでは,ImageNetのサブセットを使用し,1000のカテゴリーにそれぞれ約1000枚の画像がある.

訓練画像は約120万枚,検証画像は約5万枚,テスト画像は約15万枚である.

ILSVRC-2010は,テストセットのラベルが利用可能な唯一のバージョンであるため,このバージョンでほとんどの実験を行った.

また,ILSVRC-2012のコンペティションにも参加したため,6章では,テストセットラベルが入手できないこのバージョンのデータセットについても結果を報告する.

ImageNetでは,トップ1位とトップ5位の2つのエラーレートを報告するのが通例である.

トップ5位のエラーレートは,正しいラベルがモデルによって最も可能性が高いと考えられる5つのラベルの中にないテスト画像の割合である.

ImageNetは可変解像度の画像で構成されているが,我々のシステムは一定の入力次元を必要とする.

そこで,画像を256*256という固定解像度にダウンサンプリングした.

長方形の画像は,まず短辺の長さが256になるように画像を拡大縮小し,その結果得られた画像から中央の256*256パッチを切り出した.

各ピクセルから訓練セットの平均活性を差し引く以外は,他の方法で画像の前処理をしなかった.

つまり,ピクセルの(中央の)生のRGB値でネットワークを訓練させた.

3章:The Architecture(アーキテクチャ)

我々のネットワークのアーキテクチャは,図2に要約されている.

このネットワークには,5つの畳み込み層と3つの完全連結層の合計8つの学習層が含まれている.

以下,本ネットワークのアーキテクチャの新規性や特異性を説明する.

3.1~3.4節は,その重要性の評価に従って,最も重要なものから順に並んでいる.

3.1節:ReLU Nonlinearity(ReLU非線形性)

AlexNet Figure1
図1:ReLUを用いた4層の畳み込みニューラルネットワーク(実線)は,tanhニューロンを用いた同等のネットワーク(破線)よりも6倍速くCIFAR-10の訓練誤差率25%に到達した.各ネットワークの学習率は,可能な限り高速に学習できるように独立して選択された.正則化は一切行っていない.この効果の大きさはネットワークアーキテクチャによって異なるが,ReLUを用いたネットワークは,飽和ニューロンを用いた同等のネットワークよりも常に数倍速く学習する.

ニューロンの出力fを入力xの関数としてモデル化する標準的な方法は,\(f(x) = tanh(x)\)または\(f(x) = (1 + e^{-x})^{-1}\)である.

勾配降下法による訓練時間の観点から,これらの飽和非線形性は,非飽和非線形性\(f(x) = max(0,x)\)よりもはるかに遅い.

Nair and Hinton [20]に倣って,この非線形性を持つニューロンをRectified Linear Units(ReLUs)と呼ぶことにする.

ReLUsを持つ深層畳み込みニューラルネットワークは,tanhユニットを持つ同等のものよりも数倍速く訓練する.

これは図1に示すように,ある4層の畳み込みネットワークについて,CIFAR-10データセットの訓練誤差が25%に達するまでに必要な反復回数を示している.

このプロットは,従来の飽和ニューロンモデルを使用していた場合,今回の研究でこれほど大規模なニューラルネットワークを実験することができなかったことを示している.

CNNsにおいて伝統的なニューロンモデルの代替案を検討したのは,我々が初めてではない.

例えば,Jarrett et al.[11]は,非線形性\(f(x) = |tanh(x)|\)が,Caltech-101データセットのコントラスト正規化後に局所平均プーリングする彼らのタイプで特にうまく機能すると主張している.

しかし,このデータセットでは,オーバーフィッティングを防ぐことが最大の関心事である.

彼らが観察している効果は,ReLUを使用した場合に報告される訓練セットへの適合能力の加速とは異なるものである.

学習の高速化は,大規模データセットで訓練された大規模モデルの性能に大きな影響を与える.

3.2節:Training on Multiple GPUs(複数のGPUでの訓練)

GTX 580 GPU1台ではメモリが3GBしかないため,訓練させるネットワークの最大サイズが制限される.

1つのGPUに収めるには大きすぎるネットワークを訓練させるには,120万個の訓練例で十分であることが判明した.

そこで,2つのGPUにネットを分散させることにした.

現在のGPUは,ホストマシンのメモリを介さずに,互いのメモリから直接読み書きできるため,GPU間の並列化には特に適している.

我々が採用した並列化方式では,カーネル(ニューロン)の半分を各GPUに配置するが,さらに1つの仕掛けがある.

GPUは特定の層のみで通信を行う.

つまり,例えば3層のカーネルは,2層のすべてのカーネルマップから入力を受ける.

しかし,4層のカーネルは,同じGPUに存在する3層のカーネルマップからしか入力を受けない.

接続のパターンを選ぶのはクロスバリデーションの問題だが,これによって,通信量が計算量の何分の一になるかまで精密に調整することができる.

この結果,Ciresan et al.[5]が採用した「columnar」CNNと,列が独立していないことを除けば,多少似たアーキテクチャになった(図2参照).

この方式は,1つのGPUで学習させた各畳み込み層のカーネル数が半分のネットと比較して,トップ1位およびトップ5位のエラー率をそれぞれ1.7%と1.2%に低減する.

2GPUのネットは,1GPUのネットよりも訓練にかかる時間がわずかに短くなる.

※1GPUのネットは,実は最後の畳み込み層で2GPUのネットと同じ数のカーネルを持っている.これは,ネットのパラメータのほとんどが,最後の畳み込み層を入力とする最初の完全連結層にあるためである.そこで,2つのネットのパラメータ数をほぼ同じにするために,最後の畳み込み層(とそれに続く完全連結層)のサイズを半分にすることはしなかった.したがって,この比較では,1GPUのネットが2GPUのネットの「半分のサイズ」よりも大きいので,1GPUのネットに有利になるようにバイアスがかかっている.

3.3節:Local Response Normalization(局所応答正規化)

ReLUsは,飽和を防ぐために入力の正規化を必要としないという望ましい性質を持っている.

少なくともいくつかの訓練例がReLUに正の入力を与えるならば,そのニューロンで学習が行われる.

しかし,次のような局所正規化方式が汎化を助けることが分かっている.

位置(x, y)でカーネルiを適用し,ReLU非線形性を適用して計算したニューロンの活動(activity of neuron)を\(a_{x,y}^i\)とすると,応答正規化の活動(response-normalized activity)\(b_{x,y}^i\)は,次の式で与えられる.

$$b_{x,y}^i = a_{x,y}^i / \left( k + \alpha \sum_{j=max(0, i - n/2)}^{min(N - 1, i + n / 2)} (a_{x,y}^j)^2 \right)^\beta$$

ここで,和は同じ空間位置にあるn個の「隣接する」カーネルマップにかかり,Nは層内のカーネルの総数である.

カーネルマップの順序はもちろん任意であり,訓練開始前に決定される.

このような応答の正規化により,実際のニューロンに見られるような横方向の抑制が行われ,異なるカーネルを使って計算されたニューロン出力の間で大きな活動の競争が発生する.

定数k,n,\(\alpha\),\(\beta\)は,検証セットを使って値を決定するハイパーパラメータである.

ここでは,k = 2,n = 5,\(\alpha = 10^{-4}\),\(\beta = 0.75\)を使用した.

この正規化は,ある層でReLU非線形性を適用した後に適用した(3.5節参照).

この方式はJarrett et al. [11]の局所コントラスト正規化方式に似ているが,平均活動量を減算していないので,我々の方式は「明るさ正規化」(brightness normalization)と呼ぶのが正しいだろう.

応答正規化により,トップ1位とトップ5位のエラーレートがそれぞれ1.4%と1.2%に減少した.

また,CIFAR-10データセットで本方式の有効性を検証した.

4層CNNは,正規化なしで13%,正規化で11%のテストエラー率を達成した.

※スペースの都合上,このネットワークを詳細に説明することはできないが,ここで提供されるコードとパラメータファイルによって正確に指定されている.

3.4節:Overlapping Pooling(オーバーラッププーリング)

CNNsのプーリング層は,同じカーネルマップの中で隣接するニューロングループの出力を要約する.

伝統的に,隣接するプーリングユニットによって要約される近傍は重ならない(例:[17, 11, 4]).

より正確には,プーリング層は,sピクセル間隔で配置されたプーリングユニットのグリッドで構成され,それぞれがプーリングユニットの位置を中心としたサイズz*zの近傍を要約していると考えることができる.

s = zとすると,CNNsで一般的に採用されている従来のローカルプーリングが得られる.

s < zとすると,オーバーラッププーリングとなる.

我々のネットワークでは,s = 2,z = 3とし,この方式を採用している.

この方式では,トップ1位とトップ5位のエラー率がそれぞれ0.4%と0.3%減少し,オーバーラップしない方式s = 2, z = 2と比較して,同等の次元の出力が得られるようになった.

オーバーラッププーリングのモデルは,オーバーフィットがやや困難であることが,訓練中に観察される.

3.5節:Overall Architecture(全体のアーキテクチャ)

AlexNet Figure2
図2:CNNのアーキテクチャを示す図であり,2つのGPU間の責任の描写を明示的に示している.一方のGPUは図の上部にあるlayer-partsを実行し,もう一方のGPUは下部にあるlayer-partsを実行する.GPUは特定の層のみで通信を行う.ネットワークの入力は150,528次元で,残りの層のニューロン数は253,440-186,624-64,896-64,896-43,264-4096-4096-1000で与えられる.

さて,ここでCNNの全体的なアーキテクチャを説明する準備が整った.

図2に描かれているように,このネットには重みを持つ8つの層がある.

最初の5層は畳み込み型,残りの3層は完全連結型である.

最後の完全連結層の出力は1000-way softmaxに供給され,1000個のクラスラベルに対する分布を生成する.

このネットワークは,多項ロジスティック回帰の目的を最大化する.

これは,予測分布の下で正しいラベルが得られる対数確率の訓練ケース全体の平均を最大化することと同じである.

第2,第4,第5の畳み込み層のカーネルは,同じGPU上に存在する前の層のカーネルマップにのみ接続される(図2参照).

第3畳み込み層のカーネルは,第2層のすべてのカーネルマップに接続されている.

完全に接続された層のニューロンは,前の層のすべてのニューロンに接続されている.

応答正規化層は,第1および第2畳み込み層に続く.

3.4節で説明したようなマックスプーリング層は,応答正規化層と第5畳み込み層の両方に続く.

ReLUの非線形性は,すべての畳み込み層と完全連結層の出力に適用される.

最初の畳み込み層は,224*224*3の入力画像を,4ピクセルのストライドでサイズ11*11*3の96個のカーネルでフィルタリングする(これはカーネルマップの隣接するニューロンの受容野中心部の間の距離である).

第2畳み込み層は,第1畳み込み層の(応答正規化されプーリングされた)出力を入力とし,サイズ5*5*48の256カーネルでフィルタリングする.

第3,第4,第5畳み込み層は,プーリング層や正規化層を介さずに互いに接続されている.

第3畳み込み層は,第2畳み込み層の(正規化,プーリングされた)出力に接続された,サイズ3*3*256の384カーネルを有する.

第4畳み込み層は,サイズ3*3*192の384個のカーネルを持ち,第5畳み込み層は,サイズ3*3*192の256個のカーネルを持つ.

完全連結層は,それぞれ4096個のニューロンを持つ.

4章:Reducing Overfitting(オーバーフィッティングの低減)

我々のニューラルネットワークアーキテクチャは6,000万個のパラメータを持つ.

ILSVRCの1000クラスでは,各訓練例が画像からラベルへのマッピングに10ビットの制約を課しているが,これほど多くのパラメータをオーバーフィットさせずに学習するには不十分であることが判明している.

以下では,オーバーフィッティングに対処するための2つの主要な方法について説明する.

4.1節:Data Augmentation(データ拡張)

画像データのオーバーフィッティングを減らす最も簡単で一般的な方法は,ラベル保存変換を用いてデータセットを人為的に拡大することである(例:[25, 4, 5]).

我々は,2つの異なる形式のデータ拡張を採用しており,どちらも,わずかな計算で原画像から変換画像を生成できるため,変換画像をディスクに保存する必要がない.

我々の実装では,GPUが前の画像のバッチで訓練している間に,変換画像はCPU上のPythonコードで生成される.

つまり,これらのデータ拡張方式は,事実上,計算不要である.

データ拡張の第一の方法は,画像の平行移動と水平反射を生成することである.

これは,256*256の画像からランダムに224*224のパッチ(とその水平反射)を抽出し,これらの抽出パッチでネットワークを訓練することで行う.

※このため,図2の入力画像は224*224*3次元となっている.

これにより,訓練セットのサイズは2048分の1になるが,その結果得られる訓練例はもちろん相互依存性が高くなる.

この方式がない場合,ネットワークは大幅なオーバーフィッティングを起こし,より小さなネットワークを使用せざるを得なかっただろう.

テスト時には,224*224の5つのパッチ(4つのコーナーパッチとセンターパッチ)とその水平方向の反射(訳注:5つの水平方向の反射パッチ)を抽出し,合計10パッチについてネットワークのsoftmax層が予測した値を平均化することで予測を行う.

データ拡張の第二の方法は,訓練画像のRGBチャンネルの強度を変更することである.

具体的には,ImageNetの訓練セット全体のRGBピクセル値の集合に対してPCAを実行する.

各訓練画像に,検出された主成分の倍数を追加する.

その大きさは,対応する固有値に比例し,平均0,標準偏差0.1のガウスから抽出したランダム変数になる.

したがって,各RGB画像画素\(I_{xy} = [I_{xy}^R, I_{xy}^G, I_{xy}^B]^T\)に,次の量を追加する.

$$[\mathbf{p}_1, \mathbf{p}_2, \mathbf{p}_3][\alpha_1\lambda_1, \alpha_2\lambda_2, \alpha_3\lambda_3]^T$$

ここで,\(\mathbf{p}_i\)と\(\lambda_i\)はそれぞれRGB画素値の3*3共分散行列の最初の固有ベクトルと固有値,\(\alpha_i\)は前述のランダム変数である.

各\(\alpha_i\)は,ある訓練用画像の全画素に対して,その画像が再び訓練に使われるまで一度だけ描かれ,その時点で再描画される.

この方式は,自然画像の重要な特性である,照明の強さや色の変化に対して物体の同一性が不変であることを近似的に捉えている.

この方式により,トップ1位のエラー率を1%以上低減することができた.

4.2節:Dropout(ドロップアウト)

多くの異なるモデルの予測を組み合わせることは,テストエラーを減らすための非常に成功した方法だが[1, 3],すでに訓練に数日かかる大きなニューラルネットワークでは,あまりにも高価に見える.

しかし,訓練時にかかるコストが2分の1程度で済む,非常に効率的なモデルの組み合わせが存在する.

最近導入された「ドロップアウト」[10]と呼ばれる手法で,各隠れニューロンの出力を確率0.5でゼロに設定する.

この方法で「ドロップアウト」されたニューロンは,フォワードパスに寄与せず,バックプロパゲーションにも参加しない.

したがって,入力が提示されるたびに,ニューラルネットワークは異なるアーキテクチャをサンプリングするが,これらのアーキテクチャはすべて重みを共有する.

この手法では,ニューロンが他の特定のニューロンの存在に依存できないため,ニューロンの複雑な共適応を減らすことができる.

したがって,ニューロンは,他のニューロンの多くの異なるランダムなサブセットと組み合わせて有用な,よりロバストな特徴量を学習することを余儀なくされる.

テスト時には,すべてのニューロンを使用するが,その出力に0.5を掛ける.

これは,指数関数的に多数のドロップアウトネットワークが生成する予測分布の幾何平均を取るのと同じで,妥当な近似である.

図2の最初の2つの完全接続層でドロップアウトを使用している.

ドロップアウトを使用しない場合,ネットワークはかなりのオーバーフィッティングを示す.

ドロップアウトは,収束に必要な反復回数をおよそ2倍にする.

5章:Details of learning(学習の詳細)

バッチサイズ128例,モメンタム0.9,荷重減衰(weight decay)0.0005で確率的勾配降下法を用いてモデルを訓練した.

このわずかな荷重減衰が,モデルの学習にとって重要であることがわかった.

つまり,ここでの荷重減衰は,単なる正則化ではない.

これは,モデルの訓練誤差を低減するものである.

重みwの更新ルールは下式になる.

\begin{eqnarray*}
v_{i+1} &:=& 0.9 \cdot v_i - 0.0005 \cdot \epsilon \cdot w_i - \epsilon \cdot \left< \frac{\partial L}{\partial w}|_{w_i} \right>_{D_i} \\
w_{i+1} &:=& w_i + v_{i+1}
\end{eqnarray*}

ここで,iは反復インデックス,vは運動量変数,\(\epsilon\)は学習率,\(\left< \frac{\partial L}{\partial w}|_{w_i} \right>_{D_i}\)は\(w_i\)で評価したwに関する目的関数の微分の第iバッチ\(D_i\)の平均値である.

各層の重みは,標準偏差0.01のゼロ平均ガウス分布から初期化した.

第2,第4,第5畳み込み層と完全連結隠れ層のニューロンバイアスは定数1で初期化した.

この初期化により,ReLUsに正の入力を与えることで,学習の初期段階を加速させることができる.

残りの層のニューロンバイアスは,定数0で初期化した.

学習率はすべての層で同じにし,訓練中は手動で調整した.

学習率を10で割るのは,現在の学習率で検証誤差が改善されなくなったときである.

学習率は0.01で初期化し,終了する前に3回減らした.

120万枚の画像からなる訓練セットで約90サイクル学習させ,2台のNVIDIA GTX 580 3GB GPUsで5〜6日かけて訓練させた.

6章:Results(結果)

AlexNet Table1
表1:ILSVRC- 2010テストセットでの結果比較.イタリック体は他のモデルが達成した最良の結果である.

ILSVRC-2010における我々の結果は,表1に要約されている.

我々のネットワークは,トップ1位およびトップ5位のテストセットのエラー率37.5%および17.0%を達成した.

※4.1節で説明した10個のパッチで予測値を平均化しない場合の誤差は39.0%と18.3%である.

ILSVRC-2010のコンペティションで達成された最高の性能は,異なる特徴で訓練された6つのスパースコーディングモデルから生成された予測値を平均化するアプローチで47.1%と28.2%だった[2].

それ以来,2種類の密にサンプリングされた特徴から計算されたフィッシャーベクトル(FVs:Fisher Vectors)で訓練された2つの分類器の予測値を平均化するアプローチで,45.7%と25.7%の結果が発表されている[24].

AlexNet Table2
表2:ILSVRC-2012の検証セットとテストセットにおけるエラーレートの比較.イタリック体は,他の人が達成した最高の結果である.アスタリスク*が付いたモデルは,ImageNet 2011 Fallリリース全体を分類するために「事前訓練」されたものである.詳細については6章を参照されたい.

また,ILSVRC-2012のコンペティションに本モデルを出品し,その結果を表2に報告する.

ILSVRC-2012のテストセットのラベルは公開されていないため,我々が試したすべてのモデルのテストエラー率を報告することはできない.

この段落の残りの部分では,検証誤差とテスト誤差を互換的に使用する.

なぜなら,我々の経験では,0.1%以上の差はないからである(表2参照).

本論文で紹介するCNNは,トップ5位で18.2%のエラーレートを達成した.

5つの類似したCNNsの予測値を平均すると,誤差は16.4%となる.

最後のプーリング層の上に第6畳み込み層を追加した1つのCNNを訓練して,ImageNet Fall 2011リリース全体(15M画像,22Kカテゴリー)を分類し,ILSVRC-2012で「ファインチューニング」すると,エラー率は16.6%になる.

2011年秋のリリース全体で事前訓練した2つのCNNの予測値と前述の5つのCNNの予測値を平均すると,誤差は15.3%になる.

コンテスト第2位のモデルは,異なるタイプの密にサンプリングされた特徴から計算されたFVで訓練された複数の分類器の予測を平均化するアプローチにより,26.2%のエラーレートを達成した[7].

最後に,10,184のカテゴリーと890万枚の画像を持つImageNetの2009年秋バージョンでのエラー率も報告する.

このデータセットでは,文献にあるように,画像の半分を訓練に,半分をテストに使用する慣例に従った.

確立されたテストセットがないため,我々の分割は必然的に以前の著者が使用した分割と異なるが,これは結果に大きな影響を与えない.

このデータセットにおける我々のトップ1位とトップ5位のエラー率は67.4%40.9%で,これは上記のネットで達成されたが,最後のプーリング層の上にさらに第6畳み込み層が追加されている.

このデータセットで公表されている最高の結果は,78.1%と60.9%である[19].

6.1節:Qualitative Evaluations(定性的評価)

AlexNet Figure3
図3:224*224*3の入力画像に対して,第1畳み込み層が学習したサイズ11*11*3の96個の畳み込みカーネル.上位48カーネルはGPU 1で学習し,下位48カーネルはGPU 2で学習している.詳細は 6.1節を参照されたい.

図3は,このネットワークの2つのデータ接続層で学習された畳み込みカーネルを示す.

このネットワークは,周波数と方向を選択するさまざまなカーネルと,さまざまな色のブロブ(blobs,塊の意味)を学習した.

3.5節で説明した接続の制限の結果,2つのGPUsが特殊化したことに注目されたい.

GPU 1のカーネルはほとんど色に関係なく,GPU 2のカーネルはほとんど色に特化したものである.

このような特殊化は,すべての実行時に発生し,特定のランダムウェイトの初期化には依存しない(GPUの番号付けを変更する程度).

AlexNet Figure4
図4:(左)ILSVRC-2010の8枚のテスト画像と,モデルによって最も確率が高いとされた5つのラベル.各画像の下に正しいラベルが書かれており,正しいラベルに割り当てられた確率も赤いバーで示されている(たまたまトップ5位に含まれていた場合).(右)1列目はILSVRC-2010のテスト画像5枚.残りの列は,テスト画像の特徴ベクトルとのユークリッド距離が最小となる最終隠れ層の特徴ベクトルを生成する6つの訓練画像を示している.

図4左のパネルでは,8枚のテスト画像に対するトップ5位の予測値を計算することで,ネットワークが何を学習したかを定性的に評価する.

左上のダニのような中心から外れた物体も,ネットワークによって認識されることがわかる.

トップ5位のラベルのほとんどは,妥当なものであると思われる.

例えば,ヒョウのラベルとしてもっともらしいと思われるのは,他の種類の猫だけである.

いくつかのケース(グリル,チェリー)では,写真の意図する焦点について真にあいまいな点がある.

ネットワークの視覚的知識を探るもう一つの方法は,最後の4096次元の隠れ層で,画像によって引き起こされる特徴量の活性化を考えることである.

2つの画像がユークリッド分離の小さい特徴量の活性化ベクトルを生成する場合,ニューラルネットワークの上位層はそれらを類似しているとみなすと言える.

図4は,テストセットの5つの画像と,この尺度にしたがって最も似ている訓練セットの6つの画像を示している.

ピクセルレベルでは,検索された訓練画像は,一般的に1列目のクエリ画像とL2が近くないことに注意されたい.

例えば,検索された犬や象は様々なポーズで登場する.

さらに多くのテスト画像についての結果を補足資料で紹介する.

4096次元の実数値ベクトル間のユークリッド距離を用いて類似度を計算するのは非効率的だが,これらのベクトルを短いバイナリコードに圧縮するオートエンコーダを訓練することで効率化できるだろう.

これは,画像ラベルを利用しないため,意味的に類似しているかどうかにかかわらず,エッジのパターンが類似した画像を検索する傾向がある,生のピクセルにオートエンコーダを適用するよりもはるかに優れた画像検索方法を生み出すはずである[14].

7章:Discussion(ディスカッション)

この結果は,大規模で深い畳み込みニューラルネットワークが,純粋な教師あり学習を用いて,非常に困難なデータセットで記録的な結果を達成できることを示している.

注目すべきは,畳み込み層を1つ取り除いただけで,ネットワークの性能が低下することである.

例えば,中間層のいずれかを削除すると,ネットワークのトップ1位の性能は約2%低下する.

つまり,この結果を得るためには,深さが本当に重要である.

特に,十分な計算能力があれば,ラベル付きデータの量を増やすことなく,ネットワークのサイズを大幅に増やすことができるため,実験を簡単にするために,教師なし事前訓練は使用しなかった.

これまでのところ,ネットワークを大きくし,より長く訓練することで結果は改善されているが,人間の視覚システムの下側頭葉の経路(infero-temporal pathway)(訳注:視覚経路のこと)と一致させるためには,まだ何桁も先の話である.

最終的には,ビデオシーケンスに非常に大きく深い畳み込みネットを使いたいと考えている.

そこでは,静止画像にはない,あるいはあまり目立たない,時間的構造が非常に役立つ情報を提供する.

参考文献

  1. R.M. Bell and Y. Koren. Lessons from the netflix prize challenge. ACM SIGKDD Explorations Newsletter, 9(2):75–79, 2007.
  2. A. Berg, J. Deng, and L. Fei-Fei. Large scale visual recognition challenge 2010. www.imagenet.org/challenges. 2010.
  3. L. Breiman. Random forests. Machine learning, 45(1):5–32, 2001.
  4. D. Cire¸san, U. Meier, and J. Schmidhuber. Multi-column deep neural networks for image classification. Arxiv preprint arXiv:1202.2745, 2012.
  5. D.C. Cire¸san, U. Meier, J. Masci, L.M. Gambardella, and J. Schmidhuber. High-performance neural networks for visual object classification. Arxiv preprint arXiv:1102.0183, 2011.
  6. J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. ImageNet: A Large-Scale Hierarchical Image Database. In CVPR09, 2009.
  7. J. Deng, A. Berg, S. Satheesh, H. Su, A. Khosla, and L. Fei-Fei. ILSVRC-2012, 2012. URL https://www.image-net.org/challenges/LSVRC/2012/.
  8. L. Fei-Fei, R. Fergus, and P. Perona. Learning generative visual models from few training examples: An incremental bayesian approach tested on 101 object categories. Computer Vision and Image Understanding, 106(1):59–70, 2007.
  9. G. Griffin, A. Holub, and P. Perona. Caltech-256 object category dataset. Technical Report 7694, California Institute of Technology, 2007. URL https://authors.library.caltech.edu/records/5sv1j-ytw97.
  10. G.E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R.R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012.
  11. K. Jarrett, K. Kavukcuoglu, M. A. Ranzato, and Y. LeCun. What is the best multi-stage architecture for object recognition? In International Conference on Computer Vision, pages 2146–2153. IEEE, 2009.
  12. A. Krizhevsky. Learning multiple layers of features from tiny images. Master’s thesis, Department of Computer Science, University of Toronto, 2009.
  13. A. Krizhevsky. Convolutional deep belief networks on cifar-10. Unpublished manuscript, 2010.
  14. A. Krizhevsky and G.E. Hinton. Using very deep autoencoders for content-based image retrieval. In ESANN, 2011.
  15. Y. Le Cun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard, L.D. Jackel, et al. Handwritten digit recognition with a back-propagation network. In Advances in neural information processing systems, 1990.
  16. Y. LeCun, F.J. Huang, and L. Bottou. Learning methods for generic object recognition with invariance to pose and lighting. In Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on, volume 2, pages II–97. IEEE, 2004.
  17. Y. LeCun, K. Kavukcuoglu, and C. Farabet. Convolutional networks and applications in vision. In Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on, pages 253–256. IEEE, 2010.
  18. H. Lee, R. Grosse, R. Ranganath, and A.Y. Ng. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In Proceedings of the 26th Annual International Conference on Machine Learning, pages 609–616. ACM, 2009.
  19. T. Mensink, J. Verbeek, F. Perronnin, and G. Csurka. Metric Learning for Large Scale Image Classification: Generalizing to New Classes at Near-Zero Cost. In ECCV - European Conference on Computer Vision, Florence, Italy, October 2012.
  20. V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In Proc. 27th International Conference on Machine Learning, 2010.
  21. N. Pinto, D.D. Cox, and J.J. DiCarlo. Why is real-world visual object recognition hard? PLoS computational biology, 4(1):e27, 2008.
  22. N. Pinto, D. Doukhan, J.J. DiCarlo, and D.D. Cox. A high-throughput screening approach to discovering good forms of biologically inspired visual representation. PLoS computational biology, 5(11):e1000579, 2009.
  23. B.C. Russell, A. Torralba, K.P. Murphy, and W.T. Freeman. Labelme: a database and web-based tool for image annotation. International journal of computer vision, 77(1):157–173, 2008.
  24. J. Sánchez and F. Perronnin. High-dimensional signature compression for large-scale image classification. In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, pages 1665–1672. IEEE, 2011.
  25. P.Y. Simard, D. Steinkraus, and J.C. Platt. Best practices for convolutional neural networks applied to visual document analysis. In Proceedings of the Seventh International Conference on Document Analysis and Recognition, volume 2, pages 958–962, 2003.
  26. S.C. Turaga, J.F. Murray, V. Jain, F. Roth, M. Helmstaedter, K. Briggman,W. Denk, and H.S. Seung. Convolutional networks can learn to generate affinity graphs for image segmentation. Neural Computation, 22(2):511–538, 2010.

参考:ImageNet Classification with Deep Convolutional Neural Networksの解説スライド・動画

ImageNet Classification with Deep Convolutional Neural Networksの解説スライドです.

ImageNet Classification with Deep Convolutional Neural Networksの解説動画です.

まとめ

ImageNet Classification with Deep Convolutional Neural Networksの日本語訳を紹介しました.

世界初のディープラーニング「AlexNet」がわかりました.

AIのプログラミング言語「C++/Python言語」を学べるおすすめのWebサイトを知りたいあなたはこちらからどうぞ.

独学が難しいあなたは,AIを学べるオンラインプログラミングスクール3社で自分に合うスクールを見つけましょう.後悔はさせません!

国内・海外のAIエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

国内・海外のプロンプトエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

-TECHNOLOGY, NLP AI
-, , ,