| Eclipse ディープラーニング 4j | |
|---|---|
| 原作者 | アレックス・D・ブラック、アダム・ギブソン、ヴィアチェスラフ・ココリン、ジョシュ・パターソン |
| 開発者 | Kondiut KKと寄稿者 |
| 安定版リリース | |
| リポジトリ | |
| 書かれた | Java、CUDA、C、C++ |
| オペレーティング·システム | Linux、macOS、Windows、Android、iOS |
| プラットフォーム | CUDA、x86、ARM、PowerPC |
| 入手可能な | 英語 |
| タイプ | 自然言語処理、ディープラーニング、マシンビジョン、人工知能 |
| ライセンス | Apacheライセンス2.0 |
| Webサイト | https://deeplearning4j.konduit.ai/ |
| シリーズの一部 |
| 機械学習とデータマイニング |
|---|
Eclipse Deeplearning4jは、 Java仮想マシン(JVM)用にJavaで書かれたプログラミングライブラリです。[ 2 ] [ 3 ]これは、幅広い深層学習アルゴリズムをサポートするフレームワークです。 [ 4 ] Deeplearning4jには、制限付きボルツマンマシン、ディープビリーフネット、ディープオートエンコーダ、スタックドデノイズオートエンコーダ、再帰ニューラルテンソルネットワーク、word2vec、doc2vec、GloVeの実装が含まれています。これらのアルゴリズムにはすべて、Apache HadoopおよびSparkと統合された分散並列バージョンが含まれています。[ 5 ]
Deeplearning4jはApache License 2.0の下でリリースされたオープンソースソフトウェアであり、[ 6 ]サンフランシスコに本社を置く機械学習グループによって主に開発されています。[ 7 ]これはスタートアップのSkymindによって商業的にサポートされており、同社はDL4J、TensorFlow、KerasなどのディープラーニングライブラリをSkymind Intelligence Layerと呼ばれるエンタープライズディストリビューションにバンドルしています。[ 8 ] Deeplearning4jは2017年10月にEclipse Foundationに寄贈されました。[ 9 ] [ 10 ]
導入
Deeplearning4jは広く使用されているプログラミング言語Javaをベースにしていますが、 Clojureと互換性があり、 Scalaアプリケーションプログラミングインターフェース(API)も備えています。独自のオープンソース数値計算ライブラリND4Jを搭載しており、中央処理装置(CPU)とグラフィックス処理装置(GPU)の両方で動作します。[ 11 ] [ 12 ]
Deeplearning4jは、いくつかの商用および学術的なアプリケーションで使用されています。コードはGitHubでホストされています。[ 13 ]サポートフォーラムはGitterで管理されています。[ 14 ]
このフレームワークは構成可能であり、制限ボルツマンマシン、畳み込みネット、オートエンコーダ、リカレントネットなどの浅いニューラルネットを相互に追加して、様々なタイプの深いネットを作成することができます。また、豊富な可視化ツール[ 15 ]と計算グラフ[ 16 ]も備えています。
分散型
Deeplearning4jによる学習はクラスター内で行われます。ニューラルネットは、Hadoop -YARNとSparkで動作する反復的reduceを介して並列に学習されます。[ 7 ] [ 17 ] Deeplearning4jはCUDAカーネルと統合して純粋なGPU演算を実行し、分散GPUでも動作します。
JVM 向け科学計算
Deeplearning4jには、JavaとScalaで科学計算を可能にするND4Jを使用したn次元配列クラスが含まれています。これは、 NumPyがPythonに提供する関数に似ています。これは、実稼働環境で 線形代数と行列操作を行うためのライブラリに基づいています。
機械学習用DataVecベクトル化ライブラリ
DataVecは、HadoopのMapReduceに類似した入出力フォーマットシステムを用いて、様々なファイル形式とデータ型をベクトル化します。つまり、様々なデータ型をベクトルと呼ばれるスカラー列に変換します。DataVecは、CSV、画像、音声、テキスト、ビデオ、時系列をベクトル化するように設計されています。[ 18 ] [ 19 ]
テキストとNLP
Deeplearning4jには、 Javaで実装され、並列GPUと統合することでパフォーマンスを向上させるベクトル空間モデリングおよびトピックモデリングツールキットが含まれています。大規模なテキストセットを処理できるように設計されています。
Deeplearning4jには、単語頻度-逆文書頻度(tf-idf)、ディープラーニング、Mikolovのword2vecアルゴリズム[ 20 ] 、doc2vec、GloVeの実装が含まれており、これらはJavaで再実装および最適化されています。単語クラウドの可視化には、 t分布確率的近傍埋め込み(t-SNE)を利用しています。
実際のユースケースと統合
Deeplearning4jの実際の使用例には、ネットワーク侵入検知とサイバーセキュリティ、金融セクターの不正検出[ 21 ] [ 22 ]、製造業などの業界における異常検出、電子商取引と広告の推奨システム[ 23 ] 、画像認識[ 24 ]などがあります。Deeplearning4jは、RapidMiner、Prediction.io、 [ 25 ]、Wekaなどの他の機械学習プラットフォームと統合されています。[ 26 ]
機械学習モデルサーバー
Deeplearning4jは、Skymind Intelligence LayerであるSKILの無料開発者版を使用して、本番環境で推論用の機械学習モデルを提供します。[ 27 ] [ 28 ]モデルサーバーは、データに関する意思決定を行うパラメトリック機械学習モデルを提供します。これは、データパイプラインとモデルトレーニングの後に、機械学習ワークフローの推論段階で使用されます。モデルサーバーは、データサイエンス研究を実際の本番環境に展開するためのツールです。
インターネットにおけるWebサーバーの役割は、AIにおけるモデルサーバーの役割と同じです。WebサーバーがHTTPリクエストを受信してWebサイトに関するデータを返すのに対し、モデルサーバーはデータを受け取り、そのデータに関する判断や予測を返します。例えば、画像が送信された場合、モデルサーバーはその画像のラベルを返し、写真に写っている顔や動物を識別します。
SKIL モデル サーバーは、Tensorflow、Keras、Theano、CNTK などの Python フレームワークからモデルをインポートできるため、ディープラーニング モデルの導入における大きな障壁を克服できます。
ベンチマーク
Deeplearning4jは、複数のGPUを用いた非自明な画像認識タスクにおいて、Caffeと同等の速度を発揮します。[ 29 ] JVM上のHPCに不慣れなプログラマーにとって、ニューラルネットワークの学習時間を最適化するには、調整が必要なパラメータがいくつかあります。ヒープ領域の設定、ガベージコレクションアルゴリズム、オフヒープメモリの採用、ETL高速化のためのデータの事前保存(ピクルリング)などです。[ 30 ]これらの最適化を組み合わせることで、Deeplearning4jのパフォーマンスは10倍向上します。
API言語: Java、Scala、Python、Clojure、Kotlin
Deeplearning4jは、Java、Scala、Python、Clojure、Kotlinなど、複数のAPI言語で利用できます。Scala APIはScalNetと呼ばれています。[ 31 ] KerasはPython APIとして機能します。[ 32 ] ClojureラッパーはDL4CLJとして知られています。[ 33 ]ディープラーニングに必要な大規模な数学演算を実行するコア言語は、C、C++、CUDA Cです。
Tensorflow、Keras、Deeplearning4j
Tensorflow、Keras、Deeplearning4jは連携して動作します。Deeplearning4jは、Kerasで作成されたモデルであれば、Tensorflowや他のPythonフレームワークからインポートできます。[ 34 ]
参照
参考文献
- ^ "Tags · eclipse/deeplearning4j" . github.com . 2025年10月9日閲覧。
- ^ Metz, Cade (2014年6月2日). 「GoogleのAIを世界へ広めるミッション」 . Wired.com . 2014年6月28日閲覧。
- ^ Vance, Ashlee (2014年6月3日). 「(一部の)人々のためのディープラーニング」 . Bloomberg Businessweek . 2014年6月4日時点のオリジナルよりアーカイブ。 2014年6月28日閲覧。
- ^ Novet, Jordan (2015年11月14日). 「オープンソースのディープラーニングフレームワークをお探しですか? ぜひお選びください」 . VentureBeat . 2019年12月18日時点のオリジナルよりアーカイブ。 2015年11月24日閲覧。
- ^ 「Adam Gibson、Spark 上の DeepLearning4j と nd4j を使用した JVM 上のデータサイエンス、SF Spark @Galvanize 20150212」。SF Spark ミートアップ。2015年2月12日。 2015年3月1日閲覧。
- ^ 「Githubリポジトリ」 . GitHub . 2020年4月.
- ^ a b「deeplearning4j.org」。
- ^ 「Skymind Intelligence Layer Community Edition」。2017年11月7日時点のオリジナルよりアーカイブ。2017年11月2日閲覧。
- ^ 「Eclipse Deeplearning4j プロジェクトページ」 2017年6月22日。
- ^ 「SkymindのDeeplearning4j、Eclipse Foundation、そしてJVMにおける科学計算」 Jaxenter 、 2017年11月13日。 2017年11月15日閲覧。
- ^ Novet, Jordan (2016年9月28日). 「ディープラーニングスタートアップのSkymindが300万ドルを調達、Intelligence Layerの配信を開始」 . VentureBeat .
- ^ Novet, Jordan (2014年6月2日). 「Skymind、オープンソースでプラグアンドプレイのディープラーニング機能をアプリに搭載してリリース」 . VentureBeat .
- ^ "deeplearning4j/deeplearning4j" . 2023年4月29日. 2023年4月29日閲覧– GitHub経由.
- ^ "Element" . app.gitter.im . 2023年4月29日閲覧。
- ^ 「Deeplearning4j Visualization Tools」 . 2017年8月10日時点のオリジナルよりアーカイブ。2016年8月17日閲覧。
- ^ 「Deeplearning4j Computation Graph」 2017年8月10日時点のオリジナルよりアーカイブ。2016年8月17日閲覧。
- ^ 「反復的な削減」 . GitHub . 2020年3月15日.
- ^ 「機械学習のためのDataVec ETL」 。 2017年10月2日時点のオリジナルよりアーカイブ。2016年9月18日閲覧。
- ^ 「ディープラーニングによる時系列データの異常検出」 InfoQ 2023年4月29日閲覧。
- ^ 「Google Code アーカイブ - Google Code プロジェクト ホスティング用の長期ストレージ」 . code.google.com . 2023年4月29日閲覧。
- ^ “アーカイブコピー” . 2016年3月10日時点のオリジナルよりアーカイブ。2016年2月22日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ "skymind.ai" . skymind.ai . 2023年4月29日閲覧。
- ^ “アーカイブコピー” . 2016年3月10日時点のオリジナルよりアーカイブ。2016年2月22日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ "skymind.ai" . skymind.ai . 2023年4月29日閲覧。
- ^ “DeepLearning4J(Stable) | RapidMiner China” . www.rapidminerchina.com . 2016年5月18日時点のオリジナルよりアーカイブ。2022年5月22日閲覧。
- ^ 「WekaDeeplearning4j: Wekaを使用したディープラーニング」 . deeplearning.cms.waikato.ac.nz . 2023年4月29日閲覧。
- ^ “製品” . 2017年9月21日時点のオリジナルよりアーカイブ。2017年9月20日閲覧。
- ^ 「ディープラーニングとAIのためのモデルサーバー - Deeplearning4j: JVM向けのオープンソース分散ディープラーニング」 。 2017年9月21日時点のオリジナルよりアーカイブ。 2017年9月20日閲覧。
- ^ 「GitHub - deeplearning4j/Dl4j-benchmark: dl4jベンチマークコードを追跡するためのリポジトリ」 . GitHub . 2019年12月19日.
- ^ 「Deeplearning4jベンチマーク - Deeplearning4j: JVM向けオープンソース分散型ディープラーニング」。2017年8月9日時点のオリジナルよりアーカイブ。 2017年1月30日閲覧。
- ^ 「Scala、Spark、Deeplearning4j - Deeplearning4j: JVM向けのオープンソース分散型ディープラーニング」。2017年2月25日時点のオリジナルよりアーカイブ。 2017年2月25日閲覧。
- ^ 「Deeplearning4jでKerasを実行する - Deeplearning4j: JVM向けのオープンソース分散型ディープラーニング」 。 2017年2月25日時点のオリジナルよりアーカイブ。 2017年2月25日閲覧。
- ^ 「Clojureによるディープラーニング - Deeplearning4j: JVM向けのオープンソース分散ディープラーニング」。2017年2月25日時点のオリジナルよりアーカイブ。 2017年2月25日閲覧。
- ^ 「Tensorflow & Deeplearning4j - Deeplearning4j: JVM向けのオープンソース分散型ディープラーニング」。2017年9月8日時点のオリジナルよりアーカイブ。 2017年9月7日閲覧。