backpropagation ============================== .. js:function:: FullyConnectedLayer.backpropagation() 誤差逆伝播 ソース ^^^^^^ .. code-block:: js backpropagation() { var lap = new Lap(this.backwardTime); if (this.nextLayer) { // 最後のレイヤーでない場合 this.deltaY = this.nextLayer.deltaX; } this.cpuDeltaZ(); lap.Time(); this.deltaBias = this.deltaZ.Reduce((x, y) => x + y); lap.Time(); this.gpuDeltaWeight(); lap.Time(); if(! (this.prevLayer instanceof InputLayer)){ this.gpuDeltaX(); if(Math_random() < 0.01){ var gpu_delta_x = new Float32Array(this.deltaX.dt); this.cpuDeltaX(); var diff = this.deltaX.diff(gpu_delta_x); // Assert(diff < 0.01, "delta-X"); if(0.01 < diff){ console.log("dense delta-X %f", diff) } } } lap.Time(); }