DUICUO

オープンソースAIツール トップ15

[[172794]]

人工知能(AI)は、科学研究において最もホットな分野の一つです。IBM、Google、Microsoft、Facebook、Amazonといった企業は、機械学習、ニューラルネットワーク、自然言語処理、画像処理といった分野で進歩を遂げているスタートアップ企業に対し、研究開発への多額の投資や買収を行っています。こうした関心の高さを考えると、スタンフォード大学の専門家がAIに関する報告書の中で、「AIアプリケーションの高性能化は、現在から2030年の間に、私たちの社会と経済に計り知れないプラスの影響を与える可能性がある」と結論付けたのも当然と言えるでしょう。

先日の記事では、興味深い、あるいは将来有望なAIプロジェクト45件を紹介しました。この記事では、オープンソースAIツールに焦点を当て、最も注目すべき15のオープンソースAIプロジェクトを詳しく見ていきます。

以下のオープンソース AI アプリケーションは、AI 研究の最前線にあります。

1. カフェ

Caffeは、カリフォルニア大学バークレー校の博士課程在学中に賈陽青氏によって開発された、表現力豊かなアーキテクチャとスケーラブルなコードに基づくディープラーニングフレームワークです。その高速性で有名になり、研究者や企業ユーザーの間で人気を博しています。ウェブサイトによると、NVIDIA K40 GPUのみを使用して、1日で6,000万枚以上の画像を処理できます。Caffeはバークレー視覚学習センター(BVLC)によって管理されており、NVIDIAやAmazonなどの企業からの資金提供によって開発が進められています。

2. CNTK

CNTKは、Microsoftが提供するオープンソースの人工知能ツールであるComputational Network Toolkitの略称です。単一CPU、単一GPU、複数GPU、あるいは複数GPUを搭載した複数マシンで非常に優れたパフォーマンスを発揮します。Microsoftは主に音声認識の研究にCNTKを使用していますが、機械翻訳、画像認識、画像キャプション作成、テキスト処理、言語理解、言語モデリングといった分野にも優れた応用が期待されています。

3. ディープラーニング4j

Deeplearning4jは、Java仮想マシン(JVM)用のオープンソースのディープラーニングライブラリです。分散環境で実行され、HadoopおよびApache Sparkに統合されています。これにより、ディープニューラルネットワークの構築が可能になり、Java、Scala、その他のJVM言語と互換性があります。

このプロジェクトは、プロジェクトのサポート、トレーニング、企業向け配布を提供する Skymind という商業会社によって管理されています。

4. DMTK

DMTKはDistributed Machine Learning Toolkit(分散機械学習ツールキット)の略で、CNTKと同様に、Microsoftが提供するオープンソースの人工知能ツールです。ビッグデータアプリケーション向けに設計されており、AIシステムの学習速度向上を目指しています。DMTKは、DMTKフレームワーク、LightLDAトピックモデリングアルゴリズム、分散(多義的)単語埋め込みアルゴリズムという3つの主要コンポーネントで構成されています。その速度を実証するために、Microsoftは8クラスターマシン上で「100万トピック、1000万語(合計10兆個のパラメータ)の語彙を持つトピックモデルを学習し、単一ドキュメントから1000億個のシンボルを収集できる」と主張しています。この成果は他のツールの追随を許しません。

5. 水

H2Oは、科学研究よりも企業ユーザーへのAIの適用に重点を置いています。その結果、Capital One Financial、Cisco、Nielsen Catalina、PayPal、Pan Amなど、多数の企業クライアントを擁しています。H2Oは、機械学習と予測分析の力を活用して、誰もがビジネス上の問題を解決できると主張しています。これらの技術は、予測モデリング、リスクおよび不正分析、保険分析、広告テクノロジー、ヘルスケア、顧客インテリジェンスなどに活用できます。

オープンソース版には、標準のH2OバージョンとApache Sparkに統合されたSparking Waterバージョンの2種類があります。有料のエンタープライズユーザー向けサポートもご利用いただけます。

6. マハウト

MahoutはApache Foundationのプロジェクトであり、オープンソースの機械学習フレームワークです。ウェブサイトによると、Mahoutには3つの主な機能があります。スケーラブルなアルゴリズムを構築するためのプログラミング環境、SparkやH2Oなどのあらかじめ構築されたアルゴリズムツール、そしてSamsaraと呼ばれるベクトル数学実験環境です。MahoutはAdobe、Accenture、Foursquare、Intel、LinkedIn、Twitter、Yahooなど、数多くの企業で採用されています。ウェブサイトには、プロフェッショナルなサードパーティサポートが掲載されています。

7. MLlib

Apache Sparkはその高速性から、最も人気のあるビッグデータ処理ツールの1つとなっています。MLlibはSparkのスケーラブルな機械学習ライブラリです。Hadoopと統合され、NumPyやRと連携できます。分類、回帰、決定木、レコメンデーション、クラスタリング、トピックモデリング、特徴量変換、モデル評価、MLパイプラインアーキテクチャ、MLパーシスタンス、生存分析、頻出アイテムセットおよびシーケンスパターンマイニング、分散線形代数、統計など、多くの機械学習アルゴリズムを備えています。

8. ニューピック

Numentaが運営するNuPICは、階層的時間記憶(HTM)理論に基づくオープンソースの人工知能プロジェクトです。HTMは本質的に、人間の大脳皮質を模倣したコンピュータシステムの構築を目指しています。彼らの目標は、「多くの認知タスクにおいて人間の認知能力に近づく、あるいはそれを上回る」マシンの開発です。

Numenta は、オープンソース ライセンスに加えて、NuPic の商用ライセンスも提供しており、その技術特許のライセンスも提供しています。

9. オープンNN

OpenNNは、高度な人工知能を活用する開発者や研究者向けに設計された、ニューラルネットワークアルゴリズムを実装するためのC++プログラミングライブラリです。主な特徴は、ディープラーニングアーキテクチャと高速パフォーマンスです。ウェブサイトでは、ニューラルネットワークの基礎を解説した入門チュートリアルを含む、豊富なドキュメントが提供されています。OpenNNの有料サポートは、予測分析を専門とするスペインの企業であるArtelnicsによって提供されています。

10. オープンサイク

Cycorp社が開発したOpenCycは、Cycナレッジベースと常識推論エンジンへのアクセスを提供します。239,000以上のエントリ、約2,093,000のトリプル、そして約69,000のフクロウ名(外部セマンティックライブラリへのリンクに似た名前空間)を誇ります。OpenCycは、リッチドメインモデル、セマンティックデータ統合、テキスト理解、ドメイン特化型エキスパートシステム、ゲームAIにおいて有効性が実証されています。同社はCycの2つのバージョンも提供しています。1つは研究用に無料で提供されていますがオープンソースではありません。もう1つは企業向けで、有料サブスクリプションが必要です。

11. オリックス2

Apache SparkとKafkaをベースに構築されたOryx 2は、大規模機械学習アプリケーションの開発に特化したフレームワークです。独自の3層ラムダアーキテクチャを採用しています。開発者はOryx 2を使用して新しいアプリケーションを作成できるだけでなく、協調フィルタリング、分類、回帰、クラスタリングといった一般的なビッグデータタスク向けのアプリケーションもあらかじめ用意されています。ビッグデータツールプロバイダーのClouderaは、オリジナルのOryx 1プロジェクトを創設し、その後の開発にも積極的に関わってきました。

12. 予測IO

Salesforceは今年2月にPredictionIOを買収し、7月にはApache Foundationにプラットフォームと商標を寄贈し、育成してきました。そのため、SalesforceがPredictionIOの技術を活用して機械学習機能を強化すると、その結果はオープンソース版にも同時に反映されます。これにより、ユーザーは機械学習機能を備えた予測エンジンを構築し、リアルタイムの動的クエリに対応したWebサービスを展開できるようになります。

13. システムML

SystemMLはIBMによって開発されましたが、現在はApache Big Dataプロジェクトです。高度な数学演算のためのスケーラビリティの高いプラットフォームを提供し、そのアルゴリズムはRまたはPython風の構文で記述されています。企業では既に、自動車修理の顧客サービス追跡、空港の交通計画、ソーシャルメディアデータと銀行顧客の連携などに活用されています。SystemMLはSparkまたはHadoop上で実行できます。

14. テンソルフロー

TensorFlowは、Googleが提供するオープンソースの人工知能ツールです。データフローグラフを用いた数値計算用のライブラリを提供します。単一または複数のCPUとGPUを搭載した様々なシステム、さらにはモバイルデバイスでも実行できます。優れた柔軟性、真の移植性、自動微分処理を誇り、PythonとC++をサポートしています。TensorFlowのウェブサイトには、開発者や研究者がTensorFlowの機能を使いこなしたり拡張したりするための、非常に詳細なチュートリアルが掲載されています。

15. トーチ

Torchは、「GPUの利用を優先し、機械学習アルゴリズムを幅広くサポートする科学計算フレームワーク」と自称し、その柔軟性と高速性を特徴としています。さらに、機械学習、コンピュータービジョン、信号処理、並列処理、画像処理、ビデオ処理、音声処理、ネットワークといったソフトウェアパッケージを介して容易に利用できます。Torchは、LuaをベースにしたLuaJITと呼ばれるスクリプト言語を採用しています。