论文阅读学习
来源:互联网 发布:淘宝上论文发表靠谱吗 编辑:程序博客网 时间:2024/05/16 12:50
Hard-Aware Deeply Cascaded(HDC) Embedding
[Paper-version1]
[Paper-version2]
[Code-Caffe]
摘要:
深度度量学习基本目标是,使相同类别的图片间的距离比不同类别的图片间的距离小.
由于优化问题,通常采用 hard example mining 来只对样本的 hard 子集进行处理.
但,hard 是相对于模型而言的,复杂模型将大部分样本作为 easy 的,而简单模型将大部分样本作为 hard 的,二者结合又难以训练.
启发点:
样本是具有不同的 hard 层次的,但难以定义复杂性合适的模型,且能充分的选择 hard 样本.
因此,以级联方式来集合不同复杂度的模型,以充分挖掘 hard 样本;通过复杂度递增的一系列模型来判断样本,且只对被判断为 hard 的样本进行模型更新.
实验是将 GoogleNet 的两个辅助 loss 分支和一个主 loss 作为级联模型,三个分支 loss 的权重都设为1,三个分支的特征组合成最终的样本特征.
1.1 符号说明
P={I+i,I+j} ,训练数据集构建的全部 positive 图片对,I+i 和I+j 是相同标签(label)或者相似标签的图片;N={I−i,I−j} ,训练数据集构建的全部 negative 图片对,I−i 和I−j 是不同标签(label)或者不相关标签的图片;Gk ,第k 个子网络模块;假设共K 个网络模块,G1 的网络输入是图片,而Gk,k>1 的其它模块的输入是前一个模块的输出;K 个网络模块级联地组成前馈网络;K 个模型分别对应K 个不同深度的子网络;{o+i,k,o+j,k} , 网络Gk 对于 positive 样本对{I+i,I+j} 计算的输出;{o−i,k,o−j,k} , 网络Gk 对于 negative 样本对{I−i,I−j} 计算的输出;Fk ,第k 个变换函数,将ok 转换为低维特征向量fk ,以进行距离计算;{f+i,k,+j,k} ,Fk 对于 positive 样本对{I+i,I+j} 计算的第k 个特征向量;{f−i,k,−j,k} ,Fk 对于 negative 样本对{I−i,I−j} 计算的第k 个特征向量;
1.2 HDC 框架图
Figure 2. HDC Embedding. 对所有的样本对训练模型
1.2 计算
前向计算:
第一个网络模块
第
第
Pk ,被先前模型判定为 hard examples 的所有 positive 样本对;Nk ,被先前模型判定为 hard examples 的所有 negative 样本对;
HDC 的最终 Loss 函数:
λk - 权重
梯度计算:
采用 SGD 优化,
Loss 关于模型
Loss 关于变换
loss 函数 —— contrastive loss
Contrastive Loss 是使 positive 样本对和距离小于边缘参数的 negative 样本对间的距离尽可能大.
D(fi,fj) - 两个 L2-normalized 特征向量fi 和fj 间的 Euclidean 距离.M - 边缘参数(margin)
因此,基于 Contrastive Loss 的 HDC Loss 函数为:
1.3 Hard Example 的选择
给定 loss 函数,可以根据传统的 hard example mining 方法来定义 loss 值较大的样本作为 hard examples,但多个 loss 值将被用于挖掘每一个样本的 hard examples.
由于不同模型的 loss 分布是不同的,且在训练过程中一直变化,因此在挖掘 hard examples 时,很难预定义每个模型的阈值.
这里采用一种简单的处理方式:
以降序方式对 mini-batch 内的所有的 positive 样本对的 losses 进行排列;然后取前
hk 比例的样本作为模型k 的 hard positive set;类似地,
以降序方式对 mini-batch 内的所有的 negative 样本对的 losses 进行排列;然后取前
hk 比例的样本作为模型k 的 hard negative set;被选取的 hard samples 传向后面的级联网络模型.
例示:
Figure 3. 数据分布.
(a) Positive 样本对分布:基于中心的 anchor 点,
(b) Negative 样本对分布:
绿色箭头表示 Cascade-Model-1 的 loss,红色箭头表示 Cascade-Model-2 的 loss,黄色箭头表示 Cascade-Model-3 的 loss.
Cascade-Model-1 对
1.4 HDC 实现细节
类似于 lifted structured feature embedding ,构建图像 mini-batch 作为输入,例如,一个 mini-batch 内的 100 张图片是均匀地从 10 个不同的类别中随机采样得到的.
为了利用更多训练样本,采用[Learning a metric embedding for face recognition using the multibatch method] 的 mini-batch 方法,构建 min-batch 内的所有图像对,以计算训练 loss;例如,一个 mini-batch 内有 100 张图片,可以构建
基于 HDC 级联模型,一张图片是由全部模型的链接特征来表示的.
算法:
- 输入: 训练数据集
{Ii}Ni=1 - for
t=1;t<N;t++ do -
P0 和N0 . k=1;k≤K;k++ do
Pk−1 和Nk−1 内的所有图片进行 forward 到kth 模型,以根据下面公式计算特征:
{oi,k,oj,k}=Gk∘{oi,k−1,oj,k−1}
{fi,k,fj,k}=Fk∘{oi,k,oj,k} # 网络Gk 计算得到的特征
L+(i,j)=D(f+i,f+j)
L−(i,j)=max{0,M−D(f−i,f−j)} Pk 和Nk .Pk 和Nk 内的所有样本对进行 backward 和更新:
∂L∂Gk=∑Kl=kλl∂Ll∂Gk
∂L∂Fk=λk∂Ll∂Fk - end for
2. Experiments
HDC - image-retrieval tasks.
- CARS196 dataset
196 类 cars,16185 张图片,前 98 类(8054张图片)作训练,其余 98 类(8131张图片) 作测试. - CUB-200-2011 dataset
200 类 birds,11788 张图片,前 100 类(5864 张图片)作训练,其余的(5924 张图片) 作测试. - Stanford Online Products dataset
22634 类 products,120053 张图片,11318 类(59551 张图片) 作训练,其余的 11316 类(共 60502 张图片)作测试. - In-shop Clothes Retrieval dataset
DeepFashion,11735 类 clothes,54642 张图片,从中筛选 7982 类(52712 张图片) 作训练和测试. 3997 类(25882 张图片)作训练,3985类(28760 张图片)作测试.
测试集分为 query set 和 database set. query set 共 3985 类(14218 张图片);database set 共 3985 类(12612 张图片). - VehicleID dataset
26267 类 vehicles,221763 张图片,13134 类(110178 张图片)作训练,13133 类(111585 张图片)作测试.
2.1 SetUp
基于 GoogleNet.
2.2 Results
- 论文阅读学习
- 论文阅读学习
- 论文阅读学习
- 论文阅读学习
- 论文阅读学习
- 论文阅读学习
- 论文阅读学习
- 深度学习论文阅读路线图
- 深度学习论文阅读路线图
- 深度学习相关论文阅读
- 深度学习论文阅读路线图
- RoadMap|深度学习论文阅读路线图
- 多任务深度学习论文阅读
- 【论文阅读】 计算语言学与深度学习
- 迁移学习论文阅读感想(初步)
- 阅读论文
- 阅读论文
- 论文阅读
- unity问题汇总
- bash: ifconfig: command not found 解决办法
- Session 与InteractiveSession()区别
- poj日记(1004)
- 机器学习之决策树算法
- 论文阅读学习
- C++获取文件夹下所有文件名
- 设计师面试常遇到的几个问题如何解答
- 取消SecureCRT控制台行数限制
- 十一月二十七日课堂笔记
- c++ 新技能get 统计单词数
- 【库房】easyui的messager.show弹出框页面居中显示
- sqlServer 时间格式化
- await is a reserved word 以及将forEach方法的参数改为async函数出现的问题