Deeplearning4j

オープンソースのディープラーニング・ライブラリ

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

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

概要 編集

Deeplearning4jは、一般に広く使用されているプログラミング言語のJavaを使用しているが、Clojureとも互換性がありScalaのAPIを含んでいる。そのライブラリ内にある数値計算オープンソースライブラリであるND4Jを使用しており、CPUGPUのどちらでも動作する[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にも対応している。

JVMでの科学的計算 編集

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

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

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]

関連ライブラリ 編集

関連項目 編集

出典 編集

  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 Gitter Support Channel
  13. ^ Iterative reduce”. 2014年6月29日閲覧。
  14. ^ Add Bert Word Piece Tokenizer #7141”. 2019年11月21日閲覧。
  15. ^ Add BertIterator (MultiDataSetIterator for BERT training) #7430”. 2019年11月21日閲覧。
  16. ^ http://www.skymind.io/finance/%7Caccessdate=2015-03-01
  17. ^ http://www.skymind.io/commerce/
  18. ^ https://www.rapidminerchina.com/en/products/shop/product/deeplearning4j/

外部リンク 編集