GTC2015

Googleのディーン上級フェローがディープラーニング(深層学習)について講演

2015年に入って、人間のエラーレートを上回る成果も

2015年3月16日~20日開催

San Jose McEnery Convention Center

Google 上級フェロー ジェフ・ディーン氏

 Googleは今やIT業界のビックプレイヤーとして、検索だけでなく、モバイル向けのOSとなるAndroidなど多数のソリューションを提供する企業となっている。そのGoogleは、さまざまな研究を行っているが、最近ではディープラーニング(深層学習)の研究でも多数の成果を発表している。そのGoogleの上級フェロー ジェフ・ディーン氏は、NVIDIAが3月16日~20日の予定で米国カリフォルニア州サンノゼで開催中のGTC 2015の基調講演に登壇し、Googleのディープラーニングへの取り組みなどに関しての説明を行った。

 この中でディーン氏は、詰めかけた開発者に向けて、現在のディープラーニングの現状を説明し、それを音声認識、画像認識、翻訳などさまざまな用途に応用が可能であることを説明した。

急速に注目度が高まっているディープラーニング、GPUとの高い親和性

 Google 上級フェロー ジェフ・ディーン氏は、Googleを代表するコンピュータ科学者の一人で、過去にもさまざまな基礎研究を行ってきたことで知られている。近年で最も有名な研究としてはGoogle Brainと呼ばれるディープラーニングのプロジェクトが知られており、ディープラーニングの世界では第一人者だ。

 ディーン氏の講演はそもそもディープラーニングとは何かという説明から始まった。多くの読者にとっても、ディープラーニングという言葉、聞いたことはあるかもしれないが、具体的にどんなことかといわれると戸惑う方が少なくないのではないだろうか。ディープラーニングとは一言でいってしまえばコンピュータで人間の脳の仕組みを再現するような仕組みだと考えれば分かりやすい。例えば、以下のスライドを見て、人間の脳は文字が並んでいるのを認識し、さらに左下に猫の写真のがあることを瞬時に認識できる。

ディープラーニングとは画像を複数の要素に分解し、それぞれ複合的な要素を人間の脳のようなニューラルネットワークという仕組みで解析を進めて行くこと

 しかし、コンピュータがこのスライドを認識する場合には、まずカメラにより撮影された画像を、複数の要素(例えば、文字、画像、数字など……)に分解し、それぞれをCPUやGPUの演算性能を利用して演算していくことで解析していく。その時にCPUやGPUは複数の要素を同時に瞬時に解析していくため、複数の要素を脳と同じような形で演算していくニューラルネットワークという手法を利用して複合的に解析を進めていく。

 このニューラルネットワークは、非常に深く構築されていくことになるので、ディープニューラルネットワークと呼ばれ、そうしたディープニューラルネットワークにより構築されていく一種の人工知能を作りあげていくことをディープラーニングと総称している。

 ディーン氏はどのようにディープラーニングが構築されているかを説明し、「ある画像を見て、それを猫だと認識するのは人間の脳なら0.1秒ですんでしまう。しかし、コンピュータが行う場合には大きな10層のニューラルネットワークで演算することになり、そのCPUやGPUにかかる負荷は非常に高い」と述べ、ディープラーニングはコンピュータに対して大きな処理がかかるものだと強調した。特に行列-ベクトルや、行列-行列の演算が非常に多く、GPUのように行列やベクトル演算が得意な演算器を備えている半導体での処理に向いていると述べた。

 GTC2015でNVIDIAが強調したいのは正にこの点で、現在ディープラーニングの研究の現場ではGPUが演算に採用されるようになっており、初日の基調講演の記事でも紹介したように、NVIDIAはディープラーニング向けのソフトウェア開発キットとなるDIGITS、さらにはそのDIGITSを実行する環境となるDIGITS DevBoxの提供開始をアナウンスするなどの発表を行っている。

人間の脳に該当するように複数のレイヤーでそれぞれ演算を行っていく、複合的な演算により画像を判別する
ニューラルネットワークの概念。人間の脳の仕組みのように複数の要素をそれぞれが影響し合う形で演算していく
演算は行列-ベクトル、行列-行列演算などを多用するため、GPUのように複数の演算を並列して大量に処理できる半導体に向いた処理となっている
人間の脳は0.1秒で判別できることを、ニューラルネットワークでは10回も演算をして答えを出す。それを超高速に行う必要があるため、高い処理能力を持つGPUやCPUが必要になる

画像認識や人工知能、音声認識、翻訳などさまざまな応用例が考えられるディープラーニング

 今回ディーン氏の講演ではそうしたディープラーニングの応用例も紹介された。例えば、画像認識はその最たるアプリケーションだ。

 例えば、Googleは以前より画像認識機能を、同社の検索サイト内で提供している。しかし、その画像認識は、以前はユーザーなりGoogle側のエンジニアが手作業で行ってきた。というのも、ディープラーニング機能がなかった時代には、それをコンピュータがやっても精度が低くて使い物にならなかったからだ。しかし、同社の画像検索やYouTubeの動画検索には、そうした従来からの手法に加えて、ディープラーニングの機能が一部使われるようになっている。それにより、コンピュータが自律的に学習していくので、そうした認識の精度が以前に比べて飛躍的に高まっているのだ。実際、Googleは数ある画像の中から1匹の猫を判別する成果(http://googleblog.blogspot.jp/2012/06/using-large-scale-brain-simulations-for.html)を公開して、話題を呼んだが、そうした機能もディープラーニングの成果を活用しているのだ。

Googleの動画から目的の猫を探す成果。従来であれば猛烈な時間がかかっていた作業が、ディープラーニングの成果により短い時間で行えるようになった

 ディーン氏によれば「トレーニングの精度も年々上がっている。2011年の段階ではTop5のエラーレートが最も優れた研究でも25.7%だったのに対して、人間のエラーレートは5.1%と勝負になっていなかった。しかし、すでにGoogleの研究では4.8%になっている」と述べ、ディープラーニングは研究の進展により徐々に進化しているという。

ディープラーニングの成果によるエラーレート低下の履歴。ここ数年で急速に低下していることが分かる。2015年に入って人間を上回るようになっている

 ディーン氏はそうしたディープラーニングにより学習したコンピュータが、かつてのコンピュータゲーム(インベーダーやポンなど)をプレイする様子を公開し、すでに人間がプレイするよりも上手にできる様子を公開した。実際、ディープラーニングのトレーニングをする前にインベーダーゲームをプレイさせると、すぐにゲームオーバーになってしまっていたのに対して、学習後には盾をうまく使いながらインベーダーを倒し、ときおり現れるUFOもちゃんと撃ち落とすという様子を公開した。

ディープラーニングの機能を利用してTVゲームを人工知能が行ってみた例
学習前はあっという間にゲームオーバーになってしまったが…
学習後はこのように上級者のようなゲームプレイができるようになった

 こうしたディープラーニングは、今後は自動車へさまざまな形での応用が考えられる。最も代表的なものはADAS(先進安全運転システム)で、ADASでは物体を認識し、それに応じてアクセル、ブレーキ、ステアリングなどを操作する必要がある。現在人間が行っている作業をコンピュータが行う必要があるので、それを実現する技術としてディープラーニングには大きな注目が集まっているのだ。NVIDIAがCESで発表し、ここGTCで5月から販売すると発表したDRIVE PXは自動車でディープラーニングの研究開発を行うためのプラットフォームとして注目を集めている。

 最後にディーン氏は「ディープラーニングは音声認識、画像認識、翻訳、ユーザー予測などさまざまな用途への応用が考えられ、かつそれらを実現するのに最も効率のよい方法だ」と述べて講演をまとめ、Googleが行っているディープラーニングの研究への協力などを呼びかけて講演を終了した。

ディープラーニングの応用例は多岐に渡っており、さまざまな目的に使うことができるとディーン氏

笠原一輝