为暹罗网络中的对比损失选择余量

时间:2019-02-26 19:18:25

标签: neural-network deep-learning nlp computer-vision pytorch

我正在使用对比损失函数来构建用于度量学习任务的暹罗网络,并且不确定如何为损失设置“余量”超参数。

我对损失函数的输入当前是来自RNN层的1024维密集嵌入-输入的维数是否会影响我选择边距的方式?我是否应该先使用密集层将其投影到较低维的空间?任何有关如何选择特定保证金值(或任何相关研究)的指针将不胜感激!万一重要,我正在使用PyTorch。

1 个答案:

答案 0 :(得分:0)

您不需要将其投影到较小的空间。 余量与空间维数的相关性取决于损失的计算方式:如果不对嵌入值进行归一化并计算向量之间的全局差异,则正确的余量将取决于维数。但是,如果您计算归一化差异(例如余弦距离),则边距值将不取决于嵌入空间的维数。 这里说明了排名(或对比)损失,可能有用[[https://gombru.github.io/2019/04/03/ranking_loss/][1]