zoukankan      html  css  js  c++  java
  • 差异特征学习中的损失函数简单综述

      差异特征学习指如何获取差异最小的类内和差异最大的类间特征,这里的差异特征学习可应用的场景包含并不仅限于人脸识别,行人重识别和细粒度识别等。

      由于这方面涉及太广和自身能力有限,只结合自己使用经验对关键差异的阐述,且略去基本算法描述。

    • softmaxloss

      softmaxloss作为最基本的identity loss能解决绝大部分场景分类问题,提取的特征也有较好的表达,只是它的特征分布呈射线簇,在分类中使用还好,在检索中就涉及样本间距离(相似度)的计算,射线簇无论是欧式距离还是与余弦距离均有弊端。可以参考此篇(https://zhuanlan.zhihu.com/p/34404607),总结的很好。

    • 双损失(identity loss + verification loss)

      verification loss能度量样本间的关系,结合identity loss,相当于一种多任务,获取差异特征表达。

      双损失迅速占据了主流,且性能很好。典型的代表是softmaxloss+contrastiveloss和softmaxloss+tripletloss。

      contrastiveloss的对象是二元组,同类拉近,异类大于margin。但实验显示,同类拉近这点极易导致过拟合。

      tripletloss的对象是三元组,异类大于同类margin的距离,triplet是一个很好的约束损失,但是难点在于三元组的组合挖掘,HardTri是一个改进方向。

      还有center loss,想法很好,但多了一个类心收敛过程(训练很慢),且当类别较大,内存维护这样所以类心,消耗较大。

    • 基于角度的softmax改进

      一系列论文包括,L-softmax->A-softmax->Feature Normalization->AM-Softmax

      L-softmax首次提出基于角度的softmax优化,关注特征向量和对应权值向量的角度缩小,从而获得差异特征。

      A-softmax在L-softmax基础上归一化了权值,让训练更集中在优化特征和向量角度上。L和A均采用退火算法训练。

      Feature Normalization提出了归一化特征(让特征分布在圆上不再呈射箭簇),且添加尺度因子(抵消归一化带来的特征空间压缩)。

      AM-Softmax,在前面的基础上,将乘性margin优化为加性margin,使得训练更易收敛。

      

  • 相关阅读:
    【LeetCode】456. 132 Pattern
    【Python&Sort】QuickSort
    Python虚拟环境的配置
    【LeetCode】459. Repeated Substring Pattern
    【LeetCode】462. Minimum Moves to Equal Array Elements II
    【LeetCode】20. Valid Parentheses
    radio 获取选中值
    页面加载时自动执行(加载)js的几种方法
    加一个字段: updateTime 更新时间
    多用户同时处理同一条数据解决办法
  • 原文地址:https://www.cnblogs.com/dingz/p/10154906.html
Copyright © 2011-2022 走看看