Deeplearning4j
作者 Adam Gibson
開発元 複数
最新版 0.9.1 / 2017年8月12日(20か月前) (2017-08-12
最新評価版 1.0.0-beta / 2018年5月17日(11か月前) (2018-05-17
リポジトリ github.com/deeplearning4j/deeplearning4j
プログラミング言語 Java, Scala, CUDA, C言語
対応OS Linux, macOS, Windows, Android, CyanogenMod
プラットフォーム クロスプラットフォーム
サポート状況 進行中
種別 自然言語処理, ディープラーニング, マシンビジョン, 人工知能
ライセンス Apache 2.0
公式サイト deeplearning4j.org
テンプレートを表示

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

概要

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

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

分散型

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

JVMでの科学的計算

Deeplearning4jは、Pythonに Numpy が提供する機能のように、 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が使用されている分野には、金融部門における不正の検知、製造業などでの異常検知、電子商取引や広告のレコメンダシステム、 画像認識などがある。RapidMinerやPrediction.ioなどその他の機械学習プラットフォームも統合している。

関連ライブラリ

  • OpenNN -C++言語によるディープラーニング用のオープンソースニューラルネットワークライブラリ
  • Torch -スクリプト言語 Luaによるオープンソースのフレームワーク。機械学習アルゴリズムを広くサポートする。
  • Theano -Pythonディープラーニング用のオープンソースのライブラリ
  • Neuroph

出典


この記事では、Creative Commons Attribution-Share-Alike License 3.0の下に公開されているWikipediaの記事Deeplearning4jの資料を使用しています。