Deeplearning4j

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Deeplearning4j
作者 Adam Gibson
開発元 複数
最新版 0.8.0 / 2017年3月11日(7か月前) (2017-03-11
リポジトリ github.com/deeplearning4j/deeplearning4j
プログラミング言語 Java, Scala, CUDA, C言語
対応OS Linux, macOS, Windows, Android, CyanogenMod
プラットフォーム クロスプラットフォーム
サポート状況 進行中
種別 自然言語処理, ディープラーニング, マシンビジョン, 人工知能
ライセンス Apache 2.0
公式サイト deeplearning4j.org
テンプレートを表示

Deeplearning4j は、Java及びJava仮想マシン[1][2] オープンソースディープラーニングライブラリで、 ディープラーニングアルゴリズムを広くサポートする計算フレームワークである[3] 。Deeplearning4jは、制限付きボルツマンマシンディープビリーフネット、ディープオートエンコーダー、積層雑音除去オートエンコーダー、再帰型ニューラルテンソルネットワークword2vec、 doc2vec、GloVeを実装することができる。 これらのアルゴリズムはすべてHadoopSparkと統合可能な分散型の並列バージョンを含んでいる[4] 。Deeplearning4jは、スタートアップのSkymind社が商用サポートを行っている。

概要[編集]

Deeplearning4jは、一般に広く使用されているプログラミング言語のJavaを使用しているが、Clojureとも互換性がありScalaのAPIを含んでいる。そのライブラリ内にある数値計算オープンソースライブラリであるND4Jを使用しており、CPUGPUのどちらでも動作する[5][6] 。Deeplearning4jは、 アダム・ギブソンの率いるサンフランシスコの機械学習グループによって主に開発されたオープンソースのプロジェクトである[7] [8][9] 。Deeplearning4jは、GoogleのWord2vecページにリストされた唯一のJavaで実装されたオープンソースのプロジェクトである[10]。 Deeplearning4jは数多くの商業的、学術的アプリケーションに使用されている。コードは、GitHub[11]、 サポートフォーラムは、Googleグループにある[12]

フレームワークは、コンポーザブルであり、浅いネットワークである制限付きボルツマンマシン、畳み込みネットワーク、オートエンコーダー、再起ネットワークなどのニューラルネットワークを組み合わせて様々な種類のディープネットワークを作ることができる。

分散型[編集]

Deeplearning4jの訓練は、クラスタで行われる。ニューラルネットは、Hadoop/YARN及びSparkで使用できるiterative reduceを経由して同時に訓練を受ける[8][13] 。また、Deeplearning4jはCudaのカーネルに統合し、GPUの演算を行うことができ、分散型GPUにも対応している。

JVMでの科学的計算[編集]

Deeplearning4jは、PythonNumpyが提供する機能のように、ND4Jを使った JavaやScalaで計算できるn次配列クラスを含んでいる。Deeplearning4jは、生産的環境における線的代数のライブラリ及びマトリクス操作に基づいている。

機械学習のためのCanovaのベクトル化ライブラリ[編集]

Canovaは、 HadoopがMapReduceを使用するように、入力/出力フォーマットシステムを使って、様々なファイルフォーマット及びデータタイプをベクトル化[要説明] する。Canovaは現在も開発は進行中だが、CSVファイル、画像、音声、テキスト、ビデオをベクトル化するように設計されている。Canovaはコマンドラインから使用することができる。

テキストと自然言語プログラミング[編集]

Deeplearning4jは、ベクトル空間モデル及びトピックモデルのツールキットを含み、Javaに実装され、パフォーマンス向上のために並列GPUを統合している。特に大量のテキスト処理が行えることを目的として作成された。

Deeplearning4jは、tf–idfディープラーニング、Mikolovの word2vecアルゴリズム、doc2vecを実装している。GloVeも再度実装され、最適化されている。ワードクラウドの視覚化は、t-SNEに依存している。

使用事例と統合例[編集]

実際にDeeplearning4jが使用されている分野には、金融部門における不正の検知[14]、製造業などでの異常検知、電子商取引や広告のレコメンダシステム[15]、 画像認識などがある。RapidMinerやPrediction.ioなどその他の機械学習プラットフォームも統合している[16]

関連ライブラリ[編集]

関連項目[編集]

出典[編集]

  1. ^ Metz, Cade (2014年6月2日). “The Mission to Bring Google's AI to the Rest of the World”. Wired.com. 2014年6月28日閲覧。
  2. ^ Vance, Ashlee (2014年6月3日). “Deep Learning for (Some of) the People”. Bloomberg Businessweek. 2014年6月28日閲覧。
  3. ^ Novet, Jordan (2015年11月14日). “Want an open-source deep learning framework? Take your pick”. VentureBeat. 2015年11月24日閲覧。
  4. ^ TV, Functional (2015年2月12日). “Adam Gibson, DeepLearning4j on Spark and Data Science on JVM with nd4j, SF Spark @Galvanize 20150212”. SF Spark Meetup. 2015年3月1日閲覧。
  5. ^ Harris, Derrick (2014年6月2日). “A startup called Skymind launches, pushing open source deep learning”. GigaOM.com. 2014年6月29日閲覧。
  6. ^ Novet, Jordan (2014年6月2日). “Skymind launches with open-source, plug-and-play deep learning features for your app”. 2014年6月29日閲覧。
  7. ^ Github Repository”. 2014年6月29日閲覧。
  8. ^ a b deeplearning4j.org”. 2017年4月15日閲覧。
  9. ^ Crunchbase Profile”. 2014年6月29日閲覧。
  10. ^ Google Code”. 2014年6月29日閲覧。
  11. ^ Deeplearning4j source code”. 2015年3月1日閲覧。
  12. ^ Deeplearning4j Google Group”. 2015年3月1日閲覧。
  13. ^ Iterative reduce”. 2014年6月29日閲覧。
  14. ^ http://www.skymind.io/finance/%7Caccessdate=2015-03-01
  15. ^ http://www.skymind.io/commerce/
  16. ^ https://www.rapidminerchina.com/en/products/shop/product/deeplearning4j/

外部リンク[編集]