ラリー・ペイジが話していたネコのこと

Where's Google going next?

で、GoogleのCEOであるラリー・ペイジが話していた「コンピュータがYouTubeを見て独力でネコを認識した」ということについて調べてみました。

この本には、このような手法はディープ・ラーニングと呼ばれているということが書かれていました。この本ではディープ・ラーニングのことを以下のように説明しています。

神経科学者達は大胆な仮説を立てました。それは「視覚」「聴覚」「触覚」「味覚」など、人間の様々な知覚能力に通底する基本的なメカニズムがある、というものです。これに従えば、脳は目や耳から入力された生々しい初期情報を、段階的に抽象化して、徐々に上位の概念を形成していきます。彼らは、このメカニズムを自分達なりに考えて、具体的なアルゴリズムへと転化し、これを「スパース・コーディング(Sparse Coding)」と命名しました。英語の「Sparse」は「少量の」という意味で、ここでは「大量の情報から、抽象化に必要な本質的情報だけを、少しずつ抜粋すること」を指しています。


クラウドからAIへ」より

・・・・2012年6月には、グーグルとスタンフォード大学の共同研究チームが開発したニューラル・ネットワークが、ユーチューブ上の動画から「猫」の概念を獲得した、というニュースが報じられました。ここで使われていたテクニックが「ディープ・ラーニング」です。(中略)
 いずれにせよ動画とは、カラーや明暗を表現するピクセル(画素)の集合に過ぎません。ニューラル・ネットワークは、このピクセルという最も低いレベルの情報から、猫の輪郭や毛皮の模様などを構成するエッジ(縁)情報を獲得します。次に、このエッジ情報から猫の「目」や「耳」などパーツ情報を獲得し、それらを組み上げることによって最後に「猫の顔」という最も高いレベルの概念を、ぼんやりとしたイメージとしてディスプレイ上に表示したのです。
 このように情報の抽象度を段階的に上げていって、最終的に何らかの概念を獲得するのがディープ・ラーニングの特徴です。それは前述のスパース・コーディング、つまり人間の知覚プロセスに関する仮説を基にしています。


クラウドからAIへ」より


ディープ・ラーニングについて、もっと知りたいと思い、Googleで検索したところ、このような説明資料を得ました。

ここの中からいくつか図や文章を紹介します。

Youtubeから得られた200×200の画像1000万枚に対して教師無し学習

私の理解では、例えば、ある画像をコンピュータに見せてこれはネコであるかどうかをコンピュータに判断させる時、コンピュータが出した回答(「これはネコです」あるいは「これはネコではありません」)に対して「正しい」「間違っている」を人がその都度教え、コンピュータがそれによって自分のアルゴリズムを修正していき、最終的にほとんどのネコの画像に対して「これはネコです」と答え、それ以外の画像に対して「これはネコではありません」と答えるようになっていくのが教師あり学習であり、そのように人間による「正しい」「間違っている」の判断を入力する必要がないのが教師なし学習です。教師なし学習はコンピュータが自習して学ぶのです。さらにこの資料にはディープ・ラーニングの模式図が載っていましたが、それは以下のようなものです。

  • DistBelief [J. Dean+, NIPS 13]

この図からもディープ・ラーニングがニューラルネットの一種であることが分かります。


この資料にある「学習で得られたニューロンが最も反応する画像」というタイトルがある図は

であり、「このニューロンに反応したテスト画像」というタイトルがある図は

です。これがラリー・ペイジが話していた事例でしょう。


Googleで検索して見つけた別の資料

には

12層NNを使った無教師学習

  • パラメータ数10億個!
  • 16コアPC1000台のPCクラスタ×3日間
  • YouTubeの画像1000万枚

「おばあさん細胞」の生成を確認

とあります。おばあさん細胞というのは脳の神経細胞に関する仮説のひとつで、特定の何か(たとえば自分のおばあさんの顔)を見せた時だけ反応する細胞があるという説です。この説を裏付けるような実験結果があるそうです。これについては下の本で読んだ記憶があります。


これらのことから推測すると先に挙げた「コンピュータがYouTubeを見て独力でネコを認識した」というのは、ディープラーニングのシステムでは画像の入力を繰り返していくうちにネコの画像にのみ反応する細胞(この場合はコンピュータ内で細胞を模擬したもの)が自然に出来た、ということなのでしょう。


さて、こうなるとニューラルネットに興味がわいてきます。

一般向けのDeep Learning:岡野原 大輔氏」では、ディープ・ラーニングのことを深層学習ともDNNとも呼んでいるようです。DNNというのはおそらくDeep Neural Networkのことでしょう。

DNNの信じる世界=Proncipal of Compositionality(合成の原則)

  • 複雑な現象の意味は、それを構成する部品の意味の組み合わせである

そして

  • 浅いレイヤーは単純なパーツを学習
  • 深いレイヤーはパーツを組み合わせた全体の学習

という説明があって、このような図が示されています。

この記述は、先ほどの「クラウドからAIへ」の本の記述とも合致していて、なかなか興味深いです。