cpuDeltaBias

ConvolutionalLayer.cpuDeltaBias()

CPUによるδbiasの計算

ソース

cpuDeltaBias(){
    var num_rows_cols = this.numRows * this.numCols;

    // すべての特徴マップに対し
    for (var channel_idx = 0; channel_idx < this.numChannels; channel_idx++) {

        var delta_bias = 0.0;

        // 出力の行に対し
        for (var r1 = 0; r1 < this.numRows; r1++) {

            // 出力の列に対し
            for (var c1 = 0; c1 < this.numCols; c1++) {

                // バッチ内のデータに対し
                var delta_z_idx = channel_idx * num_rows_cols + r1 * (this.numCols | 0) + c1;
                for (var batch_idx = 0; batch_idx < miniBatchSize; batch_idx++) {

                    delta_bias += this.deltaZ.dt[delta_z_idx];
                    delta_z_idx += this.unitSize;
                }
            }
        }

        this.deltaBias.dt[channel_idx] = delta_bias / (this.numRows * this.numCols);
    }
}