監訳者まえがき
近年のディープラーニングの発展には目を見張るものがあります。コンピュータービジョンや自然言語処理、レコメンデーション、自動運転、はたまたゲームの世界などの幅広い領域においてディープラーニングが応用され、華々しい研究成果が毎日のようにニュースとして流れてきています。TensorFlow、Keras、PyTorch、Chainerなど、研究開発向けの優れたPythonベースの開発フレームワークの存在もこの成功の一翼を担ってるかと思います。しかし、ディープラーニングのモデルを本番環境へデプロイする際の方法論にはまだ確固たるものはなく、実務者の方々がそれぞれ試行錯誤しているのが現状です。
その理由の1つは、エンタープライズ企業などで用いられているような堅牢性が求められるシステムの開発で用いられる言語と、高速なトライアンドエラーを必要とするディープラーニングの開発で用いられる言語との違いがあるかと思います。DL4J(Deeplearning4j)はその名の通り、JavaやScalaなどのJVM言語とともに用いることができるディープラーニングフレームワークです。HadoopやSparkといったビッグデータ分析基盤をネイティブにサポートしており、簡単に連携することができます。本書ではDL4Jを用いたさまざまなディープラーニングモデルの訓練の方法や、Sparkを用いて訓練を分散的にスケールさせる方法について解説しています。
DL4Jの最新のバージョンでは、本書の原書が執筆された時点では存在しなかった非常に便利な機能も追加されています。TensorFlowやKerasなどで開発したモデルのDL4Jへのインポート機能も追加されました。開発はPython、運用はJava、といった役割分担をするのも良いでしょう。SameDiffという、TensorFlowやPyTorchなどの他ライブラリとの互換性を高めるための自動微分ライブラリや、Arbiterというハイパーパラメーター最適化支援ツールも追加されました。現在、DL4JプロジェクトはEclipse財団による支援を受けながら活発に開発が続けられています。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access