Rank loss调研

Rank loss调研

A Generic Graph-based Neural Architecture Encoding Scheme for Predictor-based NAS这一篇文章对于rank loss有着详细的介绍。作者在真正做实验的时候,使用了好几种rank相关的loss,最后发现pairwise的这种comparator是最好的。

如果MSE loss表示如下的话,

\[L(\{a_j, y_j\}_{j=1,...,N} = \sum_{j=1}^{N}(P(a_j)-y_j)^2 \]

则hinge pair-wise ranking loss则可以表示为

\[L(\{a_j, y_j\}_{j=1,...N}) = \sum_{j=1}^{N}\sum_{i, y_{i}>y_{j}} max[0, m-(P(a_i)-P(a_j))] \]

\(a_i\)为与测试,\(y_i\)为GT。上述公式表示的意思是,\(j\)的索引从1到\(N\),然后再找那些大于\(y_j\)的索引\(i\), 然后理论上我们想要得到的是\(P(a_i)>P(a_j)\)。所以如果上述条件满足的话,上述loss的右边的一项为负数,所以loss为0,大概是加了一个m,允许在一定范围内波动也是允许的。

rank loss分为两种,一种是pairwise的ranking loss,另外一种是listwise ranking loss

pairwise ranking loss

pairwise rank loss可以表示如下

\[L^p(\tilde{S}) = \sum_{i=1}^{N}\sum_{j\in\{j|y_i<y_j\}} \phi(P(a_j), P(a_i)) \]

其中\(\phi\)有两种形式,一种是二值交叉熵函数

\[\phi(s_j, s_i) = log(1+e^{(s_j-s_i)}) \]

另外一种是hinge loss函数,可以描述为如下

\[\phi(s_j, s_i) = max(0, m-(s_j-s_i)) \]

其中\(m\)是正的margin

除此之外,作者还使用了一个pairwise comparator

listwise ranking loss

作者还使用了ListMLE这种list ranking loss。

posted on 2021-05-26 14:01  YongjieShi  阅读(314)  评论(0编辑  收藏  举报

导航