ディープラーニングという参入障壁

2015/3/1 追記 半導体メーカーの人から、「今だとまだ普通のPCハイエンドゲーム機のチップ刺して並列化させる方が早いよー。」という情報いただきました。そうなんですね。

ちなみに Googleの猫 が1万6000CPUって言ってたから、1個1万円/月として月1.6億。そういう価格感らしい。


お世話になっております。

ガリバーの直人です。

テストです。とりあえずゆるいポストでご容赦ください。

なぜGPUはディープラーニングに向いているか from NVIDIA Japan

GPUよくわからんなー、という話でも書いておく。

私はクルマのビジネスを立ち上げるのが今の仕事なんですが、行きがかり上というか、どうしてもディープラーニングを避けて通れません (避けて通りたかった!難しいので)。自動車業界最大の関心事、自動運転。それが可能になったのは、コンピューターが「認識」をできるようになったからだというんですよね。認識というのは例えば猫を猫以外と区別するということらしいんですが・・・。

全ての数学的モデルはこれまで、一番大事な『モデルを作る』段階で必ず人間が介在していました。 人工知能についても同じで、画像認識における特徴量の抽出や、機械学習における変数の設定などは、人間がやるしかなかった。しかしディープラーニングを用いれば、少なくとも画像に関しては、特徴量の抽出をコンピュータが担うことができると証明したのです。

東京大学 松尾 豊氏 出典 : http://engineer.typemag.jp/article/takumi_matsuo

機械による画像認識精度コンテスト、ILSVRC(ImageNet Large Scale Visual Recognition Challenge)エラー率は Deep Learning が登場した2012年、前年の機械学習アルゴリズムと10ポイント以上差をつけ、現在は4%台。2015年2月に人間の認識精度を超えたのだとか。

それではまあ、どれだけ学習したら認識できるの、という話なんですが、半導体メーカーやらなんやらの講演を聞いていると、たとえば自動運転を念頭において1つのモデルケースを作るのに1億回の試行(Train)が必要だ、とかいうんですよね。ざっくり1億回といっても前提が曖昧なのでアレですが、まあたくさんだと思っていただければ。

画像に関して言えば、2.3GHz の 16 Core CPU で1日に処理できる画像数が250万。これだと全然足りない、ということらしくて。で、これをGPUにやらせると GTX Titan で 1800万/日、Titan X だと 4300万/日 とか処理できるらしいんですよね。80億トランジスタ、3,072 CUDA コアとかいうわけのわからないスペック。それでも動画のフレーム数考えると全然足りないのでそれらを100台単位で並列化して処理するんだとか。さっきの “1試行” がどれくらいの重さなのかはわからないけど、なんだか途方もない規模のコンピューティングリソースを要するということはぼんやりと理解できる。

BIG SUR(Facebook)、TENSORFLOW(Google)、WATSON (IBM)、ONTK (Microsoft)、プロパーの現場では全てNvidiaGPUを使っているらしい。いくらお金かかるんだろ。

概念としての Deep Learning がなんとなくわかってきて、要するに結果論です、ということになり、じゃあ学習させればいいのか、データ食わせりゃいいのか、アイデアをコードに落としてチューニングするのです、で済むのかというと全然そんなことなかった。

超巨大資本の、例えば自動車メーカーでも常に最新型を揃えるのはためらわれるくらいの設備投資。これが認識、知能を生み出すための参入障壁なんだそうな。そりゃまあ、ライブラリくらいオープンソースにしたって問題ないわな。

まあ、ぼちぼち勉強しながら自分にできることを考えよう、と思う今日このごろでした。