forward

DropoutLayer.forward()

順伝播

ソース

forward() {
    var lap = new Lap(this.forwardTime);

    for(var i = 0; i < this.y_.dt.length; i++){
        if(net.isTraining){
            // トレーニング データの場合

            if(this.dropRatio <= Math_random()){
                // ドロップアウトしない場合

                this.valid[i]   = 1;
                this.y_.dt[i] = this.prevLayer.y_.dt[i];
            }
            else{
                // ドロップアウトする場合

                this.valid[i]   = 0;
                this.y_.dt[i] = 0;
            }
        }
        else{
            // テストデータの場合

            this.y_.dt[i] = (1 - this.dropRatio) *  this.prevLayer.y_.dt[i];
        }
    }

    lap.Time();
}