首页 > 解决方案 > 为孪生网络中的对比损失选择边际

问题描述

我正在为度量学习任务构建一个孪生网络,使用对比损失函数,我不确定如何为损失设置“边际”超参数。

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

标签: neural-networkdeep-learningnlpcomputer-visionpytorch

解决方案


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


推荐阅读