论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID

摘要:
引言是HA-CNN的改进版本。在下图中,我们可以发现,当正样本对之间的距离小于负样本对之间距离时,仍然存在一个损失值,这进一步放大了两者之间的距离,实现了预先设置余量的功能。同时,固定保证金使以下两种情况的损失为零,无法评估保证金内的情况。

Introduction

对HA-CNN的改进版。

Methods

(1) 训练策略:

① Weighted triplet loss with Soft margin:

最初的triplet loss为:

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第1张

Batch-hard triplet loss选择了难样本对进行损失计算:

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第2张

batch-hard的缺点是:对异常样本敏感,硬选择策略可能会丢失重要信息。

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第3张

对这个公式的权重,我的理解是:对正样本对,越不相似的权重越大;对负样本对,越相似的权重越大。也就是难样本的权重更大。

作者提出的新三元组损失,其中论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第4张

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第5张

下图可以发现,当正样本对距离已经小于负样本对距离时,依然存在损失值,让两者的间距进一步拉大,达到了之前设置margin的作用。

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第6张

同时,margin的固定使得下面的(a)(b)两种情况的损失均为0,无法评估margin范围内情况。而作者提出的方法(c)克服了这个问题,即使已经满足了正样本对距离<负样本对距离,其距离差异依然能进一步拉大。

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第7张

② L2 normalization:

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第8张

③ SWAG:

SWA (Stochastic weight averaging):在优化的末期取k个优化轨迹上的checkpoints,平均他们的权重,得到最终的网络权重,这样就会使得最终的权重位于flat曲面更中心的位置【参考代码

SWAG (SWA-Gaussian):使用SWA解作为一阶矩拟合高斯函数,并且从SGD迭代获得低秩加对角协方差,从而在神经网络权重上形成近似后验分布(知识盲区);

学习率上采用余弦退火学习率(cosine annealing learning rate):一种周期性学习率【参考

④ 其它训练技巧:

随机擦除(Random Erasing Augmentation, REA)、Warmup.

(2) 模型优化:

① Shuffle blocks:

将输入的特征按通道划分为两部分输入两个分支中,级联后进行channel shuffle

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第9张

关于channel shuffle的直观理解:

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第10张

② Generalized Mean (GeM):

在HACNN中,全连接层之前采用了GAP,然而如果用GMP替换,有时带来提升有时带来下降。作者提出了GeM池化,对任意特征图的计算为:

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第11张

③ 网络架构:

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第12张

Experimental Results

(1) 实验细节:

图像尺寸:160x64;

优化器:SGD+Warmup(350 epochs) / SWAG(15 cycles of 35 epochs = 525 epochs);

batch: 8 ID x 4 images = 32。

(2) 实验结果:

论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID第13张

免责声明:文章转载自《论文阅读笔记(七十二)【ICMR2020】:Compact Network Training for Person ReID》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何设置eclipse字体及大小jquery获取的html元素和document获取的元素的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Dubbo的高可用机制

博客转载自:https://mrbird.cc/Spring-Boot-Dubbo-Zookeeper.html Dubbo的一些自身特性确保了Dubbo的高可用,比如当注册中心宕机后,服务提供者和服务消费者仍能通过本地缓存通讯;注册中心对等集群,任意一台宕掉后,将自动切换到另一台;当有多台服务提供者提供服务时,Dubbo内置了几种负载均衡算法,并且服务提...

论文笔记:(2021CVPR)PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds

目录 摘要 1、引言 2、相关工作 将点云映射到常规二维或三维栅格(体素) 基于MLPs的点表示学习 基于点卷积的点表示学习 动态卷积和条件卷积 3、方法 3.1 回顾 3.2 动态内核组装 Weight Bank ScoreNet. Kernel generation 3.3 权重正则化 3.4 与前期工作的关系 4、骨干网体系结...

《python深度学习》笔记---3.1、神经网络剖析

《python深度学习》笔记---3.1、神经网络剖析 一、总结 一句话总结: |||-being 训练神经网络主要围绕以下四个方面,构建好架构,还是非常简单的 |||-end 层,多个层组合成网络(或模型)。 输入数据和相应的目标。 损失函数,即用于学习的反馈信号。 优化器,决定学习过程如何进行。 1、层:深度学习的基础组件 ? 输入张量转化为输出张量:...

RNN学习笔记

传统的语言模型在预测序列中的下一个单词时只会考虑到前面的有限个单词,RNN与之不同,RNN网络会根据前面已经出现的所有输入来调整整个网络。下图是RNN网络的典型结构: Xt表示在t时刻的输入,ht表示t时刻的隐藏层状态,yt表示t时刻的输出。每一个隐藏层都有许多的神经元,这些神经元将上一层的输入做线性变换(矩阵乘法,也就是乘以权重),然后再使用非线性激活...

零基础入门深度学习(5)

无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就out了?现在救命稻草来了,《零基础入门深度学习》系列文章旨在讲帮助爱编程的你从零基础达到入门级水平。零基础意味着你不需要太多的数学知识,只要会写程序就行了,...

多级目录树(森林)的三种数据库存储结构介绍

去年做过一个项目,需要每日对上千个Android内存泄漏(OOM)时core dump出的hprof文件进行分析,希望借助海量数据来快速定位内存泄漏的原因。最终的分析结果是一个类森林,因为时隔较远,只找到下面这个截图了。 点击打开折叠的项目,会看到该类的每个属性,类有多少个实例,占用的大小等等信息,树的深度可以达到10^2级别。重点是项目需要实时,每个h...