NNX.Core.Training.SimpleGradientTrainer.AdjustWeights C# (CSharp) Method

AdjustWeights() public method

public AdjustWeights ( INeuralNetwork nn, double weightGradients, double prevWeightGradients ) : void
nn INeuralNetwork
weightGradients double
prevWeightGradients double
return void
        public void AdjustWeights(INeuralNetwork nn, double[][] weightGradients, double[][] prevWeightGradients)
        {
            var weights = nn.Weights;

            for (var i = 0; i < weightGradients.Length; i++)
            {
                var gradientSubList = weightGradients[i];
                var weightSubList = weights[i];

                for (var j = 0; j < gradientSubList.Length; j++)
                {
                    var prevWeight = weightSubList[j];
                    var fullGradient = gradientSubList[j] + QuadraticRegularization * prevWeight +
                                        Momentum * prevWeightGradients[i][j];
                    weightSubList[j] = prevWeight - LearningRate * fullGradient;
                }
            }
        }