Machine Learning.
very effective. → one drawback has to select the alpha value. (triplet loss → keeps all positive values close) → better. Some computationally infeasible loss functions exist → but theoretically good. → hard negative mining and some other methods exist for faster convergence. Batch construction also