出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/17 09:21 UTC 版)
| 作者 | Adam Gibson |
|---|---|
| 開発元 | 複数 |
| 最新版 |
0.9.1 / 2017年8月12日
|
| 最新評価版 |
1.0.0-beta7 / 2020年5月14日
|
| リポジトリ | |
| プログラミング 言語 |
Java, Scala, CUDA, C言語 |
| 対応OS | Linux, macOS, Windows, Android, CyanogenMod |
| プラットフォーム | クロスプラットフォーム |
| サポート状況 | 進行中 |
| 種別 | 自然言語処理, ディープラーニング, マシンビジョン, 人工知能 |
| ライセンス | Apache 2.0 |
| 公式サイト | deeplearning4j |
| 機械学習および データマイニング |
|---|
| |
Eclipse Deeplearning4j は、Java及びJava仮想マシン[1][2] オープンソースのディープラーニングライブラリで、 多くのディープラーニングアルゴリズムをサポートする計算フレームワークである[3] 。Deeplearning4jには、制限付きボルツマンマシン、ディープビリーフネット、ディープオートエンコーダー、積層雑音除去オートエンコーダー、再帰型ニューラルテンソルネットワーク、word2vec、 doc2vec、GloVeなどが実装されている。 これらのアルゴリズムはすべてHadoopやSparkと統合可能な分散型の並列バージョンを含んでいる[4] 。Deeplearning4jは、スタートアップのSkymind社が商用サポートを行っていた。2020年より、deeplearning4jのサポートはSkymind社の子会社であるKonduit社に引き継がれた。
Deeplearning4jは、一般に広く使用されているプログラミング言語のJavaを使用しているが、Clojureとも互換性がありScalaのAPIを含んでいる。そのライブラリ内にある数値計算オープンソースライブラリであるND4Jを使用しており、CPUとGPUのどちらでも動作する[5][6] 。Deeplearning4jは、 アダム・ギブソンの率いるサンフランシスコの機械学習グループによって主に開発されたオープンソースのプロジェクトである[7] [8][9] 。Deeplearning4jは、GoogleのWord2vecページにリストされた唯一のJavaで実装されたオープンソースのプロジェクトである[10]。
Deeplearning4jは数多くの商業的、学術的アプリケーションに使用されている。コードは、GitHub[11]、 サポートフォーラムは、Gitterにある[12]。
フレームワークは、コンポーザブルであり、浅いネットワークである制限付きボルツマンマシン、畳み込みネットワーク、オートエンコーダー、再帰ネットワークなどのニューラルネットワークを組み合わせて様々な種類のディープネットワークを作ることができる。
Deeplearning4jの訓練は、クラスタで行われる。ニューラルネットは、Hadoop/YARN及びSparkで使用できるiterative reduceを経由して同時に訓練を受ける[8][13] 。また、Deeplearning4jはCudaのカーネルに統合し、GPUの演算を行うことができ、分散型GPUにも対応している。
Deeplearning4jは、PythonにNumPyが提供する機能のように、ND4Jを使った JavaやScalaで計算できるn次配列クラスを含んでいる。ND4Jは、プロダクション環境における線的代数及びマトリクス操作のライブラリに基づいている。
DataVecは、 HadoopがMapReduceを使用するように、入力/出力フォーマットシステムを使って、様々なファイルフォーマット及びデータタイプをベクトル化[要説明] する。DataVecは、CSVファイル、画像、音声、テキスト、ビデオ、時系列データをベクトル化するように設計されている。
Deeplearning4jは、ベクトル空間モデル及びトピックモデルのツールキットを含み、Javaに実装され、パフォーマンス向上のために並列GPUを統合している。特に大量のテキスト処理が行えることを目的として作成された。
Deeplearning4jは、tf–idf、ディープラーニング、Mikolovの word2vecアルゴリズム、doc2vecを実装している。GloVeも再度実装され、最適化されている。ワードクラウドの視覚化には、t-SNEを使うことができる。バージョン1.0.0-beta4からは、BERTによる学習モデルの利用も可能となった[14][15]。
実際にDeeplearning4jが使用されている分野には、金融部門における不正の検知[16]、製造業などでの異常検知、電子商取引や広告のレコメンダシステム[17]、 画像認識などがある。RapidMinerやPrediction.ioなどその他の機械学習プラットフォームも統合している[18]。