私はこのようなものを実装しようとしています。https://www.youtube.com/watch?v=Fp9kzoAxsA4は、DL4Jライブラリを使用するGANN(遺伝的アルゴリズムニューラルネットワーク)です。deeplearning4jでカスタムウェイトを初期化する
遺伝的学習変数:
- 遺伝子:クリーチャーニューラルネットワークの重み
- フィットネス:総距離は移動しました。すべての生き物のため
ニューラルネットワーク層:
- 入力層:
1
いずれか5センサーセンサ方向又は0
でない場合に壁があるかどう。 - 出力レイヤー:クリーチャーの角度にマップされた線形出力。
これはクリーチャーのオブジェクトのための私のcreateBrain
方法である:それは私がこのレポに https://github.com/kareem3d/GeneticNeuralNetwork
をプッシュしているに役立つかもしれない、これは https://github.com/kareem3d/GeneticNeuralNetwork/blob/master/src/main/java/com/mycompany/gaan/Creature.java
クリーチャークラスである場合private void createBrain() {
Layer inputLayer = new DenseLayer.Builder()
// 5 eye sensors
.nIn(5)
.nOut(5)
// How do I initialize custom weights using creature genes (this.genes)?
// .weightInit(WeightInit.ZERO)
.activation(Activation.RELU)
.build();
Layer outputLayer = new OutputLayer.Builder()
.nIn(5)
.nOut(1)
.activation(Activation.IDENTITY)
.lossFunction(LossFunctions.LossFunction.MSE)
.build();
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.seed(6)
.optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
.iterations(1)
.learningRate(0.006)
.updater(Updater.NESTEROVS).momentum(0.9)
.list()
.layer(0,inputLayer)
.layer(1, outputLayer)
.pretrain(false).backprop(true)
.build();
this.brain = new MultiLayerNetwork(conf);
this.brain.init();
}
私は学生を学ぶ機械なので、間違いがあれば、教えてください。ありがとう:)