Hi Bartosz,
Thanks for the message, happy you're looking so closely at the code.
> 1. I look at the architecture of nn4 and could you explain me some stuff
> - why no normalization in first layers, as FaceNet use it? (I mean that
> comment: -- Don't use normalization)
The only information the FaceNet paper gives is just `norm` for these portions,
so I'm not sure what kind of normalization they're using.
Do you know?
Maybe something like Torch's SpatialContrastiveNormalization?
I opened an issue on this a month ago to remind myself to
further experiment with the normalization:
https://github.com/cmusatyalab/openface/issues/37
> - do you try to remove 5x5 kernels in nn4? I think that they remove
> 5x5 convolutions in last two layers, where input field is smaller than 5x5
> (for example input to 5a, 5b in 3x3x1024. the input to 4e is 6x6x640). I
> would delete this 5x5 in last two Inception modules)
I don't have any reason for keeping these, will try removing them.
I've opened a new issue thread for training the next model
with this, the normalization, and some alignment issues at:
https://github.com/cmusatyalab/openface/issues/55
I think I'll be able to start training new models with these
in a week or 2.
Do you have any other suggestions before then?
> - in paper there in no info about Batch Normalization? Do you think
> it matter?
I hope not, but haven't run extensive experiments on this.
Also added it to the issue, but I'm not sure how to evaluate this
without training a new model for 2-3+ weeks.
> 2. You release the model from 177 epoch, but you learn by ~300 epoch.
> This is because of lower result from the final model (it overfitt)?
Yes, the later models seemed to overfit and didn't perform as good
on the LFW.
I don't have any better numbers because I deleted the models to
clear up disk space.
> 3. Do you think, that any data augmentation technique could provide
> better result? Like color jittering, jpeg compression?
Possibly, [Krizhevsky 2012] has a good section on this for image classification
where they augment the colors and try random crops.
My intuition is that the random crops aren't good for face recognition
since the alignment preprocessing puts all of the features in
the same location, but color jittering might help.
When I extended the [imagenet-multiGPU.torch] example for OpenFace,
I removed the augmentation code.
Would be interesting to try.
> How are the result after training with Suggestion 1?
Thanks again for fixing this!
Training is clearly faster now, but the accuracy hasn't surpassed
my existing models.
I posted the latest results here:
https://github.com/cmusatyalab/openface/issues/48#issuecomment-157421504
-Brandon.
[imagenet-multiGPU.torch]:
https://github.com/soumith/imagenet-multiGPU.torch
[Krizhevsky 2012]:
http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf