Реализуем искуственный интеллект в виде нейронной сети на Java.
Проект Neuroph по-сути имеет две реализации:
- Программа с графическим интерфейсом для наглядного отображения работы нейронной сети, ее обучения и тестирования.
- Набор классов для интегрирования в приложение Java
Neuroph studio
Для того, чтобы создать и обучить нейронную сеть с помощью Neuroph Studio, необходимо выполнить следующие шаги:
- Create Neuroph Project
- Create Perceptron network
- Create training set (Training -> New Training Set)
- Train network
- Test trained network
Интеграция нейронной сети в Java приложение
Пример создания небольшой нейронной сети на Neuroph:
[java]
package neural;
import javax.sql.rowset.serial.SerialArray;
import org.neuroph.core.NeuralNetwork;
import org.neuroph.core.data.DataSet;
import org.neuroph.core.data.DataSetRow;
import org.neuroph.nnet.Perceptron;
import org.neuroph.nnet.learning.HopfieldLearning;
import org.neuroph.util.TransferFunctionType;
public class Neural {
public static void main(String[] args) {
// TODO Auto-generated method stub
NeuralNetwork<HopfieldLearning> nNetwork = new Perceptron(2, 1);
DataSet trainingSet =
new DataSet(2, 1);
trainingSet. addRow (new DataSetRow (new double[]{0, 0},
new double[]{0}));
trainingSet. addRow (new DataSetRow (new double[]{0, 1},
new double[]{1}));
trainingSet. addRow (new DataSetRow (new double[]{1, 0},
new double[]{1}));
trainingSet. addRow (new DataSetRow (new double[]{1, 1},
new double[]{1}));
// learn the training set
nNetwork.learn(trainingSet);
// save the trained network into file
nNetwork.save("or_perceptron.nnet");
System.out.println("end");
// set network input
nNetwork.setInput(0, 0);
// calculate network
nNetwork.calculate();
// get network output
double[] networkOutput = nNetwork.getOutput();
for (double i : networkOutput)
System.out.println(i);
}
}
[/java]