人工知能 (AI) は現代のソフトウェア開発に不可欠な部分となっており、データ分析、自動化、機械学習などの分野でアプリケーションを強化しています。 Python などの言語には AI フレームワークやライブラリが多数存在しますが、Java は依然として、堅牢でスケーラブルな AI アプリケーションを作成するための強力で多用途な言語です。このブログでは、実際の例とステップバイステップのガイドを使用して、Java で AI アプリケーションを構築する方法を探っていきます。
AI 開発に Java を使用する理由
Python はそのシンプルさと強力なライブラリにより AI の世界を支配していますが、Java にはいくつかの利点があります。
-
パフォーマンス: Java アプリケーションはパフォーマンスとスケーラビリティで知られており、大規模な AI アプリケーションに最適です。
-
幅広い採用: 多くの企業は Java を使用しており、既存のシステムは AI の統合を必要とすることがよくあります。
-
クロスプラットフォーム: Java はプラットフォームに依存しない性質があるため、異なるシステム上で AI モデルを簡単に実行できます。
-
豊富なエコシステム: Java は、Deeplearning4j、Weka、Apache Mahout など、AI 用のライブラリを豊富に備えています。
機械学習とニューラル ネットワークに焦点を当て、Java を使用して AI ソリューションを実装する方法を詳しく見ていきましょう。
AI 用の Java のセットアップ
Java で AI アプリケーションを構築するには、適切なライブラリを使用して開発環境をセットアップする必要があります。人気のあるライブラリには次のものがあります:
-
Deeplearning4j (DL4J): Java 用の人気のあるオープンソースの分散ディープラーニング ライブラリ。
-
Weka: データ マイニング用の機械学習アルゴリズムのコレクション。
-
Apache Mahout: クラスタリング、分類、協調フィルタリングのためのスケーラブルな機械学習ライブラリ。
このチュートリアルでは、強力な深層学習機能と Java での使いやすさのため、Deeplearning4j に焦点を当てます。
Deeplearning4jのインストール
Deeplearning4j をインストールするには、まず IntelliJ IDEA や Eclipse などのお気に入りの統合開発環境 (IDE) で新しい Maven プロジェクトをセットアップする必要があります。
Maven プロジェクトの作成: IntelliJ IDEA (または別の IDE) を開き、新しい Maven プロジェクトを作成し、JavaAIExample のような名前を付けます。
依存関係の追加: プロジェクトで pom.xml ファイルを開き、Deeplearning4j および ND4J (Java 用数値計算ライブラリ) の次の依存関係を追加します。
1 2 3 4 5 6 7 8 9 10 11 12 | <dependencies>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-core</artifactId>
<version>1.0.0-beta7</version>
</dependency>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native-platform</artifactId>
<version>1.0.0-beta7</version>
</dependency>
</dependencies>
|
ログイン後にコピー
これらの依存関係が整うと、Maven は Deeplearning4j に必要なライブラリをダウンロードします。
Java でのシンプルな AI モデルの構築
Deeplearning4j を使用して簡単なニューラル ネットワークを作成してみましょう。 MNIST データセットから手書き数字を分類するための基本モデルを構築します。
ステップ 1: データをロードする
Deeplearning4j は、MNIST データセットをロードするための組み込みサポートを提供します。これをプロジェクトにロードする方法は次のとおりです:
1 2 3 4 5 6 7 8 9 10 11 | import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator;
import org.nd4j.linalg.dataset.api.iterator.DataSetIterator;
public class MnistExample {
public static void main(String[] args) throws Exception {
int batchSize = 128;
int outputClasses = 10;
DataSetIterator mnistTrain = new MnistDataSetIterator(batchSize, true, 12345);
DataSetIterator mnistTest = new MnistDataSetIterator(batchSize, false, 12345);
}
}
|
ログイン後にコピー
ステップ 2: ニューラル ネットワーク構成を定義する
次に、1 つの隠れ層を持つ基本的なニューラル ネットワークをセットアップします。要件に応じてレイヤーとニューロンの数をカスタマイズできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import org.deeplearning4j.nn.conf.MultiLayerConfiguration;
import org.deeplearning4j.nn.conf.NeuralNetConfiguration;
import org.deeplearning4j.nn.conf.layers.DenseLayer;
import org.deeplearning4j.nn.conf.layers.OutputLayer;
import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;
import org.deeplearning4j.optimize.listeners.ScoreIterationListener;
import org.nd4j.linalg.activations.Activation;
import org.nd4j.linalg.learning.config.Adam;
import org.nd4j.linalg.lossfunctions.LossFunctions;
public class MnistExample {
public static void main(String[] args) throws Exception {
MultiLayerConfiguration config = new NeuralNetConfiguration.Builder()
.seed(123)
.updater( new Adam(0.001))
.list()
.layer( new DenseLayer.Builder()
.nIn(28 * 28)
.nOut(1000)
.activation(Activation.RELU)
.build())
.layer( new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)
.nIn(1000)
.nOut(10)
.activation(Activation.SOFTMAX)
.build())
.build();
MultiLayerNetwork model = new MultiLayerNetwork(config);
model.init();
model.setListeners( new ScoreIterationListener(10));
}
}
|
ログイン後にコピー
ステップ 3: モデルをトレーニングする
次に、MNIST トレーニング データセットを使用してモデルをトレーニングし、そのパフォーマンスを評価します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import org.nd4j.linalg.dataset.api.iterator.DataSetIterator;
import org.nd4j.linalg.dataset.api.DataSet;
import org.deeplearning4j. eval .Evaluation;
public class MnistExample {
public static void main(String[] args) throws Exception {
for (int i = 0; i < 10; i++) {
model.fit(mnistTrain);
}
Evaluation eval = new Evaluation(10);
while (mnistTest.hasNext()) {
DataSet next = mnistTest.next();
INDArray output = model.output(next.getFeatures());
eval . eval (next.getLabels(), output);
}
System.out.println( eval .stats());
}
}
|
ログイン後にコピー
ステップ 4: モデルを実行する
Java アプリケーションをコンパイルして実行します。トレーニングが完了すると、コンソールに精度や精度などの評価指標が表示されます。
結論
Java での AI アプリケーションの作成は Python ほど普及していないかもしれませんが、エンタープライズ グレードのスケーラブルな AI システムにとっては大きな利点があります。このチュートリアルでは、Deeplearning4j を使用した AI 開発用の Java 環境のセットアップ、データの読み込み、ニューラル ネットワークの構成、モデルのトレーニングと評価の方法を示しました。
Java のパフォーマンスと Deeplearning4j などのライブラリを組み合わせることで、開発者は AI をシステムにシームレスに統合できます。リアルタイム アプリケーションに取り組んでいる場合でも、大規模なデータ駆動型ソリューションに取り組んでいる場合でも、Java は AI システムを構築するための強力な選択肢であり続けます。
さらに読む:
- Deeplearning4j ドキュメント
- Java 機械学習ライブラリ (Java-ML)
- Apache Mahout
Java を使用すると、アプリケーションに AI の力をもたらすツールとライブラリが得られます。コーディングを楽しんでください!
以上がJava でスマート AI アプリを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。