This repository was archived by the owner on Nov 5, 2022. It is now read-only.

Description
When I reviewed the code in internal/TrainModel.m, line 283 ~ 288, the original codes are as below:
if params.DEEP.WHITEN_FEATURES
% Unwhiten the first layer according to the whitening transformation, so
% that is produces the correct output on the unwhitened feature vectors.
model.W{1} = model.W{1} * whitening_transformation.A;
model.b{1} = model.W{1} * whitening_transformation.b + model.b{1};
end
Since model.W{1} changed before model.b{1} it will lead a computational mistake to model.b{1}.And this mistake may weaken the model performance.
So I simply change the code order as below:
model.b{1} = model.W{1} * whitening_transformation.b + model.b{1};
model.W{1} = model.W{1} * whitening_transformation.A;
And after this change, I got a significant improvement in my experiment.^.^