TECHNOLOGY NLP AI

【日本語訳】Building High-level Features Using Large Scale Unsupervised Learning【Cat Paper(猫論文)】【スタンフォード大学,グーグル】

2023年5月26日

悩んでいる人
悩んでいる人

Building High-level Features Using Large Scale Unsupervised Learningの日本語訳を教えて!

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

本記事の信頼性

  • リアルタイムシステムの研究歴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,Verse(UEFN), 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エンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

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

Building High-level Features Using Large Scale Unsupervised Learningの日本語訳を紹介します.

スタンフォード大学のAndrew Ng教授とグーグルによるCat Paper(猫論文)がわかります.

※図表を含む論文の著作権はBuilding High-level Features Using Large Scale Unsupervised Learningの著者に帰属します.

Building High-level Features Using Large Scale Unsupervised Learningの目次は以下になります.

  • Abstract
  • 1章:Introduction
  • 2章:Training set construction
  • 3章:Algorithm
  • 4章:Experiments on Faces
  • 5章:Cat and human body detectors
  • 6章:Object recognition with ImageNet
  • 7章:Conclusion
  • References
  • 付録A:Training and test images
  • 付録B:Models
  • 付録C:Model Parallelism
  • 付録D:Further multicore parallelism
  • 付録E:Parameter sensitivity
  • 付録F:Example out-of-plane rotated face sequence
  • 付録G:Best linear lters
  • 付録H:Histograms on the entire test set
  • 付録I:Most responsive stimuli for cats and human bodies
  • 付録J:Implementation details for autoencoders and K-means

Building High-level Features Using Large Scale Unsupervised Learningを解説しつつ,私の考えも語ります.

Building High-level Features Using Large Scale Unsupervised Learningの概要と私の日本語訳は以下になります.

We consider the problem of building high-level, class-specific feature detectors from only unlabeled data.
我々は,ラベルのないデータのみから,ハイレベルでクラス固有の特徴検出器を構築する問題を考える.

For example, is it possible to learn a face detector using only unlabeled images?
例えば,ラベルのない画像だけを使って顔検出器を学習することは可能だろうか?

To answer this, we train a 9-layered locally connected sparse autoencoder with pooling and local contrast normalization on a large dataset of images (the model has 1 billion connections, the dataset has 10 million 200x200 pixel images downloaded from the Internet).
この問題に答えるため,大規模な画像データセット(モデルの接続数は10億,データセットはインターネットからダウンロードした1000万枚の200x200ピクセル画像)に対して,プーリングと局所コントラスト正規化を用いた9層の局所接続スパースオートエンコーダを訓練する.

We train this network using model parallelism and asynchronous SGD on a cluster with 1,000 machines (16,000 cores) for three days.
このネットワークを,1,000台のマシン(16,000コア)を持つクラスタで,モデル並列化と非同期SGDを用いて3日間訓練した.

Contrary to what appears to be a widely-held intuition, our experimental results reveal that it is possible to train a face detector without having to label images as containing a face or not.
広く浸透していると思われる直感に反して,我々の実験結果は,画像に顔を含むか否かのラベルを付けることなく,顔検出器を訓練することが可能であることを明らかにした.

Control experiments show that this feature detector is robust not only to translation but also to scaling and out-of-plane rotation.
対照実験では,この特徴検出器は並進だけでなく,拡大縮小や面外回転にも頑健であることが示された.

We also find that the same network is sensitive to other high-level concepts such as cat faces and human bodies.
また,同じネットワークが,猫の顔や人体など,他のハイレベルの概念にも敏感であることがわかった.

Starting with these learned features, we trained our network to obtain 15.8% accuracy in recognizing 20,000 object categories from ImageNet, a leap of 70% relative improvement over the previous state-of-the-art.
これらの学習された特徴量からスタートして,我々はネットワークを訓練し,ImageNetから20,000のオブジェクトカテゴリを認識する際に15.8%の正解率を得ることができ,これは以前の最先端手法と比較して70%の飛躍的な相対的改善であった.

https://arxiv.org/abs/1112.6209

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

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

それでは,Building High-level Features Using Large Scale Unsupervised Learningの本文を読みすすめましょう!

目次

1章:Introduction(はじめに)

この研究の焦点は,ラベルのない画像からハイレベルでクラス固有の特徴検出器を構築することである.

例えば,ラベルのない画像のみから顔検出器を構築することが可能かどうかを理解したい.

このアプローチは,人間の脳にはクラス特異性の高いニューロンが存在するという神経科学的な推測からヒントを得ていて,「おばあちゃんニューロン」と一般的に,また非公式に呼ばれている.

脳内のニューロンがどの程度クラス特異性を持つかは活発に研究されている分野であるが,現在の実験的証拠は,側頭皮の一部のニューロンが,顔や手などの物体カテゴリに高度に選択的であり(Desimone et al., 1984),おそらく特定の人物にも選択的である(Quiroga et al., 2005)可能性を示している.

現代のコンピュータビジョンの手法では,このようなクラス固有の特徴検出器を得るために,ラベル付けされたデータの役割が強調されるのが一般的である.

例えば,顔検出器を構築するためには,顔を含むとラベル付けされた画像の大規模なコレクションが必要であり,多くの場合,顔の周りにバウンディングボックスがある.

このような大規模なラベル付き画像集合の必要性は,ラベル付きデータが少ない問題では大きな課題となっている.

安価なラベルなしデータを利用するアプローチが好まれることが多いが,ハイレベルの特徴量を構築するのに有効であることは示されていない.

この研究では,ラベルのないデータのみからハイレベルの特徴量を構築することの実現可能性を調査している.

この質問に対する肯定的な回答は,2つの重要な結果を生じさせるだろう.

実用的には,ラベルのないデータから特徴を開発する安価な方法を提供する.

しかし,それ以上に重要なのは,ラベルのないデータから「おばあちゃんニューロン」の特異性を学習できるかどうかという興味深い問いに答えることができることである.

非公式に言えば,赤ちゃんが顔を1つのクラスに分類することを学習することは,少なくとも原理的には可能である.

それは,多くの人を見てきたからであり,教師や報酬に導かれているからではない.

機械学習において,ラベルのないデータから特徴を構築する方法論として,教師なし特徴学習と深層学習が登場した.

ラベルのないデータを使って特徴を学習することは,独習型学習フレームワークの重要な考え方である(Raina et al., 2007).

特徴学習アルゴリズムとその応用は,RBM(Hinton et al., 2006),オートエンコーダ(Hinton & Salakhutdinov, 2006; Bengio et al., 2007),スパースコーディング(Lee et al., 2007),K-means法(Coates et al., 2011)などの様々なアプローチで成功例が最近の文献で見られるようになる.

しかし,これらのアルゴリズムの多くは,「edge」(エッジ)や「blob」(ブロブ)検出器のようなローレベルの特徴を学習することに成功しているにすぎない.

このような単純な特徴を超えて,複雑な不変性を捉えることが,本研究のテーマである.

最近の研究では,深層学習アルゴリズムを訓練して最先端の結果を得るには,かなり時間がかかることが指摘されている(Ciresan et al., 2010).

我々は,この長い訓練時間が,文献で報告されているハイレベルの特徴の欠如の原因の一部であると推測している.

例えば,研究者は通常,実用的な時間でネットワークを訓練するために,データセットやモデルのサイズを縮小するが,この縮小はハイレベルの特徴の学習を弱体化させるものである.

この問題は,ディープネットワークの訓練に関わる中核的な要素であるデータセット,モデル,計算機資源をスケールアップすることで解決される.

まず,YouTubeの動画からランダムにフレームをサンプリングして生成した大規模なデータセットを使用する.

※これは,1つのクラスの画像でモデルを訓練させた(Lee et al., 2009)の研究とは異なるものである.

入力データは200x200の画像で,ディープラーニングや教師なし特徴学習で用いられる典型的な32x32の画像よりもはるかに大きい(Krizhevsky, 2009; Ciresan et al., 2010; Le et al., 2010; Coates et al., 2011).

我々のモデルは,プーリングと局所コントラスト正規化を備えたディープオートエンコーダであり,大規模なコンピュータクラスタを使用することで,これらの大規模な画像にスケールされる.

このクラスタでの並列化をサポートするために,局所受容野のアイデアを使用する(例:(Raina et al., 2009; Le et al., 2010; 2011b)).

この考え方は,マシン間の通信コストを削減し,モデル並列化(パラメータをマシン間で分散する)を可能にする.

データ並列化をサポートするために,非同期SGDが採用されている.

モデルは,1,000台のマシン(16,000コア)を持つクラスタで3日間,分散方式で訓練された.

分類とビジュアライゼーションを用いた実験の結果,ラベルのないデータからハイレベルの特徴を構築することが実際に可能であることが確認された.

特に,顔と不正解選択肢(distractors)からなるhold-outテストセットを用いると,顔に対して高い選択性を持つ特徴を発見することができた.

この結果は,数値最適化によるビジュアライゼーションによっても検証される.

対照実験により,学習した検出器は並進だけでなく,面外回転やスケーリングに対しても不変であることが示された.

同様の実験により,このネットワークは猫の顔や人体の概念も学習することがわかった.

また,学習された表現には識別性がある.

学習された特徴を用いることで,ImageNetを用いた物体認識において大きな飛躍を得ることができる.

例えば,22,000のカテゴリを持つImageNetでは,15.8%の正解率を達成し,最先端のデータセットと比較して70%の相対的な改善を実現した.

なお,このデータセットでは,ランダムな推測は0.005%以下の正解率を達成している.

2章:Training set construction(訓練セットの構築)

訓練データセットは,1,000万本のYouTube動画からフレームをサンプリングすることで構築されている.

重複を避けるため,各動画はデータセットに1つの画像のみを提供する.

各画像は200x200ピクセルのカラー画像である.

訓練画像のサブセットを付録Aに示す.

データセットに含まれる顔の割合を確認するため,データセットからランダムにサンプリングした60x60のパッチに対してOpenCVの顔検出器を実行した.

※訳注:原文にあるURL「ttp://opencv.willowgarage.com/wiki/」はデッドリンクです.現在はOpenCV Zoo「https://github.com/opencv/opencv_zoo」が該当します.

この実験から,OpenCVの顔検出器によって顔として検出されたパッチは,10万個のサンプリングパッチのうち3%未満であることがわかる.

3章:Algorithm(アルゴリズム)

本章では,ラベルのない訓練セットから特徴を学習するためのアルゴリズムについて説明する.

3.1節:Previous work(先行研究)

我々の研究は,教師なし特徴学習と深層学習で最近成功したアルゴリズムに触発されている(Hinton et al., 2006; Bengio et al., 2007; Ranzato et al., 2007; Lee et al., 2007).

これは,スパースコーディングに関する(Olshausen & Field, 1996)の研究に強く影響を受けている.

彼らの研究によると,スパースコーディングはラベルのない自然画像で訓練することで,V1単純細胞(Hubel & Wiesel, 1959)に似た受容野を得ることができる.

スパースコーディング(Olshausen & Field, 1996)のような初期のアプローチの欠点は,そのアーキテクチャが浅く,一般的にローレベルの概念(例えば,エッジ「Gabor」(ガボール)フィルタ)と単純な不変性を捕らえることである.

この問題への対処は,特徴表現の階層を構築する深層学習(Hinton et al., 2006; Bengio et al., 2007; Bengio & LeCun, 2007; Lee et al., 2008; 2009)の最近の研究の焦点となっている.

特に(Lee et al., 2008)は,積層スパースRBMが大脳皮質V2領域の特定の単純な機能をモデル化できることを示している.

また,顔のアラインメント画像で訓練させた畳み込みDBN(Lee et al., 2009)が顔検出器を学習できることも示している.

この結果は興味深いが,残念ながら,データセット構築時にある程度の監視が必要である.

訓練用の画像(Caltech 101の画像)は,アラインメントされ,均質で,選択された1つのカテゴリに属している.

3.2節:Architecture(アーキテクチャ)

我々のアルゴリズムはこれらのアイデアに基づき構築されており,局所受容野,プーリング,局所コントラスト正規化という3つの重要な要素を持つスパースディープオートエンコーダと見なすことができる.

まず,オートエンコーダを大きな画像に拡張するために,局所受容野として知られるシンプルなアイデアを使用する(LeCun et al., 1998; Raina et al., 2009; Lee et al., 2009; Le et al., 2010).

この生物学的に着想を得たアイデアは,オートエンコーダの各特徴が,下層の小さな領域にしか接続できないことを提案している.

次に,局所的な変形に対する不変性を実現するために,局所的なL2プーリング(Hyvarinen et al., 2009; Gregor & LeCun, 2010; Le et al., 2010)および局所コントラスト正規化(Jarrett et al., 2009)を採用している.

特にL2プーリングは,不変的な特徴の学習を可能にする(Hyvarinen et al., 2009; Le et al., 2010).

Cat Paper Figure1
図1:我々のネットワークの1つの層におけるアーキテクチャとパラメータ.ネットワーク全体では,この構造を3回複製している.簡単のため,画像は1Dである.

我々のディープオートエンコーダは,ローカルフィルタリング,ローカルプーリング,ローカルコントラスト正規化からなる同じステージを3回繰り返すことで構築されている.

あるステージの出力は次のステージの入力となり,モデル全体は9層のネットワークとして解釈することができる(図1参照).

第1サブ層と第2サブ層は,それぞれフィルタリング(または単純)およびプーリング(または複雑)としてよく知られている.

第3のサブ層は局所的な減算正規化と除算正規化を行い,生物学や計算モデルから着想を得ている(Pinto et al., 2008; Lyu & Simoncelli, 2008; Jarrett et al., 2009).

※減算正規化では,現在のニューロンから隣接ニューロンの加重平均\(g_{i,j,k} = h_{i,j,k} - \sum_{iuv} G_{uv} h_{i,j+u,i+v}\)を除去する.除算正規化では,\(y_{i,j,k} = g_{i,j,k} / \max \{ c,(\sum_{iuv} G_{uv} g_{i,j+u,i+v}^2)^{0.5} \}\)を計算し,cは数値エラーを防ぐために 0.01という小さな数字に設定される.

前述のように,我々のアプローチの中心は,ニューロン間の局所的な結合を利用することである.

実験では,第1サブ層は18x18ピクセルの受容野を持ち,第2サブ層は5x5の重なり合う特徴近傍をプールする(つまりプーリングサイズ).

第1サブ層のニューロンはすべての入力チャンネル(またはマップ)のピクセルに接続し,第2サブ層のニューロンは1つのチャンネル(またはマップ)のピクセルにのみ接続する.

※接続パターンやパラメータ感度に関する詳細は,付録BおよびEを参照されたい.

第1サブ層が線形フィルタ応答を出力するのに対し,プーリング層はその入力の二乗和の平方根を出力するため,L2プーリングと呼ばれる.

一連の均一なモジュールを積み重ね,選択層と耐性層を切り替えていくスタイルは,NeocognitionやHMAX(Fukushima & Miyake, 1982; LeCun et al., 1998; Riesenhuber & Poggio, 1999)を彷彿とさせる.

また,脳が採用するアーキテクチャであると主張されている(DiCarlo et al., 2012).

局所受容野を使用しているが,畳み込み式ではない.

つまり,画像内の異なる場所でパラメータが共有されることはない.

これは,我々のアプローチとこれまでの研究(LeCun et al., 1998; Jarrett et al., 2009; Lee et al., 2009)との明確な違いである.

より生物学的に妥当であることに加え,共有されない重みは並進不変性以外のより多くの不変性の学習を可能にする(Le et al., 2010).

規模の点では,我々のネットワークは,おそらくこれまでに知られているネットワークの中で最大級のものである.

これは,文献で報告されている他の大規模ネットワーク(例:(Ciresan et al., 2010; Sermanet & LeCun, 2011))の約1000万個のパラメータと比べると,1桁以上大きい.

しかし,ニューロンやシナプスの数で\(10^6\)倍もある人間の視覚野と比べると,我々のネットワークはまだ小さいということは注目に値する(Pakkenberg et al., 2003).

3.3節:Learning and Optimization(学習と最適化)

学習:

学習中,第2サブ層(H)のパラメータは均一な重みに固定されるが,第1サブ層の符号化重み\(W_1\)および復号化重み\(W_2\)は,以下の最適化問題を用いて調整される.

$$ \underset{W_1, W_2}{\rm minimize}\ \ \ \sum_{i=1}^m \left( || W_2 W_1^T x^{(i)} - x^{(i)} ||_2^2 + \lambda \sum_{j=1}^k \sqrt{\epsilon + H_j (W_1^T x^{(i)})^2 } \right) $$

ここで,\(\lambda\)は疎密と再構成のトレードオフパラメータである.

m,kはそれぞれ1つの層の例とプーリングユニットの数である.

\(H_j\)はj番目のプーリングユニットの重みのベクトルである.

実験では,\(\lambda = 0.1\)とした.

この最適化問題は,再構成トポグラフィな独立成分分析(ICA:Independent Component Analysis)(Hyvarinen et al., 2009; Le et al., 2011a)としても知られている.

※(Bengio et al., 2007; Le et al., 2011a)では,符号化重みと復号化重みが同値である(\(W_1 = W_2\)).しかし,より良い並列化とより良い機能のために,我々の実装では同値の重みを強制しない.

目的関数の第1項は,表現がデータに関する重要な情報を包含していること,すなわち入力データを再構成できることを保証するものである.

一方,第2項は,類似した特徴をグループ化して不変性を達成するために,特徴をプールすることを推奨している.

最適化:

このモデルのすべてのパラメータは,3つの層の目的の合計を目的関数として,共同で訓練された.

モデルを訓練するために,ローカル重み\(W_1\),\(W_2\),Hを異なるマシンに分散させることで,モデルの並列化を実現した.

モデルの単一のインスタンスは,ニューロンと重みを169台のマシン(各マシンは16個のCPUコアを持つ)に分割する.

モデルの1つのコピーを集合的に構成するマシンのセットは,「model replica」(モデルレプリカ)と呼ばれる.

我々は,モデルレプリカ内の異なるマシン間の必要な通信をすべて管理するDistBeliefというソフトウェアフレームワークを構築しました.

このフレームワークのユーザは,モデル内のニューロンに対して必要な上方および下方への計算関数を記述するだけでよく,マシン間のローレベルのデータ通信に対処する必要はない.

さらに,コアモデルの複数のレプリカを使用して非同期SGDを実装することで,訓練の規模を拡大した.

ここで説明する実験では,訓練を5つの部分に分け,これらの部分のそれぞれでモデルのコピーを実行した.

モデルは,集中管理された「パラメータサーバ」のセットを介して更新を伝達する.

このサーバは,モデルのすべてのパラメータの現在の状態を,パーティション化されたサーバのセットに保持する(本論文で説明するモデルの訓練には,256のパラメーターサーバパーティションを使用した).

最も単純な実装では,各ミニバッチを処理する前に,モデルレプリカは中央のパラメータサーバにモデルパラメータの更新を依頼する.

その後,ミニバッチを処理してパラメータ勾配を計算し,パラメータ勾配を適切なパラメータサーバに送信する.

パラメータサーバは各勾配をモデルパラメータの現在値に適用する.

各モデルレプリカがPステップごとに更新されたパラメータを要求し,Gステップごとに更新された勾配値をパラメータサーバに送信することにより,通信オーバーヘッドを削減することができる(ここでGはPと等しくない場合がある).

DistBeliefのソフトウェアフレームワークは,モデルパーティションとパラメータサーバ間のパラメータと勾配の転送を自動的に管理し,レイヤ関数の実装者がこれらの問題に対処する必要がないようにする.

非同期SGDは,標準的な(同期)SGDに比べて,障害や遅さに対してより堅牢である.

具体的には,同期SGDの場合,マシンの1台が低速になると,訓練プロセス全体が遅延する.

一方,非同期SGDでは,1台のマシンが遅い場合,SGDの1つのコピーだけが遅れ,残りの最適化は継続される.

我々の訓練では,SGDの各ステップで,100例のミニバッチで勾配が計算される.

1,000台のマシンを持つクラスタで,3日間にわたりネットワークを訓練した.

最適化の実装に関する詳細については,付録B,C,Dを参照されたい.

4章:Experiments on Faces(顔に関する実験)

本章では,顔を認識する際に学習した表現(以下,顔検出器)の解析について述べ,顔検出器の不変性特性を理解するための対照実験を紹介する.

他の概念についての結果は次章で示す.

4.1節:Test set(テストセット)

テストセットは,2つのデータセットからサンプリングされた37,000枚の画像で構成されている.

Labeled Faces In the Wild dataset(Huang et al., 2007)とImageNet dataset(Deng et al., 2009)である.

non-aligned Labeled Faces in The Wildからサンプリングされた13,026個の顔がある.

残りはImageNetからランダムに抽出された不正解選択肢のオブジェクトである.

これらの画像は,トップニューロンの可視領域に合うようにリサイズされている.

いくつかの画像例を付録Aに示す.

4.2節:Experimental protocols(実験プロトコル)

訓練後,このテストセットを使って,各ニューロンが不正解選択肢に対して顔を分類する際の性能を測定した.

各ニューロンについて,活性化の最大値と最小値を求め,その間に等間隔で20個の閾値を設定した.

報告された正解率は,20の閾値の中で最も良い分類正解率である.

4.3節:Recognition(認識)

驚いたことに,訓練中に監視信号が与えられなかったにもかかわらず,ネットワークの中で最も優れたニューロンは,顔の認識において非常に優れた性能を発揮した.

このネットワークで最も優れたニューロンは,顔の検出で81.7%の正解率を達成した.

テストセットには13,026の顔があるので,すべて否定的に推測しても64.8%にしかならない.

1層のネットワークで最も優れたニューロンは71%の正解率を達成し,訓練セットからランダムにサンプリングされた10万個のフィルタの中から選ばれた最も優れた線形フィルタは74%の正解率を達成した.

その貢献を理解するために,局所コントラスト正規化サブ層を削除し,ネットワークを再訓練した.

その結果,最良のニューロンの正解率は78.5%に低下した.

これは,局所コントラスト正規化の重要性を示す先行研究(Jarrett et al., 2009)と一致する.

Cat Paper Figure2
図2:顔あり(赤)vs. 顔なし(青)のヒストグラム.テストセットは,顔と顔なしの比率が1になるようにサブサンプリングされている.

図2に,顔画像とランダム画像に対する活性化値のヒストグラムをビジュアライゼーションする.

このように,ラベルのないデータのみでも,ニューロンは顔とランダムな不正解選択肢の画像を区別することを学習していることがわかる.

具体的には,入力画像として顔を与えた場合,ニューロンは閾値0より大きな値を出力する傾向がある.

一方,ランダムな画像を入力画像として与えた場合,ニューロンは0より小さい値を出力する傾向がある.

4.4節:Visualization(ビジュアライゼーション)

ここでは,ニューロンの最適刺激が本当に顔であるかどうかを検証するために,2つのビジュアライゼーション手法を紹介する.

第1の方法は,テストセットで最も反応の良い刺激をビジュアライゼーションする方法である.

テストセットは大きいので,この方法はテストされたニューロンの最適刺激に近いものを確実に検出することができる.

第2の方法は,最適な刺激を見つけるために数値最適化を行うことである(Berkes & Wiskott, 2005; Erhan et al., 2009; Le et al., 2010).

具体的には,被検査ニューロンの出力fを最大化するノルムバウンド入力xを,解くことで見つける.

$$ x^* = {\rm arg} \underset{x}{\min} f(x; W, H), {\rm subject\ to\ } ||x||_2 = 1 $$

ここで,f(x;W,H)は,学習したパラメータW,Hと入力xが与えられた被検査ニューロンの出力である.

実験では,この制約最適化問題は,線形探索を用いた投影勾配降下によって解かれる.

Cat Paper Figure3
図3:(上)テストセットからの最良のニューロンの上位48刺激.(下)数値制約最適化による最適刺激.

4.5節:Invariance properties(不変性特性)

Cat Paper Figure4
図4:最良の特徴のスケール(左)と面外(3D)回転(右)の不変性特性.

Cat Paper Figure5
図5:最良の特徴の並進不変性特性.x軸はピクセル単位.

我々は,一般的なオブジェクトの変形,例えば,並進,スケーリング,面外回転に対する顔検出器の頑健性を評価したい.

まず,10枚の顔画像を選び,拡大縮小や平行移動などの歪みを与える.

面外回転については,3次元的に回転する顔の画像10枚をテストセットとして使用した("out-of-plane").

ニューロンの頑健性を確認するために,スケール,3D回転(図4),平行移動(図5)の変化に対して,小さなテストセットで平均化された応答をプロットした.

※拡大縮小された平行移動した顔は,標準的な三次補間によって生成される.3D回転顔については,The Sheffield Face Databaseから回転顔の10シーケンスを使用した.サンプルシーケンスについては,付録Fを参照されたい.

その結果,面外回転やスケーリングなどの複雑で配線が困難な不変性に対して,このニューロンが頑健であることがわかった.

顔なしのデータセットで対照実験:

上記で報告したように,最良のニューロンは,ランダムな不正解選択肢に対して顔を分類する際に81.7%の正解率を達成した.

もし,訓練セットから顔が写っている画像をすべて削除したらどうなるでしょうか?

OpenCVで顔検出器を実行し,少なくとも1つの顔を含む訓練画像を削除することで対照実験を行った.

最良のニューロンの認識正確率は72.5%に低下し,これは4.3節で報告した単純な線形フィルタと同程度の低さである.

5章:Cat and human body detectors(猫と人体の検知器)

顔に反応するニューロンを実現したことで,他のハイレベルな概念も検出できるようになったかどうかを理解したい.

例えば,YouTubeでは猫や体の部位がよく登場する.

このような概念もネットワークが学習したのか?

この問いに答え,これらの概念に関するネットワークの選択性を定量化するために,ランダムな背景に対して人体を分類するデータセットと,他のランダムな不正解選択肢に対して猫の顔を分類するデータセットの2つを作成した.

解釈を容易にするために,これらのデータセットは顔データセットと同じポジティブとネガティブの比率(positive-to-negative ratio)を持つ.

猫の顔画像は,(Zhang et al., 2008)に記載されているデータセットから収集されたものである.

このデータセットでは,10,000枚のポジティブ画像と18,409枚のネガティブ画像が存在する(ポジティブとネガティブの比率が顔の場合と同様になるように).

ネガティブ画像はImageNetデータセットからランダムに選ばれる.

人体データセットのネガティブ例とポジティブ例は,ベンチマークデータセット(Keller et al., 2009)からランダムにサブサンプリングしたものである.

オリジナルのデータセットでは,各例はステレオの白黒画像のペアである.

しかし,簡略化のため,左の画像のみを残す.

人間の顔の場合と同様に,合計で13,026のポジティブな例と23,974のネガティブな例を持っている.

Cat Paper Figure6
図6:猫の顔ニューロン(左)と人体ニューロン(右)のビジュアライゼーション.

その後,前回と同じ実験プロトコルに従った.

その結果,図6に示すように,ネットワークが顔の概念だけでなく,猫の顔や人体の概念も学習していることが確認された.

我々のハイレベル検出器は,認識率の面でも標準的なベースラインを上回り,猫と人体でそれぞれ74.8%と76.7%を達成した.

これに対して,(訓練セットから抽出された)最良の線形フィルタは,それぞれ67.2%と68.1%しか達成できない.

Cat Paper Table1
表1:我々のアルゴリズムと他のベースラインとの数値比較のまとめ.(上)我々のアルゴリズムと単純なベースラインとの比較.ここで,最初の3列は,訓練を必要としない方法の結果である:ランダムな推測,ランダムな重み(訓練なしの初期化時のネットワークの),および訓練セットからサンプリングした10万例から選択した最良の線形フィルタ.最後の3列は,訓練を必要とする手法の結果である:第1層の最良のニューロン,訓練後の最上位層の最良のニューロン,コントラスト正規化層を除去したときのネットワークの最良のニューロン.(下)我々のアルゴリズムとオートエンコーダおよびK-means法の比較.

表1では,線形フィルタやランダム推測などの他のベースラインと最良ニューロンを比較した,これまでのすべての数値結果をまとめている.

訓練の効果を理解するために,同じネットワークでランダムに初期化した場合の最適なニューロンの性能も測定している.

また,深層オートエンコーダ(Hinton & Salakhutdinov, 2006; Bengio et al., 2007)やK-means法(Coates et al., 2011)など,他のいくつかのアルゴリズムと本手法を比較した.

これらのベースラインの結果は,表1の一番下に報告されている.

6章:Object recognition with ImageNet(ImageNetを用いた物体認識)

我々は,特徴学習法をImageNetデータセット(Deng et al., 2009)のオブジェクトを認識するタスクに適用した.

本論文で紹介した手法でYouTubeとImageNetの画像から既に特徴を学習したネットワークからスタートした.

そして,このネットワークの最上位層の上に,1対全ロジスティック分類器を追加した.

このように教師なし学習でネットワークを初期化する方法は,「教師なし事前訓練」とも呼ばれる.

ラベル付きImageNet画像を用いた教師あり学習では,下位層とロジスティック分類器のパラメータを共に調整した.

これは,まずロジスティック分類器を調整し,その後ネットワーク全体を調整することで行われた(「ファインチューニング」とも呼ばれる).

対照実験として,すべてのランダムな重みで始まるネットワークも訓練した(すなわち,教師なし事前訓練なし:すべてのパラメータをランダムに初期化し,ImageNetラベル付きデータによってのみ調整する).

Cat Paper Table2
表2:ImageNetにおける本手法と他の最先端ベースラインの分類正解率のまとめ.

(Deng et al., 2010; Sanchez & Perronnin, 2011)の実験プロトコルに従い,データセットをランダムに2つに分割し,訓練と検証を行った.

表2には,検証セットでの性能と,最新技術のベースラインとの比較を報告する.

なお,分割の仕方は従来と同じではないが,検証セットの性能は分割の違いにより若干異なる.

その結果,ゼロから(つまり生の画素から)スタートした本手法は,多くの最先端の手作業による特徴量を凌駕することが示された.

10Kのカテゴリを持つImageNetにおいて,我々の方法は,以前に発表された最良の結果に対して15%の相対的な改善をもたらした.

22Kのカテゴリを持つImageNetでは,我々が知っている他の最高の結果((Weston et al., 2011)の著者が知っている未発表の結果を含む)に対して70%の相対的な改善を達成した.

なお,このデータセットでは,ランダムな推測は0.005%以下の正解率を達成している.

7章:Conclusion(結論)

本研究では,ラベルのないデータを用いてハイレベルのクラス特異的なニューロンをシミュレーションした.

これは,ラベルなしデータから不変性を学習するために最近開発されたアルゴリズムのアイデアを組み合わせることによって実現した.

我々の実装は,モデル並列化と非同期SGDにより,数千台のマシンを持つクラスタにスケールする.

我々の研究は,全くラベルのないデータを用いて,ハイレベルの概念に選択的に反応するニューロンを訓練することが可能であることを示す.

実験では,YouTube動画のランダムフレームで訓練することで,顔,人体,猫の顔の検出器として機能するニューロンを獲得した.

これらのニューロンは,面外不変性やスケール不変性などの複雑な不変性を自然に捕らえる.

また,学習された表現は,識別的なタスクにも有効である.

これらの表現からスタートして,20,000のカテゴリを持つImageNet上の物体認識において,15.8%の正解率を得ており,最先端の技術に対して70%の相対的な改善という大きな飛躍を遂げている.

References(参考文献)

  1. (Bengio & LeCun, 2007) Bengio, Y. and LeCun, Y. Scaling learning algorithms towards AI. In Large-Scale Kernel Machines, 2007.
  2. (Bengio et al., 2007) Bengio, Y., Lamblin, P., Popovici, D., and Larochelle, H. Greedy layerwise training of deep networks. In NIPS, 2007.
  3. (Berkes & Wiskott, 2005) Berkes, P. and Wiskott, L. Slow feature analysis yields a rich repertoire of complex cell properties. Journal of Vision, 2005.
  4. (Ciresan et al., 2010) Ciresan, D. C., Meier, U., Gambardella, L. M., and Schmidhuber, J. Deep big simple neural nets excel on handwritten digit recognition. CoRR, 2010.
  5. (Coates et al., 2011) Coates, A., Lee, H., and Ng, A. Y. An analysis of singlelayer networks in unsupervised feature learning. In AIS- TATS 14, 2011.
  6. (Deng et al., 2009) Deng, J., Dong, W., Socher, R., Li, L.-J., Li, K., and Fei- Fei, L. ImageNet: A Large-Scale Hierarchical Image Database. In CVPR, 2009.
  7. (Deng et al., 2010) Deng, J., Berg, A., Li, K., and Fei-Fei, L. What does classifying more than 10,000 image categories tell us? In ECCV, 2010.
  8. (Desimone et al., 1984) Desimone, R., Albright, T., Gross, C., and Bruce, C. Stimulus-selective properties of inferior temporal neurons in the macaque. The Journal of Neuroscience, 1984.
  9. (DiCarlo et al., 2012) DiCarlo, J. J., Zoccolan, D., and Rust, N. C. How does the brain solve visual object recognition? Neuron, 2012.
  10. (Erhan et al., 2009) Erhan, D., Bengio, Y., Courville, A., and Vincent, P. Visualizing higher-layer features of deep networks. Technical report, University of Montreal, 2009.
  11. (Fukushima & Miyake, 1982) Fukushima, K. and Miyake, S. Neocognitron: A new algorithm for pattern recognition tolerant of deformations and shifts in position. Pattern Recognition, 1982.
  12. (Gregor & LeCun, 2010) Gregor, K. and LeCun, Y. Emergence of complex-like cells in a temporal product network with local receptive fields. arXiv:1006.0448, 2010.
  13. (Hinton & Salakhutdinov, 2006) Hinton, G. E. and Salakhutdinov, R.R. Reducing the dimensionality of data with neural networks. Science, 2006.
  14. (Hinton et al., 2006) Hinton, G. E., Osindero, S., and Teh, Y. W. A fast learning algorithm for deep belief nets. Neural Computation, 2006.
  15. (Huang et al., 2007) Huang, G. B., Ramesh, M., Berg, T., and Learned-Miller, E. Labeled faces in the wild: A database for studying face recognition in unconstrained environments. Technical Report 07-49, University of Massachusetts, Amherst, October 2007.
  16. (Hubel & Wiesel, 1959) Hubel, D. H. and Wiesel, T.N. Receptive fields of single neurons in the the cat's visual cortex. Journal of Physiology, 1959.
  17. (Hyvarinen et al., 2009) Hyvarinen, A., Hurri, J., and Hoyer, P. O. Natural Image Statistics. Springer, 2009.
  18. (Jarrett et al., 2009) Jarrett, K., Kavukcuoglu, K., Ranzato, M.A., and LeCun, Y. What is the best multi-stage architecture for object recognition? In ICCV, 2009.
  19. (Keller et al., 2009) Keller, C., Enzweiler, M., and Gavrila, D. M. A new benchmark for stereo-based pedestrian detection. In Proc. of the IEEE Intelligent Vehicles Symposium, 2009.
  20. (Krizhevsky, 2009) Krizhevsky, A. Learning multiple layers of features from tiny images. Technical report, University of Toronto, 2009.
  21. (Le et al., 2010) Le, Q. V., Ngiam, J., Chen, Z., Chia, D., Koh, P. W., and Ng, A. Y. Tiled convolutional neural networks. In NIPS, 2010.
  22. (Le et al., 2011a) Le, Q. V., Karpenko, A., Ngiam, J., and Ng, A. Y. ICA with Reconstruction Cost for Efficient Overcomplete Feature Learning. In NIPS, 2011a.
  23. (Le et al., 2011b) Le, Q.V., Ngiam, J., Coates, A., Lahiri, A., Prochnow, B., and Ng, A.Y. On optimization methods for deep learning. In ICML, 2011b.
  24. (LeCun et al., 1998) LeCun, Y., Bottou, L., Bengio, Y., and Haffner, P. Gradient based learning applied to document recognition. Proceeding of the IEEE, 1998.
  25. (Lee et al., 2007) Lee, H., Battle, A., Raina, R., and Ng, Andrew Y. Efficient sparse coding algorithms. In NIPS, 2007.
  26. (Lee et al., 2008) Lee, H., Ekanadham, C., and Ng, A. Y. Sparse deep belief net model for visual area V2. In NIPS, 2008.
  27. (Lee et al., 2009) Lee, H., Grosse, R., Ranganath, R., and Ng, A.Y. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In ICML, 2009.
  28. (Lyu & Simoncelli, 2008) Lyu, S. and Simoncelli, E. P. Nonlinear image representation using divisive normalization. In CVPR, 2008.
  29. (Olshausen & Field, 1996) Olshausen, B. and Field, D. Emergence of simple-cell receptive field properties by learning a sparse code for natural images. Nature, 1996.
  30. (Pakkenberg et al., 2003) Pakkenberg, B., P., D., Marner, L., Bundgaard, M. J., Gundersen, H. J. G., Nyengaard, J. R., and Regeur, L. Aging and the human neocortex. Experimental Geron- tology, 2003.
  31. (Pinto et al., 2008) Pinto, N., Cox, D. D., and DiCarlo, J. J. Why is real-world visual object recognition hard? PLoS Computational Biology, 2008.
  32. (Quiroga et al., 2005) Quiroga, R. Q., Reddy, L., Kreiman, G., Koch, C., and Fried, I. Invariant visual representation by single neurons in the human brain. Nature, 2005.
  33. (Raina et al., 2007) Raina, R., Battle, A., Lee, H., Packer, B., and Ng, A.Y. Self-taught learning: Transfer learning from unlabelled data. In ICML, 2007.
  34. (Raina et al., 2009) Raina, R., Madhavan, A., and Ng, A. Y. Large-scale deep unsupervised learning using graphics processors. In ICML, 2009.
  35. (Ranzato et al., 2007) Ranzato, M., Huang, F. J, Boureau, Y., and LeCun, Y. Unsupervised learning of invariant feature hierarchies with applications to object recognition. In CVPR, 2007.
  36. (Riesenhuber & Poggio, 1999) Riesenhuber, M. and Poggio, T. Hierarchical models of object recognition in cortex. Nature Neuroscience, 1999.
  37. (Sanchez & Perronnin, 2011) Sanchez, J. and Perronnin, F. High-dimensional signature compression for large-scale image-classification. In CVPR, 2011.
  38. (Sermanet & LeCun, 2011) Sermanet, P. and LeCun, Y. Traffic sign recognition with multiscale convolutional neural networks. In IJCNN, 2011.
  39. (Weston et al., 2011) Weston, J., Bengio, S., and Usunier, N. Wsabie: Scaling up to large vocabulary image annotation. In IJCAI, 2011.
  40. (Zhang et al., 2008) Zhang, W., Sun, J., and Tang, X. Cat head detection - how to effectively exploit shape and texture features. In ECCV, 2008.

付録A:Training and test images(訓練画像とテスト画像)

Cat Paper Figure7
図7:ランダムに選択された30枚の訓練画像(ホワイトニングステップ前に表示される).

Cat Paper Figure8
図8:テストセット画像の例(ホワイトニングステップ前の画像).

図7に訓練画像のサブセットを示す.

このように,データセットに含まれる顔の位置,スケール,向きは多様であることがわかる.

図8は,顔ニューロンを識別するためのテスト画像のサブセットである.

付録B:Models(モデル)

本論文のアプローチの中心は,局所的に接続されたネットワークを使用することである.

このネットワークでは,ニューロンは下の層の局所的な領域にしか接続しない.

Cat Paper Figure9
図9:より詳細な接続性パターンを持つ我々が使用したネットワークの図.色の矢印は,重みが1つのマップにしか接続しないことを意味する.暗い矢印は,重みがすべてのマップに接続することを意味する.プーリングニューロンは1つのマップにしか接続しないが,シンプルニューロンとLCNニューロンはすべてのマップに接続する.

図9では,論文で説明したニューラルネットワークアーキテクチャの接続パターンを示している.

実際の実験の画像は2Dであるが,簡単のため,ビジュアライゼーションにおける画像は1Dである.

付録C:Model Parallelism(モデルの並列化)

Cat Paper Figure10
図10:ネットワークアーキテクチャを使用したモデル並列化.ここでは,画像の局所性に応じて重みが分割され,異なるマシンに格納されていることがわかる.具体的には,画像の左側に接続する重みはマシン1(「パーティション1」)に格納される.画像の中央部に接続する重みは,マシン2(「パーティション2」)に格納される.画像の右側に接続する重みは,マシン3(「パーティション3」)に格納される.

モデル並列化を利用して,パラメータの保存と勾配計算を異なるマシンに分散させる.

図10では,重みがどのように分割され,異なる「パーティション」,より単純には「マシン」に格納されるかを示している((Krizhevsky, 2009)も参照されたい).

付録D:Further multicore parallelism(さらなるマルチコア並列化)

我々のクラスタのマシンは,さらなる並列化を可能にする多くのコアを備えている.

そこで,これらのコアを分割し,異なるタスクを実行するようにした.

我々の実装では,コアはデータの読み込み,データの送信(または書き込み),算術計算の3つのグループに分けられている.

各時刻のインスタンスで,これらのグループは並列に動作し,データの読み込み,数値計算,ネットワークへの送信,ディスクへのデータの書き込みを行う.

付録E:Parameter sensitivity(パラメータ感度)

ネットワークのハイパーパラメータは,計算上の制約に適合し,本アルゴリズムの訓練時間を最適化するように選択される.

これらのパラメータは,より長い訓練時間やより多くの計算資源を犠牲にして変更することができる.

例えば,受容野のサイズを大きくすることは,より多くのメモリ,より多くの計算,およびマシンあたりのネットワーク帯域幅を使用することを犠牲にして可能であり,マップの数を増やすことは,より多くのマシンとメモリを使用することを犠牲にして可能である.

Cat Paper Figure11
図11:(左)受容野の大きさがテストセットの正解率に及ぼす影響.(右)テストセットの正解率に及ぼすマップ数の影響.

これらのハイパーパラメータもまた,特徴量の性能に影響を与える可能性がある.

我々は,受容野のサイズとマップの数という2つのハイパーパラメータの効果を理解するために,対照実験を行った.

これらのパラメータをそれぞれ変化させ,テストセットの正解率を観察することで,顔認識タスクの性能にどの程度影響を与えるかを理解することができる.

図11に示す結果から,これらの制御パラメータの変化に対して,結果がわずかに影響を受ける程度であることが確認された.

付録F:Example out-of-plane rotated face sequence(面外回転の顔シーケンスの例)

Cat Paper Figure12
図12:一人の人間の顔を3D(面外)回転させたシーケンス.データセットは10個のシーケンスで構成されている.

図12に,3次元(面外)回転した顔のシーケンスの例を示す.

なお,顔は白黒であるが,テストではカラー画像として扱われている.

詳細はThe Sheffield Face Database datasetのウェブページを参照されたい.

付録G:Best linear filters(最良の線形フィルタ)

論文では,「最良の線形フィルタ」と我々の機能を比較する対照実験を行った.

このベースラインは次のように動作する.

まず,訓練セットから10万個のランダムなパッチ(またはフィルタ)をサンプリングする(各パッチはテストセット画像の大きさを持つ).

そして,各パッチについて,それ自身とテストセット画像との間のコサイン距離を計算する.

このコサイン距離は特徴量として扱われる.

これらの特徴量を用いて,20個の閾値の中から,パッチの顔分類の正解率が最も高いものを探す.

各パッチはテストセットに対して1つの正解を与える.

報告された正解率は,訓練セットからランダムに選択された10万パッチの中で最も良い正解率である.

付録H:Histograms on the entire test set(テストセット全体におけるヒストグラム)

ここでは,テストセット全体に対するニューロンの詳細なヒストグラムも示す.

ポジティブ画像とネガティブ画像でヒストグラムが特徴的であることは,ネットワークが概念検出器を学習したことを示唆している.

※訳注:原文では図13~15を参照していませんが,以下に記載します.

Cat Paper Figure13
図13:テストセットで最良の顔ニューロンに対するニューロンの活性化値のヒストグラム.(赤)顔画像のヒストグラム.(青)ランダムな不正解選択肢のヒストグラム.

Cat Paper Figure14
図14:テストセットにおける最良の人体ニューロンのヒストグラム.(赤)人体画像のヒストグラム.(青)ランダムな不正解選択肢のヒストグラム.

Cat Paper Figure15
図15:テストセットにおける最良の猫ニューロンのヒストグラム.(赤)猫画像のヒストグラム.(青)ランダムな不正解選択肢のヒストグラム.

付録I:Most responsive stimuli for cats and human bodies(猫と人体が最も反応しやすい刺激)

Cat Paper Figure16
図16:(上)猫ニューロンのテストセットで最も反応の良い刺激.(下)人体ニューロンのテストセットで最も反応した人体刺激.

図16では,テストセットにおいて,猫と人体ニューロンで最も反応の良い刺激を示している.

なお,人体ニューロンでは,テストセットの画像が白黒であるため,上位の刺激は白黒の画像である(Keller et al., 2009).

付録J:Implementation details for autoencoders and K-means(オートエンコーダとK-means法の実装詳細)

我々の実装では,ディープオートエンコーダも局所的に接続され,シグモイド活性化関数を使用している.

K-means法については,計算コストを下げるために,画像を40x40にダウンサンプリングしている.

また,オートエンコーダやK-means法のパラメータを変化させ,リソースの制約の中で最大限の性能を発揮するように選択した.

実験では,K-means法に30,000個のセントロイドを使用した.

これらのモデルも,論文で説明されているのと同様の方法で並列化を採用した.

また,1,000台のマシンを3日間使用した.

参考:Building High-level Features Using Large Scale Unsupervised Learningの解説スライド

Building High-level Features Using Large Scale Unsupervised Learningの解説スライドです.

まとめ

Building High-level Features Using Large Scale Unsupervised Learningの日本語訳を紹介しました.

スタンフォード大学のAndrew Ng教授とグーグルによるCat Paper(猫論文)がわかりました.

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

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

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

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

-TECHNOLOGY, NLP AI
-, ,