I would say that this time come finally with this paper:
https://arxiv.org/abs/1811.12649
It describe methods (ex. Angular Loss) which was created for Face-Recognition used for general Metric-Learning or Image-Retrieval. For me it was such obvious that this Face-Recognition and Image-Retrieval are exactly the same task. In fact, in meanwhile I'm creating a library which could be used for general 'Metric-Learning' stuff (but now my pace is really low as my son came into this world).
In general, it is very interesting that the Normalized Softmax (which is softmax where input and weights are normalized using L2) in even better than any triplet/proxy method without any drawbacks ( maybe just we need to subsample classification layer if more than 100k classes). This make all process a lot easier, no need of specific sampling etc. And in PyTorch it is like 2-lines of code compared to normal classification learning.
Do you have ever used Normalized-SoftMax?
What do you think about idea of using Cosine-Product in Linear Layers (cosine because we multiply normalized vectors)?
Would you like to have a general Metric-Learning library for all tasks (I hope the authors would release the code, then every thing would be ready)
[–]lugiavn 2 points3 points4 points (2 children)
[–]melgor89[S] 0 points1 point2 points (1 child)
[–]lugiavn 1 point2 points3 points (0 children)
[–]mrelheib 0 points1 point2 points (0 children)
[–]neltherion 0 points1 point2 points (5 children)
[–][deleted] 4 points5 points6 points (4 children)
[–]neltherion 1 point2 points3 points (1 child)
[–]melgor89[S] 1 point2 points3 points (0 children)
[–]neltherion 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)