我对NN很新,并开始玩Deeplearning4j。我尝试过减少照片中的ISO噪点。为了做到这一点,我拍摄了两张相同框架的照片,但是一张照片是ISO 100,另一张是ISO25600。
我做了一个简单的NN,有2个隐藏层。输入是嘈杂的高ISO图像(3个通道* 100px * 100px = 30000),输出应该是干净的图像(与输入大小相同)
以下是我的NN的样子:
final int numHiddenNodes = 50;
return new NeuralNetConfiguration.Builder()
.seed(seed)
.iterations(iterations)
.optimizationAlgo(
OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
.learningRate(learningRate)
.weightInit(WeightInit.XAVIER)
.updater(Updater.NESTEROVS)
.optimizationAlgo(
OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
.list()
.layer(0,
new DenseLayer.Builder().nIn(numInputs)
.nOut(numHiddenNodes)
.activation(Activation.TANH).build())
.layer(1,
new DenseLayer.Builder().nIn(numHiddenNodes)
.nOut(numHiddenNodes)
.activation(Activation.TANH).build())
.layer(2,
new OutputLayer.Builder(LossFunctions.LossFunction.MSE)
.activation(Activation.RELU)
.nIn(numHiddenNodes).nOut(numOutputs).build())
.pretrain(false).backprop(true).build();
我已经训练了几千个时代的网络,我得到的分数大约是130(这可能是均方误差),但我得到的结果并不是我的预期。
我是以错误的方式解决这个问题吗?