layerganza
Version:
A feed-forward neural network with injectable layers, activation functions, and optimizers.
21 lines (20 loc) • 753 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
//@TODO have a default learning rate
class GradientDescentOptimizer {
constructor(learningRate) {
this.learningRate = learningRate;
this.optimizeWeights = this.optimizeWeights.bind(this);
}
init() {
//Do nothing. We don't use weight count in this optimizer.
}
optimizeWeights(weights, weightErrorGradients) {
//Defining locally speeds up the loop below by reducing object property access
let learningRate = this.learningRate;
for (let i = 0, len = weights.length; i < len; i++) {
weights[i] -= learningRate * weightErrorGradients[i];
}
}
}
exports.default = GradientDescentOptimizer;