ディープラーニング用周辺ツールの充実にも注目:ディープラーニングツール概説(後編)
TensorFlowやPyTorchなどのフレームワークばかりが注目されるが、ディープラーニングを支援する周辺ツールにも注目したい。今後さらに多くのツールが誕生することだろう。
前編(Computer Weekly日本語版 1月9日号掲載)では、Google、Microsoft、Facebookが提供しているディープラーニングフレームワークを紹介した。
後編では、その他のツールセットおよびディープラーニング関連ツール一覧を紹介する。
その他注目のツールセット
多数ある他の主要ライブラリとツールセットにも触れておかなければならない。「Caffe」はディープラーニング用オープンソースのフレームワークで、「畳み込みニューラルネットワーク」(CNN)の構築に使える。CNNは画像分類に使うのが一般的だ。Caffeは多種多様なソフトウェアアーキテクチャをサポートするため、一部の開発者に非常に人気がある。
「Deeplearning4j」はJava仮想マシン(JVM)用のオープンソース分散ディープラーニングライブラリだ。Python開発者には機械学習フレームワーク「scikit-learn」もある。こちらは、データマイニング、データ分析、データ視覚化などのタスクに使われる。
Python用の数値演算ライブラリ「Theano」もある。コンピュータによる集中的な計算処理のために多次元配列を使用する演算を実行できる。
実世界(AIの世界でもある)では、多種多様なツールセット、ライブラリ、コード化手法を使用して、マシンインテリジェンスを構築しようとしている企業がある。
DatabricksのCIO調査によると、87%の企業が平均7種類の機械学習ツールに投資している。結果、そうしたデータを使用する際の複雑さが増しているのは言うまでもない。
Databricksは「MLflow」(訳注)というツールをオープンソース化し、この課題を部分的に解決しようと試みている。MLflowの目的は機械学習の実験を管理しやすくし、それを事実上のライフサイクルに組み込むことだ。プロジェクトの設定を共有してそれらのモデルを運用環境に導入しやすくすることも目指している。
訳注:Computer Weekly日本語版 2018年8月8日号で詳しく紹介している。
同社はAIの導入と進化をより容易にするためには、ツール、データ、ライブラリ、ワークフローを1箇所で管理するための標準化されたアプローチが必要だと主張する。MLflowは2018年6月にα版がリリースされた。
関連記事
- Google、Microsoft、Facebookのディープラーニングフレームワーク
- Kubernetesベースのディープラーニング環境「Nauta」
- 「AIは物理学を理解するのではない。パターンを理解する」が持つ重大な意味
- ディープラーニングによる非構造化データの徹底活用
- 機械学習を加速するGPU、TPU、FPGA、ASICの競争に「x86 CPU」が参戦
ニューラルネットワークの今後
本稿で紹介したツールが開発される中、共通の問題が幾つか明らかになっている。これらのソフトウェア機能に柔軟性を持たせると、パフォーマンスやスケーリング、またはその両方が犠牲になることが多い。ツールセットが一つの言語や展開形式と密接に結び付いていると、拡張性や高速化は基本的に難しくなる。
今後は徐々に、プラットフォームに何らかの統合が行われていく可能性が高い。または大規模コミュニティーが、最も効率的かつ強力で、オープンでインテリジェント、そして「トレーニング可能な」ツールセットへの移行を主導することも考えられる。
AIとディープラーニングのツール一覧
- Caffe:ディープラーニング用オープンソースフレームワーク。画像セグメンテーションと画像分類を念頭に置いて設計されたソフトウェアアーキテクチャを幅広くサポートする。
- Deeplearning4j:Java仮想マシン(JVM)用オープンソース分散ディープラーニングライブラリ。開発元によると、分散ディープラーニングネットワークのトレーニングに適しており、遅延を生じることなく巨大なデータを処理できるという。
- IBM Watson:IBMはWatsonを「ビジネス用ディープラーニング」と位置付けている。
- Keras:Pythonで記述されたオープンソースのニューラルネットワークライブラリ。TensorFlowやTheano、Deeplearning4jなどの上で動作して、使いやすいAPIを提供する。
- Microsoft Cognitive Toolkit:Microsoft Researchが開発したディープラーニングフレームワーク。有向グラフを使ってニューラルネットワークを一連の演算的ステップとして記述する。
- MLflow:機械学習の実験をサポートするDatabricksのツール。
- Apache MXNet:MXNetはトレーニングと推論を行うスケーラブルなフレームワークで、機械学習用の簡潔なAPIが付属する。
- PyBrain:オープンソースのモジュール式機械学習ライブラリ。
- PyTorch:Facebookらが主導しているディープラーニングフレームワークで、Chainerと同じく動的な計算グラフが特徴(TensorFlowは静的)。
- scikit-learn:Python向けのオープンソース機械学習フレームワーク。データマイニング、データ分析、データ視覚化に適している。
- TensorFlow:高いパフォーマンスを必要とするコンピューティング向けのオープンソースライブラリ。顔認識や手書き文字認識のようなアプリケーションをサポートするために、機械学習やディープラーニングの複数の手法を組み合わせる。
- Theano:コンピュータ代数システムを使用して数式の定義、最適化、操作、評価を行うPythonライブラリ。
- Torch:機械学習アルゴリズムをサポートする科学計算用オープンソースフレームワーク。
Copyright © ITmedia, Inc. All Rights Reserved.