Deeplearning4jの概要
Deeplearning4j(ディープラーニングフォージェイ)は、Javaで実装されたディープラーニングのライブラリーであり、ディープラーニングのアルゴリズムを幅広くサポートしたフレームワークです。
以下はDeeplearning4jを使って実装した、手書き数字を識別するサンプルプログラムです。
ディープラーニングでは、まず大量のデータを学習して、最適なパラメータを導出します。そして、そのパラメータを使って、予測を行います。このプログラムでは6万件の手書き数字の画像データを学習して、同様の画像データを99%の精度で識別できます。
Deeplearning4jには、以下のような多くの実装が含まれています。
- 制限付きボルツマンマシン
- ディープビリーフネット
- ディープオートエンコーダー
- 積層雑音除去オートエンコーダー
- 再帰型ニューラルテンソルネットワーク
- word2vec
- doc2vec
- GloVe
これらのアルゴリズムにはすべて、HadoopやSparkと統合可能な分散型の並列バージョンが含まれています。
Deeplearning4jは、Adam Gibson氏が率いる機械学習のグループによって開発されたオープンソースソフトウェアで、2017年10月にEclipse Foundationに寄稿されました。現在は、Konduit社が中心となって開発が行われています。
Deeplearning4jを使った開発にはEclipseやIntelliJなどのIDEが使用できます。ビルドにはMavenまたはGradleを利用します。
図: IntelliJでの開発
Deeplearning4jは、Javaで実装されており、Scala、Clojure、KotlinなどのJVM言語と互換性があります。基礎となる計算はC、C++、Cudaで実装されており、動作は高速です。Javaはエンタープライズで最も広く使用されている言語であり、他システムとの連携を考慮すると、Deeplearning4jが活用できるケースは非常に多いと考えられます。
Deeplearning4jのライセンス
Deeplearning4jのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。
Deeplearning4jのライセンスについてご不明な点がありましたら、お気軽にお問い合わせください。
Deeplearning4jと同類のソフトウェア
Deeplearning4jと同類のフレームワークにはTensorFlowやPyTorchがありますが、いずれもPythonで実装されています。Javaのディープラーニングのフレームワークであれば、Deeplearning4jが最も有名で高機能です。
関連OSS
Deeplearning4jのダウンロード
参考情報
Wikipedia - Deeplearning4j
Deeplearning4j公式サイト
GitHubリポジトリー
Deeplearning4jのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。