ではなぜ「ディープラーニング」が注目されるようになったのでしょうか。1つ目は、2012年のILSVRC(ImageNet Large Scale Visual Recognition Challenge)という画像認識のコンペティションでした。たくさんの画像をコンピュータに分類させ、その精度を競う大会で、ディープラーニングを活用したトロント大学のヒントン教授率いるチーム“SuperVision”が2位以下に圧倒的な差をつけて勝利しました(参考:http://www.image-net.org/challenges/LSVRC/2012/results.html)。
また、2012年にGoogle社内の研究開発部門であるXLabが、YouTubeにアップロードされている動画から、ランダムに取り出した200×200ピクセルサイズの画像を1000万枚用意しました。画像の中には、3%前後の画像に人間の顔が含まれていたようです。また、猫が含まれる画像もたくさんあったようです。これを用いて1000台のコンピュータで3日間かけて学習を行った結果、人間の顔、猫の顔、人間の体の写真を識別できるようになりました。
このような事例が出てくることによって、ディープラーニングの有効性を再認識し、期待が高まってきました。しかしながら、それだけではなく、実は、インターネットの発展によりデータを容易に収集できるようになったこととビッグデータを取り扱う基盤となるソフトウェアが充実してきたのいうのが、もう1つの大きな要因だと言われています。
ディープラーニングとOSS
では、ディープラーニングの領域では、OSSはどのように関係しているのでしょうか。現在、各社からディープラーニングフレームワークがOSS化され、公開されています。代表的なものを下表にまとめました。
開発元(製品名) | 言語 | 対応領域 | ライセンス、初版リリース日、機能、特徴など |
BVLC(Caffe) | C++ | 画像 | BSD License、2013/10、CPU/GPU対応。登場時期が早いOSSで、画像に特化。高速だが柔軟性が低い。CNNに向くがRNNの記述難易度が高い。 |
Facebook社(Torch7) | C/Lua | 画像、音声、テキスト | BSD License、2015/1にOSS化、開発は10年前からと言われている。CPU/GPU対応。CNN、RNNに対応。さまざまなサンプルコードあり。 |
Preferred Networks, Inc(Chainer) | Python | 画像、音声、テキスト | MIT License、2015/6、CPU/GPU対応。日本人開発者、日本語ドキュメントあり。柔軟性が高く、CNN、RNNの記述に対応する。 |
Skymind社(Deeplearning4j) | Java | 画像、音声、テキスト | Apache License、2014/2、CPU/GPU対応。数少ない企業のサポートを受けれる製品。日本語ドキュメントあり。CNN、RNNに対応。 |
Google社(TensorFlow) | C++/ Python |
画像、音声、テキスト | Apache License、2015/11にOSS化、CPU/GPU対応。登場したばかりだが、圧倒的人気を誇る。CNN、RNNに対応。 |
※BVLC(Berkeley Vision and Learning Center:米国カリフォルニア大学バークレー校のコンピュータビジョンおよび機械学習に関する研究センター)
このほかにも米国Microsoft社は、2016年1月に「Computational Network Toolkit(CNTK)」を公開しました。その後、10月25日に「CNTK」のアップデート版として「Microsoft Cognitive Toolkit」を公開しました。この「Microsoft Cognitive Toolkit」は、もともと社内で利用するために開発されたツールキットで、音声認識や画像認識のツールとして活用でき、GPUも活用できるという特徴があります。
また、米国Amazon社は2016年5月にディープラーニングを実現するためのライブラリである「Amazon Deep Scalable Sparse Tensor Network Engine(DSSTNE)」を公開しました。この「DSSTNE」は、Amazon.comで何百万もの買い物をする顧客に対して、大量の商品から適切にレコメンデーションを行うために社内ツールとして開発されました。
なぜOSS化するのか?
では、なぜ各社はディープラーニングのフレームワークをOSS化するのでしょうか。Googleによると、機械学習はこれからの画期的なプロダクトや技術に欠かせない重要な要素となるもので、世界中で研究が進められているものの、標準となるツールが存在していないことが課題となっています。Googleでは、TensorFlowを研究者から学生、製品開発者まで使える標準ツールとして提供することで、機械学習や機械知能そのものの研究と普及を加速したい考えです。Androidをオープンソース化し提供することでモバイルコンピューティングの普及を加速させ、結果的にはGoogleのビジネスにとって有利な状況を作り出した戦略と同じかも知れません。
- 吉田行男
- 日立ソリューションズ 技術開発本部 研究開発部 主管技師。 2000年頃より、Linuxビジネスの企画を始め、その後、オープンソース全体の盛り上がりにより、 Linuxだけではなく、オープンソース全般の活用を目指したビジネスを推進している。 現在の関心領域は、OpenStackを始めとするクラウド基盤、ビッグデータの処理基盤であるHadoop周辺及びエンタープライズでのオープンソースの活用方法など。