主页 > IT业界  > 

AngularLoss论文理解

AngularLoss论文理解

Angular Loss论文理解 一、相较于Triplet loss二、Angular loss的意义三、Angular loss的优点四、Angular Loss五、实施细节六、训练细节七、未来构想

一、相较于Triplet loss

Triplet loss在训练时,收敛较难

每个三元组需要三次抽样,然而将某个数据集中所有三元组罗列出来是不实际的,因此需要高效取样策略。目标是将inter-class间的距离推远到margin m以上,然而使用全局统一margin m是不合理的,因为现实世界中,intra-class的距离有很大变化从函数的梯度运算公式来看,每个sample的梯度只考虑两个点之间的关联,不会考虑第三个点。 二、Angular loss的意义

因为anchor和positive samples属于同一个类别,因此可以对称地推导出

由于an边和pn边的距离都应该大于ap边,根据余弦定理,最短的变ap对应的角∠n ≤ min(∠a, ∠p) 又因为,三角形内角和=180度,因此∠n 应该小于60度,因此得到一个upper bound:

三、Angular loss的优点 Angle是一个similarity transform invariant(相似变换不变量) metric,与三角形边的相对关系成比例。用一个固定的α ,能够适用与feature map的任意缩放相较于Triplet loss,只考虑两个边。∠n的计算需要同时考虑三个边,提升优化的鲁棒性和高效性Margin m的选取没有有意义的参考,而 α 的设置有具体且可解释的几何学意义 四、Angular Loss

如图Fig3(a),当∠a大于90度时,减小∠n可能会使negative 靠近anchor,出现不稳定case 因此,通过外界圆C,和垂直于nc边的超平面P,产生两个新的点,圆心Xc 和相交点Xm。通过变换Xa到Xc,和变换Xp到Xm,得到一个新的三角形。 目标变成:减小∠n′ -> 减小 tan∠n′ 对应的梯度计算:

五、实施细节 取样策略:采用N-pair loss论文中的取样逻辑,取N/2个classes,每个class随机取2个samples,构成N个tuplets——由同class的2个samples构成anchor和positive,N-1个negatives取自其他不同classes平滑loss函数:

基于以下不等式

假设feature为单元长度:||x|| = 1 得到:

结合N-pair Loss:λ = 2

六、训练细节 对于类目数量多的数据集,使用0.0001的LR;对于类目较少的数据集,使用0.00001的LRα的选择对训练结果会有影响,不同的数据集,最佳α不同,一般固定在36度~55度最佳单独使用AL时,根据α的选择,效果和NL不相上下,NL&AL的效果最好 七、未来构想

三元组再往上,形成四元组,构成一个triangular pyramid(三角锥体),关注一个点到另外三个点构成平面的距离关系

标签:

AngularLoss论文理解由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“AngularLoss论文理解