-
摘要:
目前数据中心规模迅速扩大、网络带宽大幅提升,传统软件网络协议栈的处理器开销较大,并且难以满足众多数据中心应用程序在吞吐、延迟等方面的需求. 远程直接内存访问(remote direct memory access,RDMA)技术采用零拷贝、内核旁路和处理器功能卸载等思想,能够高带宽、低延迟地读写远端主机内存数据. 兼容以太网的RDMA技术正在数据中心领域展开应用,以太网RDMA网卡作为主要功能承载设备,对其部署发挥重要作用. 综述从架构、优化和实现评估3个方面进行分析:1)对以太网RDMA网卡的通用架构进行了总结,并对其关键功能部件进行了介绍;2)重点阐述了在存储资源、可靠传输和应用相关3方面的优化技术,包括面向网卡缓存资源的连接可扩展性和面向主机内存资源的注册访问优化,面向有损以太网实现可靠传输的拥塞控制、流量控制和重传机制优化,面向分布式存储中不同存储类型、数据库系统、云存储系统以及面向数据中心应用的多租户性能隔离、安全性、可编程性等方面的优化工作;3)调研了不同实现方式、评估方式. 最后,给出总结和展望.
Abstract:With the rapid expansion of data center and the significant increase in network bandwidth, traditional software network protocol stack has high processor overhead and is difficult to meet the needs of many data center applications in terms of throughput, latency and other aspects. Remote direct memory access(RDMA)technology uses the ideas of zero copy, kernel bypass and processor function offloading to read and write remote host memory data with high bandwidth and low latency. Ethernet-compatible RDMA technology is being applied in data centers, and Ethernet RDMA NIC plays a crucial role in its deployment as the main functional bearer device. This overview analyzes from three aspects: architecture, optimization, and implementation evaluation. 1) We summarize the general architecture of Ethernet RDMA NIC and introduce the key functional components; 2) We focus on the optimization techniques in storage resources, reliable transmission and application-related aspects, including optimization of both connection scalability for NIC cache resources and registration access for host memory resources, optimization of congestion control, flow control and retransmission mechanism for lossy Ethernet to achieve reliable transmission, and optimization of different storage types in distributed storage, database system, cloud storage system, and multi-tenant performance isolation, security and programmability for data center applications; 3) Then we investigate different implementation and evaluation methods. Finally, the summary and outlook are given.
-
行人重识别(person re-identification,ReID)任务旨在从互不重叠的摄像头收集的图库中匹配与给定查询图像身份相同的行人图像[1-2]. 近些年以来,随着强大的深度卷积神经网络(convolutional neural network,CNN)的成功应用,全监督场景下的行人重识别任务取得了快速的发展[3-5]. 但随之而来的是,现有基于模型层面改进的方法在效果上基本达到瓶颈[6-7]. 为了进一步提升模型性能以及考虑到收集有标记的虚拟数据不需要耗费人力和物力成本,本文提出将大规模虚拟数据集与真实世界数据集结合来训练行人重识别模型的方法,从而克服因真实世界数据匮乏造成的模型过拟合于训练集,而在测试集上表现不佳的问题. 然而,虚拟数据集和真实世界数据集往往存在着较大的领域差异,即这2个数据分布之间差异较大,如图1所示. 直接将虚拟数据和真实数据混合往往会给模型的学习带来困惑并减慢收敛速度,从而无法在真实世界的数据集上取得很好的性能,甚至可能对模型的性能带来损害.
除此之外,如图2所示,行人重识别任务的另一大挑战是,在不同摄像头下拍摄出的行人图像通常包含由背景、视角、光照、分辨率、人体姿势等一系列变化引起的显著的类内差异(intra-class variation),这些类内差异往往会对度量不同摄像头下同一身份的相似性带来不利影响,从而给现有的研究工作带来了巨大的挑战. 因此,如何更好地利用大规模的有标记的虚拟数据,使其帮助模型从更丰富多样的数据中学习得到摄像头差异无关的特征表示(camera-invariant feature representations),并提高模型在真实数据上的泛化性能也是本文研究的重点.
针对上述问题,本文提出了基于摄像头感知的对抗迁移学习方法,通过同时建模领域差异和多摄像头间类内差异,使模型从更丰富多样的数据中学习得到更鲁棒的摄像头差异无关的特征表示. 具体地说,受域对抗迁移网络[8](domain-adversarial migration network,DANN)将“对抗机制”引入神经网络训练方法的启发(DANN通过将特征提取器与领域判别器进行对抗训练,使得特征提取器学习到领域无关(domain-invariant)的特征),为了使虚拟数据集的分布尽可能向真实世界数据集靠拢从而消除领域差异,本文将对抗迁移学习引入行人重识别方法. 考虑到同一身份一般是由具有不同参数和环境的多个摄像头记录,从而具有显著不同的外观表现. 由此造成的摄像头之间的分布差异,也会使得识别同一身份的样本以及优化类内特征的相似性变得更加困难. 所以在DANN迷惑领域判别器的基础上,本文进一步提出使判别器无法分辨特征提取器处理后的数据(图像的特征表示)来自哪个真实领域的摄像头,从而获得摄像头差异无关的特征表示.
此外,为了缓解虚拟数据集夹带的误导信息所带来的不利影响和对抗训练中真实世界数据集的数据分布向虚拟数据集的数据分布发生偏移的问题,从而提高模型在真实数据集上的测试效果,本文引入一个只由真实数据集训练的辅助网络去约束混合数据训练的主网络对真实数据的预测概率. 本文的主要贡献包括4个方面:
1)引入少代价的标记虚拟数据集进行辅助训练的虚实结合的行人重识别框架,以此缓解由于数据匮乏导致的全监督行人重识别任务达到瓶颈的问题;
2)提出一种基于摄像头感知的非对称领域对抗模块,可以同时建模虚拟数据集和真实数据集的领域差异和由不同摄像头拍摄带来的类内差异,使模型从更丰富多样的数据中迁移有效的知识到真实场景中和学到摄像头差异无关的特征表示;
3)引入辅助网络进行训练,将知识蒸馏应用到学习框架中,实现参照真实数据分布空间的目标,以缓解虚拟数据集夹带的误导信息带来的不利影响和真实数据集的分布偏移问题;
4)在2个公开的行人重识别数据集上进行了实验验证和分析,实验结果表明我们提出的基于知识迁移的虚实行人重识别方法可以有效地从丰富的数据中学到摄像头差异无关的特征表示,以提升模型在真实场景下的泛化性能.
1. 相关工作
在监控系统中,受背景、视角、光照、分辨率、人体姿势等一系列变化的影响,同一身份的行人图像通常具有显著的类内差异,这些类内差异往往会对度量不同摄像头下同一身份的相似性带来不利影响,从而给现有的研究工作带来了巨大的挑战. 任务发展的初期,研究人员使用人工设计的特征进行行人重识别[9-12]. 近年来,随着深度学习技术的快速发展,基于深度学习的方法在行人重识别任务中占据主导地位,进而得到了广泛的应用和研究[3-7,13]. 本文从3个方面介绍本文任务的相关工作.
1.1 全监督的行人重识别方法
由于人体特征呈高度结构化,区分相应的身体部位可以有效地确定身份. 许多最近的工作[6,14-16]聚合来自不同身体部位和全局线索的显著特征用于人物重新识别. 其中,基于局部特征的方法[5-6,16]实现了最先进的性能,该方法将输入图像水平分成固定数量的条带,并从这些条带中聚合特征. 但从多个分支聚合特征向量网络结构较为复杂.
此外,区分行人图像的有效特征表示也是行人重识别任务中的一项重要挑战. 为了处理不完美的边界框检测和身体部位错位,许多工作[11,17-19]利用注意力机制来捕捉和聚焦于显示信息性特征(例如,空间位置和人体姿态)并抑制噪声部分(例如,背景和照明). 显著性加权[20-21]是解决这个问题的一种有效方法. 受到注意力模型的启发,Zhao等人[20]提出了针对行人重识别的部分对齐表示. 在类似的思想下,一些工作[21-22]也表现出了优越的泛化性能,它们将区域注意力选择子网络融合到行人重识别模型中. 为了学习对姿态变化具有鲁棒性的特征表示,姿态引导的注意力方法[23-24]借助姿态估计和人体分割网络将不同的身体部位特征融合在一起,以利于提升模型的性能.
由于摄像头标记信息在行人重识别任务中较为容易获得,且不同摄像头下同一身份的行人图像通常受类内差异的影响难以进行相似度度量. 近年来,一些研究[25-26]通过摄像头标记信息学习摄像头风格的变化,来解决跨摄像头检索任务中的图像风格变化产生类内差异的问题. 例如,Zhong等人[25]提出了一种平滑相机风格差异的方法. 利用CycleGAN将训练图像的风格样式转换到每个摄像头的风格上,生成后的数据样本与原始训练样本一起形成增强的训练集. 此外,Zhuang等人[26]提出了一种基于摄像头的批量归一化方法,用于解决行人重识别中的分布差异问题. 在训练中通过对每个摄像头进行归一化,实现映射所有摄像头下的数据到共享空间,从而使模型更好地适应新的摄像头.
为了进一步提高检索精度,一些研究工作还采用了重新排序策略[27-28]和使用特定人物属性进行推断[29]. 一些常用的数据增强方法,如随机擦除[30]和Cutout[31]也被广泛使用. 值得注意的是,数据增强方法可以与我们的方法结合使用.
1.2 对抗迁移学习的相关研究
对抗迁移学习中一类很重要的算法就是基于生成对抗的. 随着生成对抗网络(generative adversarial networks,GAN)的发展,已经提出了许多基于生成对抗的方法[32-38]被应用到有监督和无监督行人重识别任务上.Liu等人[32]考虑了由人体姿态变化引起的重新识别鲁棒性挑战,并提出了一种姿态可转移框架,利用姿态转移样本增强姿态鲁棒性. Qian等人[33]引入人体姿态用于合成具有不同姿态的人物图像,通过合成姿态规范化的图像,使模型所学到的特征表示不受姿态变化的影响.Wei等人[34]通过尽可能保持前景不变的条件下对不同数据集的背景进行转换,利用GAN将源域的图像风格转移到目标域中.
文献[32-34]方法都是在图像层级生成图像,这些方法无法进行端到端实现,在生成的过程中也很难保证生成图像中有关行人身份的内容特征不被破坏或丢失. 为此,Zheng等人[35]设计了一个融合特征学习和数据生成端到端的联合学习框架,使身份判别模块和图像生成模块相互促进从而生成更可靠的数据. 由于该方法仍然需要生成新的图像,其相对于特征学习需要增加GAN,因此在训练过程中需要耗费更多的资源.
另一类方法是基于数据分布自适应的对抗迁移算法,其在特征层级执行对抗训练,我们的方法属于这一类. 区别于生成对抗的迁移学习方法,基于数据分布自适应的对抗迁移算法通常为端到端的训练,通过特征提取器和领域判别器的相互对抗训练,以此学到领域不变的特征. Yu等人[36]在此基础上将动态分布自适应融入了对抗学习中,提出了一个动态对抗自适应网络,通过动态调整边界和条件分布关系使模型预测更加稳健准确. Qi等人[37]受文献[8]的启发,提出了一种基于摄像头感知的域适应方法,以此获取摄像头无关的特征表示. 不同于存在的对称对抗方法,我们引入了虚拟数据,Wang等人[39]针对标记数据匮乏导致模型泛化能力差的问题,使用了虚拟数据集得到多样化数据,提出了包含动态训练数据集生成和域不变特征学习部分的算法. 而我们提出了基于摄像头感知的非对称领域对抗模块来实现从虚拟数据中迁移信息到真实场景中,解决了虚拟数据集和真实数据集存在领域差异的问题.
1.3 知识蒸馏的行人重识别方法
知识蒸馏是模型压缩的一种常用的方法,知识蒸馏是通过构建一个轻量化的学生模型,利用性能更好的教师模型的监督信息来训练这个学生模型,以达到更好的性能和精度. 目前,一些行人重识别方法也用到了知识蒸馏[3,40]. Zhang等人[40]提出了深度相互学习策略,使学生在整个训练过程中协作学习并相互教学. Zhang等人[3]提出利用局部特征学习影响全局特征学习,并指出局部特征的学习方法是通过计算局部特征间的最短距离. 为了缓解我们方法的对抗过程中,真实世界数据集的数据分布向虚拟数据集的数据分布偏移的现象,我们引入了知识蒸馏的方法,将只由真实世界数据集训练的辅助网络作为教师网络,约束主模型中目标域身份分类的分支概率,保证真实数据空间不发生偏移,以实现在原始空间基础上更好地利用虚拟数据提升模型在真实数据上的泛化性能.
2. 形式化定义
在引入虚拟数据集的行人重识别研究中,我们将给定2个数据集Xs和Xt混合进行训练,Xs为虚拟数据集,其定义为 {X}_{\mathrm{s}}={\left\{\left({\boldsymbol{x}}_{i}^{\mathrm{s}},{\boldsymbol{y}}_{i}^{\mathrm{s}}\right)\right\}}_{i=1}^{{N}_{\mathrm{s}}} ,其中 {\boldsymbol{x}}_{i}^{\mathrm{s}} 和 {\boldsymbol{y}}_{i}^{\mathrm{s}} 分别为虚拟数据集中第 i 个训练样本和它对应的行人身份标记, {N}_{\mathrm{s}} 为虚拟数据集的样本数量. 给定一个真实世界数据集,我们将其分为训练集 {X}_{\mathrm{t}} 、查询集 {Q}_{\mathrm{t}} 和图库 {G}_{\mathrm{t}} . 同样地我们将具有 {N}_{\mathrm{t}} 个样本的真实世界数据集定义为 {X}_{\mathrm{t}}={\left\{\left({\boldsymbol{x}}_{i}^{\mathrm{t}},{\boldsymbol{y}}_{i}^{\mathrm{t}},{c}_{i}^{\mathrm{t}}\right)\right\}}_{i=1}^{{N}_{\mathrm{t}}} ,其中 {\boldsymbol{x}}_{i}^{\mathrm{t}} 和 {\boldsymbol{y}}_{i}^{\mathrm{t}} 分别为真实世界数据集中第 i 个训练样本和它对应的行人身份标记,而 {c}_{i}^{\mathrm{t}} 则是真实世界数据集中第 i 个训练样本对应的摄像头标记. 我们旨在将 {X}_{\mathrm{s}} 和 {X}_{\mathrm{t}} 混合并训练出一个行人重识别模型 F(\cdot |\boldsymbol{\theta }) ,对于任何一个查询人物的样本 \boldsymbol{q}\in {Q}_{\mathrm{t}} ,行人重识别模型应该生成一个特征向量 {\boldsymbol{f}}_{\boldsymbol{q}} 用于在图库 {G}_{\mathrm{t}} 中查询与 \boldsymbol{q} 有相同身份标记的样本 \boldsymbol{g} ,保证 \boldsymbol{q} 与样本 \boldsymbol{g} 的相似度要比图库中其他样本的相似度要高,如
\begin{array}{c}{\boldsymbol{g}}^{*}=\mathrm{arg}\,\underset{\boldsymbol{g}\in {G}_{\mathrm{t}}}{\mathrm{m}\mathrm{a}\mathrm{x}}sim\left({\boldsymbol{f}}_{\boldsymbol{g}},{\boldsymbol{f}}_{\boldsymbol{q}}\right),\end{array} (1) 其中 \boldsymbol{f}=F\left(\cdot|\boldsymbol{\theta }\right)\in {\mathbb{R}}^{d} 是由行人重识别模型提取的一个 d 维特征向量, sim\left(\cdot\right) 是特征之间的相似度.
3. 基于知识迁移的虚实结合行人重识别方法
3.1 整体结构
本文提出了一种新型的基于知识迁移的虚实结合行人重识别方法框架,同时缓解领域间差异和多摄像头带来类内差异的影响,使模型从更丰富多样的数据中学到摄像头差异无关的特征表示. 整体结构如图3(a)所示. 框架主要包括3个模块:
1)源域(虚拟数据)与目标域(真实数据)混合训练的通用全监督行人重识别模型,并增加了一路单独对目标域数据身份分类的分支;
2)在混合数据训练的行人重识别模型上添加了一个摄像头判别器,与主干网络组成基于摄像头感知的非对称领域对抗学习模块;
3)在每一次迭代中,使用混合数据中的目标域样本单独训练的通用全监督行人重识别模型,并使用其对模块1中的目标域分类分支进行约束对齐.
模块1和模块2组成了主模型,模块3为辅助模型. 模块2中主干网络作为特征提取器,与增加的摄像头判别器以对抗的方式迭代学习,其中摄像头判别器要不断地通过学习正确的摄像头标记信息来保证自己判别的准确性,而特征提取器需要生成可以迷惑摄像头判别器的特征向量以此实现消除领域差异与领域内由摄像头带来的类内差异的问题.
辅助模型则作为教师网络,将由目标域数据单独训练的行人重识别模型输出的身份类别概率作为软标记,以此约束主模型中目标域身份分类的分支概率,减少目标域数据在对抗中发生的数据分布偏移现象. 最后在训练完成后,仅采用主模型中的主干网络作为特征提取器进行推理,见图3(b).
3.2 通用的行人重识别模型
当前基于CNN的全监督行人重识别模型都遵循一个相似的网络结构,通过优化三元组损失[41]和软分类损失来进行模型训练,身份损失为:
\begin{array}{c}{\mathcal{L}}_{\mathrm{i}\mathrm{d}}={\mathcal{L}}_{\mathrm{s}\mathrm{c}\mathrm{l}\mathrm{s}}+{\mathcal{L}}_{\mathrm{t}\mathrm{r}\mathrm{i}}.\end{array} (2) 对于一个批次的样本,通用的行人重识别模型首先对训练数据集进行 P\times K 采样,即在一个小批次中随机对数据集采样 P 个不同身份的样本,每个身份采样不同的 K 张. 在本文中,针对混合数据的采样策略调整为均衡采样策略,即在每个小批次中虚拟数据和真实数据的样本数量是一致的,前一半批次为虚拟数据样本,后一半批次为真实数据样本. 若一个小批次包含 P\times K 个样本,那么虚拟数据集和真实世界数据集分别采样 (P/2)\times K 张样本.
采样后的数据进行简单的数据增强后输入到主干网络进行特征提取,该特征提取后会在小批次内计算难三元组损失,从而令小批次中每个样本拉近与它们最不相似的正样本的距离,同时推远与它们最相似的负样本的距离. 三元组损失定义为:
\begin{split} {\mathcal{L}}_{\mathrm{t}\mathrm{r}\mathrm{i}}=&\frac{1}{{N}_{\mathrm{b}}}\sum _{i=1}^{{N}_{\mathrm{b}}}\mathrm{m}\mathrm{a}\mathrm{x}\left(0,||F ({\boldsymbol{x}}_{i}\mid \boldsymbol{\theta } )-F ({\boldsymbol{x}}_{i,\mathrm{p}}\mid \boldsymbol{\theta } )||+a-\right.\\&\left.||F ({\boldsymbol{x}}_{i}\mid \boldsymbol{\theta } )-F ({\boldsymbol{x}}_{i,\mathrm{n}}\mid \boldsymbol{\theta } )||\right),\end{split} (3) 其中 {\boldsymbol{x}}_{i,\mathrm{p}} 表示在一个批次中与 {\boldsymbol{x}}_{i} 拥有相同身份标记的样本中最不相似的样本, {\boldsymbol{x}}_{i,\mathrm{n}} 则表示与 {\boldsymbol{x}}_{i} 拥有不同身份标记的样本中最相似的样本. a 是一个三元组距离阈值参数,其迫使模型学习,使锚点 {\boldsymbol{x}}_{i} 和负例 {\boldsymbol{x}}_{i,\mathrm{n}} 的距离更大,同时让锚点 {\boldsymbol{x}}_{i} 和正例 {\boldsymbol{x}}_{i,\mathrm{p}} 的距离更小. ||\cdot|| 代表L2范数距离.
最后将特征输入到身份分类器中,每一个样本都会得到它对应所有身份类别的概率,利用分类损失可以鼓励模型学习针对每个身份类别更具有判别性的特征向量. 分类损失定义为:
\begin{array}{c}{\mathcal{L}}_{\mathrm{c}\mathrm{l}\mathrm{s}}=-\dfrac{1}{{N}_{\mathrm{b}}}\displaystyle\sum _{i=1}^{{N}_{\mathrm{b}}} \mathrm{log}p\left({\boldsymbol{y}}_{i}\mid {\boldsymbol{x}}_{i}\right),\end{array} (4) 其中 {N}_{\mathrm{b}} , i 分别表示一个批次中样本的数量和样本的索引号, {\boldsymbol{x}}_{i} , {\boldsymbol{y}}_{i} 分别表示一个批次中第 i 个样本和它所属于的身份标记, p\left({\boldsymbol{y}}_{i}\mid {\boldsymbol{x}}_{i}\right) 表示样本 {\boldsymbol{x}}_{i} 属于身份标记 {\boldsymbol{y}}_{i} 的预测概率.
然而,测试集的行人身份类别从未出现在训练集中. 因此,防止行人重识别模型过度拟合训练的身份类别就显得非常重要. 文献[42]中提出的标记平滑(label smoothing,LS)是一种广泛使用的方法,可以被用于防止分类任务的过拟合现象. 标记平滑后的软分类损失计算更新为:
\begin{array}{c}{\mathcal{L}}_{\mathrm{s}\mathrm{c}\mathrm{l}\mathrm{s}}=-\dfrac{1}{{N}_{\mathrm{b}}}\displaystyle\sum _{i=1}^{{N}_{\mathrm{b}}}\displaystyle\sum _{j=1}^{{N}_{\mathrm{c}}} {q}_{j}\mathrm{log}p\left({\boldsymbol{y}}_{j}\mid {\boldsymbol{x}}_{i}\right),\end{array} (5) 其中
{q}_{j}=\left\{\begin{aligned}& 1-\dfrac{{N}_{\mathrm{c}}-1}{{N}_{\mathrm{c}}}\varepsilon ,\;\;\text{i}\text{f}\;\;{\boldsymbol{y}}_{j}={\boldsymbol{y}}_{i},\\& \varepsilon /{N}_{\mathrm{c}},\;\;\text{其他}\text{,}\end{aligned}\right. {N}_{\mathrm{c}} 为训练集的身份类别个数, j 为训练集中的某一身份类别索引, \varepsilon 为一个小的正常数迫使模型降低对训练集的信任,以此减少过拟合现象.
3.3 基于摄像头感知的非对称领域对抗模块
在行人重识别中,从属于不同摄像头的样本由于背景、视角、光照、人体姿势等一系列变化引起显著的类内差异,这同样也可以被映射在跨领域差异问题上. 若将训练集的样本按照从属的摄像头划分,每一个摄像头可以被视作一个子领域. 仅仅减少源域和目标域的整体差异并不能有效处理跨摄像头级的差异,这在一定程度上会对学习特征表示的质量产生不利影响. 为此,本文提出了一种基于摄像头感知领域适应模块,将从属于不同摄像头的样本映射到共享子空间中. 为实现这一目标,提出一种基于摄像头感知的非对称对抗学习(camera-aware asymmetric adversarial learning,CAAL),训练流程如图4所示.
传统的对抗性学习[8]通常只处理2个域,通过领域之间的对抗学到领域不变信息. 与其不同的是,本文提出的CAAL方法不仅将源域样本映射到目标域空间来降低领域差异,并且可以处理多个子域(即源域和目标域中的摄像头)进一步降低由摄像头引起的类内差异.
假定 {X}_{\mathrm{s}}={\left\{\left({\boldsymbol{x}}_{i}^{\mathrm{s}},{\boldsymbol{y}}_{i}^{\mathrm{s}}\right)\right\}}_{i=1}^{{N}_{\mathrm{s}}} 和 {X}_{\mathrm{t}}={\left\{\left({\boldsymbol{x}}_{i}^{\mathrm{t}},{\boldsymbol{y}}_{i}^{\mathrm{t}},{c}_{i}^{\mathrm{t}}\right)\right\}}_{i=1}^{{N}_{\mathrm{t}}} 为源域和目标域中的训练数据,混合训练数据 X= [{X}_{\mathrm{s}},{X}_{\mathrm{t}}] . 如图4所示,在本文任务中将源域看作一个摄像头,给定每个源域训练样本的摄像头标记都为“ 0 ”, {c}_{i}^{\mathrm{t}}\in \{0, 1,\cdots ,{C}_{\mathrm{t}}-1\} 是真实世界数据集中第 i 个训练样本对应的摄像头标记,混合训练中真实世界数据集的摄像头标记重标记为 {c}_{i}^{\mathrm{t}}+1\in \{\mathrm{1,2},\cdots ,{C}_{\mathrm{t}}\} , {C}_{\mathrm{t}} 为目标域中摄像头的总个数. 对抗学习框架中生成器和判别器以对抗的方式迭代学习,本文跟随DANN[8]的工作,将特征提取器 F\left(\cdot|{\boldsymbol{\theta }}_{1}\right) 视为生成器,另外本文构建了可学习的摄像头判别器 D:\boldsymbol{f}\to \left\{\mathrm{0,1},\cdots ,{C}_{\mathrm{t}}\right\} 通过在 {C}_{\mathrm{t}}+1 个摄像头类别上定义的交叉熵损失进行优化. 下面将介绍CAAL具体过程.
首先,为了获取更可信的摄像头判别器,固定特征提取器参数,利用交叉熵损失只更新摄像头判别器,损失函数为:
\begin{array}{c}{\mathcal{L}}_{\mathrm{c}\mathrm{a}\mathrm{m}}=\dfrac{1}{{N}_{\mathrm{b}}}\displaystyle\sum _{i=1}^{{N}_{\mathrm{b}}}{\mathcal{L}}_{\mathrm{c}\mathrm{e}}\left(D\left(F\left({\boldsymbol{x}}_{i}^{\mathrm{b}}|{\boldsymbol{\theta }}_{1}\right)\right),{c}_{i}\right),\end{array} (6) 其中
{c}_{i}=\left\{\begin{array}{l} 0,{\boldsymbol{x}}_{i}^{\mathrm{b}}\in {X}_{\mathrm{s}}{\text;} \\ {c}_{i}^{\mathrm{t}},{\boldsymbol{x}}_{i}^{\mathrm{b}}\in {X}_{\mathrm{t}}\text{. }\end{array}\right. 其次,为了将从属于不同摄像头的样本映射到共享子空间中构建软标记,此时将摄像头判别器的参数固定,特征提取器的参数受身份损失与迷惑标记损失共同优化,迷惑损失为:
\begin{array}{c}{\mathcal{L}}_{\mathrm{c}\mathrm{f}\mathrm{s}}=-\dfrac{1}{{N}_{\mathrm{b}}}\displaystyle\sum _{i=1}^{{N}_{\mathrm{b}}} {\mathcal{L}}_{\mathrm{c}\mathrm{e}}\left(D\left(F\left({\boldsymbol{x}}_{i}^{\mathrm{b}}|{\boldsymbol{\theta }}_{1}\right)\right),{\boldsymbol{y}}_{\mathrm{c}\mathrm{f}\mathrm{s}}\right),\end{array} (7) 其中 {\boldsymbol{y}}_{\mathrm{c}\mathrm{f}\mathrm{s}} 为迷惑标记, {\boldsymbol{y}}_{\mathrm{c}\mathrm{f}\mathrm{s}}=\left(0,\dfrac{1}{{C}_{\mathrm{t}}},\dfrac{1}{{C}_{\mathrm{t}}},\cdots ,\dfrac{1}{{C}_{\mathrm{t}}}\right)\in {\mathbb{R}}^{{C}_{\mathrm{t}}+1} .
特征提取器和摄像头判别器以对抗的方式迭代学习,摄像头判别器要不断地通过优化 {\mathcal{L}}_{\mathrm{c}\mathrm{a}\mathrm{m}} 学习正确的摄像头标记信息来保证自己判别的准确性,而特征提取器需要生成可以迷惑摄像头判别器的特征向量以此达到消除领域差异与领域内由摄像头带来的类内差异的问题,总优化损失为:
\begin{array}{c}{\mathcal{L}}_{\mathrm{F}}={\lambda }_{\mathrm{c}\mathrm{a}\mathrm{m}}{\mathcal{L}}_{\mathrm{c}\mathrm{f}\mathrm{s}}+{\mathcal{L}}_{\mathrm{i}\mathrm{d}}^{\mathrm{m}\mathrm{i}\mathrm{x}},\end{array} (8) 其中 {\lambda }_{\mathrm{c}\mathrm{a}\mathrm{m}} 为迷惑损失权重, {\mathcal{L}}_{\mathrm{i}\mathrm{d}}^{\mathrm{m}\mathrm{i}\mathrm{x}} 为由混合数据训练的通用行人重识别模型的身份损失. 通过控制合适的迷惑损失权重,可以平衡混合数据样本映射到共享子空时身份判别性的损失和在对抗中目标域数据分布发生被迫偏移的问题. 在对抗训练期间,特征提取器和摄像头判别器依次迭代学习,重复此操作直到收敛. 传统的双域对抗学习[8]只是这种基于摄像头感知的方案的一个特例,即当源域和目标域中只有1个摄像头类时.
3.4 辅助模型
已经有很多研究表明[42-43],使用软标记作为分类交叉熵损失的推广是有效的. 同时受文献[44]的启发,我们认为在没有蒸馏的情况下,神经网络的训练会陷入部分特征的陷阱,因此需要引入知识蒸馏来缓解这个问题. 在实验中发现,对抗过程中,真实世界数据集的数据分布不可避免地会向虚拟数据集的数据分布偏移,这是我们不希望发生的. 为了避免这种偏移,本文将只由真实世界数据集训练的辅助模型作为教师网络,由辅助模型预测的身份类别概率作为软标记,代替目标域样本的独热标记,用于训练主模型中目标域数据身份分类分支,缓解由虚拟数据集夹带的误导信息带来的不利影响.
如3.1节中介绍,辅助模型为由目标域数据训练的通用全监督行人重识别模型,然而在文献[10]中提到,虽然在教师网络中增加标记平滑的优化可以提高教师网络的模型性能,但是在用平滑过的教师网络进行知识蒸馏时,会降低学生网络的模型性能. 因为错误类别的预测概率正是我们在知识蒸馏时想要学习的潜在信息,而标记平滑则会抹去这些信息,所以为保证辅助模型预测的身份类别概率的可靠性,以及更好地进行知识蒸馏,辅助模型身份损失中的软分类损失由传统交叉熵损失代替进行更新优化,如式(9)所示:
\begin{array}{c}{\mathcal{L}}_{\mathrm{i}\mathrm{d}}^{\mathrm{t}}={\mathcal{L}}_{\mathrm{c}\mathrm{l}\mathrm{s}}^{\mathrm{t}}+{\mathcal{L}}_{\mathrm{t}\mathrm{r}\mathrm{i}}^{\mathrm{t}}.\end{array} (9) 此外,为了防止辅助模型预测样本身份类别错误导致主模型学习到错误信息. 本文构建了选择掩码矩阵 {\boldsymbol{M}}_{\mathrm{r}\mathrm{i}\mathrm{g}\mathrm{h}\mathrm{t}}\in {\mathbb{R}}^{{1\times (N}_{\mathrm{b}}/2)} ,在每个小批次中,只对在辅助模型中身份类别预测正确的样本计算对齐损失,选择掩码矩阵 {\boldsymbol{M}}_{\mathrm{r}\mathrm{i}\mathrm{g}\mathrm{h}\mathrm{t}} 和目标域对齐损失定义为:
\begin{split}{\mathcal{L}}_{\mathrm{a}\mathrm{l}\mathrm{i}\mathrm{g}\mathrm{n}\mathrm{m}\mathrm{e}\mathrm{n}\mathrm{t}}= & -\dfrac{1}{m}\displaystyle\sum _{i=1}^{m}{m}_{\mathrm{r}}\big({I}_{\mathrm{m}\mathrm{a}\mathrm{i}\mathrm{n}}\big(F\big({\boldsymbol{x}}_{i}^{\mathrm{t}}\big|{\boldsymbol{\theta }}_{1}\big)\big)\times \\ &\text{l}\text{o}\text{g}\big({I}_{\mathrm{a}\mathrm{u}\mathrm{x}}\big(F\big({\boldsymbol{x}}_{i}^{\mathrm{t}}\big|{\boldsymbol{\theta }}_{2}\big)\big)\big)\big),\end{split} (10) 其中
{m}_{\mathrm{r}}=\left\{\begin{aligned}& 1,Index\left(\mathrm{arg}\,\mathrm{m}\mathrm{a}\mathrm{x}{I}_{\mathrm{a}\mathrm{u}\mathrm{x}}\left(F\left({\boldsymbol{x}}_{i}^{\mathrm{t}}|{\boldsymbol{\theta }}_{2}\right)\right)\right)=i.\\ &0,Index\left(\mathrm{arg}\,\mathrm{m}\mathrm{a}\mathrm{x}{I}_{\mathrm{a}\mathrm{u}\mathrm{x}}\left(F\left({\boldsymbol{x}}_{i}^{\mathrm{t}}|{\boldsymbol{\theta }}_{2}\right)\right)\right)\ne i\text{. }\end{aligned}\right. 辅助模型中身份分类器 {I}_{\mathrm{a}\mathrm{u}\mathrm{x}} 和主模型中身份分类器 {I}_{\mathrm{m}\mathrm{a}\mathrm{i}\mathrm{n}} 均输出 {N}_{\mathrm{t}} 维概率向量来预测目标域训练样本的身份. 对于一个样本 {\boldsymbol{x}}_{i}^{\mathrm{t}} ,当 {I}_{\mathrm{a}\mathrm{u}\mathrm{x}} 输出的 {N}_{\mathrm{t}} 维向量中具有最大概率的索引值与它对应的身份标记的索引值 i 相同时, {m}_{\mathrm{r}}= 1.m 为每个批次中选择掩码 {\boldsymbol{M}}_{\mathrm{r}\mathrm{i}\mathrm{g}\mathrm{h}\mathrm{t}} 中包含1的个数.
3.5 总训练流程
本文提出的基于知识迁移的虚实结合行人重识别方法框架包含由混合数据训练的主模型和由目标域数据单独训练的辅助模型. 在一个批次中首先由 {\mathcal{L}}_{\mathrm{c}\mathrm{a}\mathrm{m}} 训练主模型中的摄像头判别器,随后总损失 \mathcal{L}\left({\boldsymbol{\theta }}_{1},{\boldsymbol{\theta }}_{2}\right) 通过式(11)同时更新除摄像头判别器以外的主模型和辅助模型参数:
\begin{split} \mathcal{L}\left({\boldsymbol{\theta }}_{1},{\boldsymbol{\theta }}_{2}\right)=&{\mathcal{L}}_{\mathrm{i}\mathrm{d}}^{\mathrm{m}\mathrm{i}\mathrm{x}}\left({\boldsymbol{\theta }}_{1}\right)+{\lambda }_{\mathrm{c}\mathrm{a}\mathrm{m}}{\mathcal{L}}_{\mathrm{c}\mathrm{f}\mathrm{s}}\left({\boldsymbol{\theta }}_{1}\right)+{\mathcal{L}}_{\mathrm{i}\mathrm{d}}^{\mathrm{t}}\left({\boldsymbol{\theta }}_{2}\right)+\\&{\lambda }_{\mathrm{a}\mathrm{u}\mathrm{x}}{\mathcal{L}}_{\mathrm{a}\mathrm{l}\mathrm{i}\mathrm{g}\mathrm{n}\mathrm{m}\mathrm{e}\mathrm{n}\mathrm{t}}\left({\boldsymbol{\theta }}_{1},{\boldsymbol{\theta }}_{2}\right),\end{split} (11) 其中 {\lambda }_{\mathrm{c}\mathrm{a}\mathrm{m}} , {\lambda }_{\mathrm{a}\mathrm{u}\mathrm{x}} 为权重参数. 主模型中特征提取器与摄像头判别器以对抗的方式迭代学习,将混合数据样本映射到共享子空间,辅助模型通过简单的知识蒸馏去平衡对抗中带来的分布偏移. 主模型与辅助模型共同优化,同时建模域间、域内差异,使模型从更丰富多样的数据中学到更一般化的类内差异特征表示. 本文提出的基于知识迁移的虚实结合行人重识别的具体算法如算法1所示.
算法1. 基于知识迁移的虚实结合行人重识别算法.
输入:虚拟数据集 {X}_{\mathrm{s}}={\left\{\left({\boldsymbol{x}}_{i}^{\mathrm{s}},{\boldsymbol{y}}_{i}^{\mathrm{s}}\right)\right\}}_{i=1}^{{N}_{\mathrm{s}}} ,真实数据集 {X}_{\mathrm{t}}={\left\{\left({\boldsymbol{x}}_{i}^{\mathrm{t}},{\boldsymbol{y}}_{i}^{\mathrm{t}},{c}_{i}^{\mathrm{t}}\right)\right\}}_{i=1}^{{N}_{\mathrm{t}}} ,ImageNet上预训练模型 F\left(\cdot|\boldsymbol{\theta }\right) ,批样本数量 {N}_{\mathrm{b}} ,身份采样参数 P,K ,权重参数 {\lambda }_{\mathrm{c}\mathrm{a}\mathrm{m}},{\lambda }_{\mathrm{a}\mathrm{u}\mathrm{x}} , 标记平滑参数 \varepsilon , 三元组阈值 a ;
输出:经过优化的特征提取器 F(\cdot|{\boldsymbol{\theta }}_{1}) .
① for n in [1, num_epochs] do
② repeat
③ {B}_{\mathrm{s}},{B}_{\mathrm{t}} 分别为每个小批次从 {X}_{\mathrm{s}},{X}_{\mathrm{t}} 中按照 P\times K 采样 {N}_{\mathrm{b}}/2 个图像;
④ {B}_{\mathrm{m}\mathrm{i}\mathrm{x}}=\left[{B}_{\mathrm{s}},{B}_{\mathrm{t}}\right] ,将 {B}_{\mathrm{m}\mathrm{i}\mathrm{x}} 经过数据增强后输入 到 F\left({\boldsymbol{x}}_{i}^{\mathrm{m}\mathrm{i}\mathrm{x}}\right|{\boldsymbol{\theta }}_{1}) 中, {B}_{\mathrm{t}} 经过数据增强后输入 到 F\left({\boldsymbol{x}}_{i}^{\mathrm{t}}\right|{\boldsymbol{\theta }}_{2}) 中;
⑤ 根据式(6)单独更新摄像头判别器参数, 其 他参数固定不参与更新;
⑥ 根据式(11)更新除摄像头判别器以外的参数;
⑦ 直到 {B}_{\mathrm{t}} 被枚举完;
⑧ end for
4. 实 验
4.1 数据集与评价指标
本文引入了虚拟数据集RandPerson[45]分别与2个广泛使用的真实域行人重识别数据集CUHK03[46]和MSMT[34]相结合进行训练. 并且在这2个数据集上评估了所提出的方法.
RandPerson由19个摄像头捕获的
8000 个身份的132145 张图像组成. 因为此数据集仅作为辅助训练引入,本文的目的并不在意模型在此数据集上的表现,所以并未划分查询集与图库集,此数据集也不会参加模型验证与测试.CUHK03包含
28193 张图像,由2个摄像头拍摄的1467 个身份组成. 本文遵循与Market1501类似的新协议,将CUHK03数据集分为767个身份的训练集和700个身份的测试集. 从每个相机中,选择一个图像作为每个身份标记的查询,其余图像用于构建图库集. 其中767个身份的7368 张图像用于训练. 查询集和图库集分别具有其余700个身份的1400 个图像和5328 个图像.MSMT由15个摄像头捕获的
4101 个身份的126441 张图像组成. 训练集包含1041 个身份的32621 张图像. 并将3060 个身份的其余图像分配给查询集(11659 个图像)和图库集(82161 个图像).在训练过程中,我们仅使用每个数据集训练集中的图像和相机标签,不使用任何其他注释信息. 模型评价指标由累积匹配性能(cumulative match characteristic,CMC)rank-1和平均精度均值(mean average precision,mAP)评估.
4.2 实验设置
本文在主干模型和辅助模型上均采用ResNet-50[47]作为主干网络去提取特征,并使用在ImageNet[48]上预先训练的参数对其进行初始化. 在训练过程中,输入图像被统一调整为256×128,并采取了行人重识别领域大多数工作采取的传统图像增强方式,即通过随机翻转、随机填充和随机擦除[30]进行.
对于训练中的每个小批次,每个身份的图像都遵循 P\times K 采样. 为了确保与其他方法更公平地比较,本文采取了同其他行人重识别方法[6,16,26]的实验设置. 本文设定小批量大小为128,即对于混合数据来说,采用均衡采样策略,分别在虚拟数据集和真实世界数据集使用 P=16 个随机选择的身份,每个身份选择 K=4 张图像进行采样,主模型输入混合数据,辅助模型输入与混合数据中相同的真实数据样本.
采用Adam方法对模型进行优化. 训练中采取预热策略来引导网络以获得更好的性能,本文将初始学习率设置为 3.5\times {10}^{-5} . 前10个epoch线性地将学习率从 3.5\times {10}^{-5} 增加到 3.5\times {10}^{-4} ,在第40个轮次和第70个轮次,学习率分别衰减到 3.5\times {10}^{-5} 和 3.5\times {10}^{-6} ,总共有120个训练轮次. 设定三元组损失的间距阈值 a= 0.3. 本文在主干网络中引入了标签平滑技术,并参考了基于标签平滑的知识蒸馏方法[42]的实验设置,将设定标签平滑参数 \varepsilon =0.1.
4.3 对比实验结果
本节中将本文提出的基于对抗迁移学习的行人重识别方法与近几年行人重识别领域提出的主流全监督方法在CUHK03和MSMT这2个数据集上进行了比较,这里需要注意的是,本文没有做任何的后处理,例如,重新排名[27-28]或多查询融合[1],因此所有的比较是公平的.
在CUHK03数据集上的验证说明了通常有2种拆分方法可以将CUHK03数据集划分训练集和测试集. 本文采取了767/700的拆分设置(训练集包含767个身份标记、测试集包含700个身份标记)而非
1367 /100(训练集包含1367 个身份标记、测试集包含100个身份标记)的设置. 因为前者比后者具有更少的训练图像和更多的测试图像,设置上更难,具有更大的挑战性也更接近现实的行人重识别任务. 同时在这种设置下也会给模型带来更大的困难. 在这种情况下,引入无需手工标注的虚拟数据集可以很好地帮助模型进行训练. 由表1可以看出,本文方法在CUHK03数据集上无论采取哪种评价指标,与目前主流的方法对比均可以取得更卓越的性能.表 1 CUHK03数据集上与主流方法的对比Table 1. Compared with SOTA Methods on CUHK03 Dataset方法 主干网络 尺寸 mAP/% rank-1/% PCB[4] ResNet50 256×128 53.2 59.7 FD[49] ResNet50 256×128 65.2 67.7 Pyramid[16] ResNet101 384×128 76.9 78.9 MGN[6] ResNet50 384×128 67.4 68.0 BAT-net[17] GoogLeNet 256×128 76.1 78.6 DANN*[8] ResNet50 256×128 75.5 77.6 AutoLoss-GMS-A[50] ResNet50 256×128 68.3 70.4 本文方法 ResNet50 256×128 77.8 81.1 注:*表示在本文相同设置下重新实现. Pyramid方法连接了21个不同尺度的局部特征,并且使用了更多参数的ResNet101作为主干网络.MGN方法受益于更庞大且复杂的网络,它具有8个分支,生成8个特征向量,共需要11个损失函数进行监督约束,其模型大小(参数数量)是本文方法的3倍. 然而在CUHK03数据集上进行对比时,本文方法在2个评价指标上的值均高于以上2个方法. 这证明了在面对更困难、更具有挑战的行人重识别任务时引入虚拟数据集进行辅助训练的重要性,可以在更小的开销下提升更多的模型性能. 在与本文具有相同的数据集和采样策略的设置下重新实现了DANN方法. 重现的模型在rank-1上比本文方法降低约3.4个百分点,在mAP上降低约2.3个百分点,这也证明了本文方法在消除领域差异上的优越性.
在MSMT数据集上的验证说明了MSMT数据集是3个数据集中拥有图像数量最多、行人身份数目最多、摄像头数量最多的数据集. 该数据集具有更复杂的场景和背景,并且在采集图片时涵盖了多个天气、多个时段具有的更复杂的光照变化. 因此MSMT数据集是更接近真实场景的大型数据集. 然而如表2所示,在面对如此庞大且复杂的数据集时,本文方法比对比方法的rank-1值高出至少1.7个百分点、mAP值高出至少1.3个百分点.
表 2 MSMT数据集上与主流方法的对比Table 2. Compared with SOTA Methods on MSMT Dataset方法 主干网络 尺寸 mAP/% rank-1/% PCB[4] ResNet50 256×128 40.4 68.2 BAT-net[17] GoogLeNet 256×128 56.8 79.5 CE-FAT[51] ResNet50 256×128 39.2 69.4 CBN[26] ResNet50 256×128 42.9 72.8 DG-Net[35] ResNet50 256×128 52.3 77.2 DANN*[8] ResNet50 256×128 57.6 79.9 CDNet[7] CDNet 256×128 54.7 78.9 AutoLoss-GMS-A[50] ResNet50 256×128 55.1 79.5 本文方法 ResNet50 256×128 58.8 82.1 注:*表示在本文相同设置下重新实现. CBN方法中也利用到了摄像头标记信息,但是仍低于本文方法的mAP值 15.9个百分点和rank-1值 9.3个百分点,证明本文方法可以更好地利用摄像头标记信息.DG-Net生成了10倍的数据增广,在mAP 和rank-1这2个指标上分别低了6.5个百分点和4.9个百分点,证明了引入虚拟数据集进行辅助训练的有效性. 与CUHK03数据集相同,在MSMT数据集上同样复现了与本文方法框架具有相同的数据集和采样策略设置的DANN方法. 在此设置下复现的DANN方法依然在mAP上略高于表现最好的BAT-net方法,这也证明了即使是面对数据量更多、行人身份更多样、场景更复杂的大型数据集时,引入虚拟数据集进行辅助训练仍然对模型表现具有卓越的提升. 同时,将本文方法与复现的DANN方法对比时,mAP值提高了1.2个百分点,rank-1值提高了2.2个百分点,证明了本文消除领域差异的方法更适用于行人重识别任务.
综上所述,本文方法在2个数据集上与当前主流行人重识别方法对比,无论使用哪种评估指标均表现优异. 通过对2个数据集的比较实验,我们也可以发现本文方法在更具有挑战性的新协议CUHK03数据集和数据量更大更复杂的MSMT数据集上进行验证时,始终优于所有其他方法. 因此,我们可以得出本文方法更擅长处理复杂且具有挑战性的问题,即更接近真实场景的情况.
4.4 消融实验分析
本节中我们在CUHK03和MSMT数据集上进行了消融实验,以充分分析和验证每个组件的有效性. 设置ResNet50为基准网络,其中“RP+CUHK03/MSMT”表示引入RandPerson数据集进行辅助训练,“w/o 辅助网络”表示仅使用本文方法进行训练,“w/o CAAL”表示仅使用本文方法进行训练.
由于虚拟数据集RandPerson具有
132145 张训练图像,是CUHK03数据集图像数量的20倍,即使是大型数据集MSMT也有将近4倍的训练数据. 如果单纯将虚拟数据集和真实数据集(CUHK03和MSMT中任意一个)混合起来,每个小批次时随机从混合数据集中采样,不仅会造成训练时间的增长(由于训练数据的大幅度增加),而且在实验中我们发现,在2个真实数据集上的性能有不同程度的下降,具体数据见表3和表4. 通过分析,造成这种现象的原因有2点:一是因为虚拟数据集与真实数据集具有较大的领域差异,强行混合训练只会令模型迷惑;二是虚拟数据集具有更多的数据量,从而使模型在学习的时候更偏向于虚拟数据集的数据分布.表 3 CUHK03数据集上消融实验结果Table 3. Ablation Experiment Results on CUHK03 Dataset% 方法 训练集 mAP rank-1 基准模型 CUHK03 63.6 65.7 基准模型 RP+ CUHK03 63.8 65.6 基准模型* RP+ CUHK03 72.7 75.1 本文(w/o 辅助网络) RP+ CUHK03 77.1 80.5 本文(w/o CAAL) RP+ CUHK03 75.9 78.2 本文(完整方法) RP+ CUHK03 77.8 81.1 注:*表示采用均衡采样策略. 表 4 MSMT数据集上消融实验结果Table 4. Ablation Experiment Results on MSMT Dataset% 方法 训练集 mAP rank-1 基准模型 MSMT 49.8 75.1 基准模型 RP+ MSMT 47.8 71.9 基准模型* RP+ MSMT 56.3 78.9 本文(w/o 辅助网络) RP+ MSMT 57.3 81.0 本文(w/o CAAL) RP+ MSMT 57.8 80.3 本文(完整方法) RP+ MSMT 58.8 82.1 注:*表示采用均衡采样策略. 为了缓减第2个问题,我们采用均衡采样策略生成每一个批训练数据,即一个批中的数据有一半真实数据和一半虚拟数据. 然而传统的方法,直接随机从每个数据集中进行采样训练. 从表3和表4中可以看出,均衡采样策略能够显著提升模型的性能.
为了证明基于摄像头感知的非对称领域对抗学习模块的有效性,表3、表4展示了不使用该模块和使用该模块的实验结果,可以看出当使用CAAL模块时在CUHK03数据集上的mAP值提升了4.4个百分点、rank-1值提升了5.4个百分点,在MSMT数据集上mAP值和rank-1值分别提升1.0个百分点和2.1个百分点. 考虑到CUHK03更具复杂性,从这也可以看出CAAL模块在更困难(更逼近真实场景)的任务上作用更明显.
为了证明辅助网络的有效性,表3、表4同样展示了不使用CAAL模块和使用CAAL模块的实验结果,当仅使用辅助网络时,2个数据集在mAP和rank-1指标上均有提升,证明引入知识蒸馏的确可以在一定程度上缓解虚拟数据集夹带的误导信息带来的不利影响. 当我们在加入CAAL的方法上再加入辅助网络时,实验结果表明在2个数据集上的性能均有显著的提升,证明了模型效果的提升来自于CAAL 模块和辅助网络的共同作用.
为了进一步证明CAAL模块可以同时降低领域差异和多摄像头间的类内差异,本节采用的t-SNE[52]可视化技术分别绘制了在引入RandPerson数据集辅助MSMT数据集时领域层级和摄像头层级的数据分布示意图. 其中,图5(a)(b)分别是领域层级下不使用CAAL和使用CAAL时的数据分布,图5(c)(d)分别是摄像头层级下不使用CAAL和使用CAAL时的数据分布.
图5(a)(b)中,所有的点代表了数据集RandPerson和MSMT的样本. 可以看出在不使用CAAL时这2个数据集具有较大的领域差异,而在使用CAAL后2个数据集的样本混合在了一起,即领域差异被消除了.
而在图5(c)(d)中,将虚拟数据集看作从属于一个摄像头下,所有的点代表了RandPerson和MSMT 在15个摄像头下每个摄像头的样本. 可以看出在没有使用CAAL时,MSMT中的摄像头样本更倾向于聚集在左上部分,RandPerson的摄像头样本更倾向于聚集在右下部分,这体现了不同摄像头通常具有不同的数据分布,当同一身份样本出现在不同摄像头下就会出现类内差异. 而使用了CAAL后不仅虚拟数据集与真实世界数据集的领域差异消失了,原本由于不同摄像头都具有特有的数据分布而聚集在一起的样本已经均匀分散开了. 这表明了CAAL模块消除领域差异的同时也弱化了摄像头间的类内差异.
4.5 参数的实验分析
图6展示了本文在2个数据集上针对损失权重 {\lambda }_{\mathrm{c}\mathrm{a}\mathrm{m}} 进行的参数实验,可以看出当损失权重 {\lambda }_{\mathrm{c}\mathrm{a}\mathrm{m}}\ge 0.5 的时,2个数据集的评价指标都出现了不同程度的下降,这也证实了我们之前的想法,即使我们的目标是让虚拟数据集的分布尽可能地靠近真实世界数据集分布,但是在对抗中真实世界数据集分布仍然会向虚拟数据集偏移,实验证明,当权重参数 {\lambda }_{\mathrm{c}\mathrm{a}\mathrm{m}}=0.1 时,可以平衡混合数据样本映射到共享子空间时身份判别性的损失和在对抗中目标域数据分布发生被迫偏移的问题.
本文也对辅助网络中的权重参数 {\lambda }_{\mathrm{a}\mathrm{u}\mathrm{x}} 进行了实验,实验结果见图7. 我们发现对虚拟数据集依赖性弱的数据集(例如,MSMT数据集在直接混合虚拟数据集训练时,相比于仅依靠自身数据训练时2个指标都有不同程度的下降),此时由虚拟数据集夹带的误导信息带来的不利影响越多,辅助网络所带来的知识蒸馏效果越好,所带来的提升也越高,所以将权重参数 {\lambda }_{\mathrm{a}\mathrm{u}\mathrm{x}} 设置为 1.0 . 而数据集是复杂数据集时(例如,CUHK03数据集在直接混合虚拟数据集训练时与仅依靠自身数据训练时相比mAP指标略有上升),此时辅助网络作为教师网络的可信度下降,当模型过于依赖辅助网络时反而会对任务造成负迁移效果. 此时,我们将权重参数 {\lambda }_{\mathrm{a}\mathrm{u}\mathrm{x}} 设置为 0.1 ,这样模型在应对数据量较少且更接近现实场景的行人重识别任务时就不会过度依赖辅助网络,但是同时又可以从辅助网络蒸馏的知识中学到原有的数据分布,以此缓解虚拟数据集带来的知识偏移.
5. 结 论
本文根据现有全监督行人重识别任务受限于数据匮乏的问题,提出引用虚拟数据集进行辅助训练. 同时提出了一种基于知识迁移的虚实结合行人重识别方法框架,采用基于摄像头感知的非对称领域对抗学习方法同时缓解域间、域内差异,以解决虚拟数据集与真实世界数据集领域差异过大和由不同摄像头带来的类内差异问题. 实验证明了该方法在逼近真实场景的行人重识别任务上的有效性.
作者贡献声明:祁磊提出了算法思路和实验方案;任子豪负责论文修订、补充和实验分析;刘俊汐执行实验和撰写论文;耿新提出指导意见并修改论文.
-
表 1 RDMA常用传输方式对比
Table 1 RDMA Common Transmission Modes Comparison
传输方式 通信原语 可靠性 可扩展性 消息大小/KB ① ② ③ ④ RC √ √ √ √* √ 一般 \le 2048 UC √ × √ × × 一般 \le 2048 UD √ × × × × 好 \le 4 注:通信原语:①SEND(SEND with imm)/RECV;②READ;③WRITE (WRITE with imm);④ATOMIC. *:对ATOMIC操作,消息大小仅支持8B. 表 2 RoCEv2代表性网卡架构对比
Table 2 Comparison of Typical RoCEv2 NIC Architectures
发表年份 会议/期刊/厂商 网卡 功能部件 通信原语 QP
数量报文处理逻辑 PCIe、DMA、虚实地址转换 可选部件 ① ② ③ ④ 拥塞控制 流量控制 2018 Xilinx ETRNIC*[79] 发送/
接收× √ × √ √ √ × 127 2019 SIGCOMM HPCC[39] √ √ √ × √ √ × 300 2020 EuroSys StRoM[36] √ — √ √ √ √ √ 16 000 2021 ICNP StaR[59] √ — — √ √ √ × 120 2021 Xilinx ERNIC[80] × √ √ √ √ √ √ 2 047 2022 TRETS Efficient[81] × — — √ √ √ × 1 2022 ICCD csRNA[58] 请求/
响应√ — — × √ √ × 15 000 2023 ISCAS ScalaRNIC**[57] √ — — — — √ — 320 2023 NSDI SRNIC[14] 发送/
接收√ √ √ √ √ √ × 10 000 2023 GLSVLSI Optimize TX[55] √ — — √ √ √ × 16 注:以上网卡均支持MAC、PHY、可靠传输基础功能. 可选部件以拥塞控制和流量控制为例说明. 通信原语:①SEND/RECV;②READ;③WRITE;④SEND with imm|SEND with invalidate|WRITE with imm. —表示未说明. *:ETRNIC只支持发送READ和WRITE请求(不支持接收). **:ScalaRNIC高优先级QP数量支持320个,一般优先级可支持>25 600个. 表 3 网卡缓存资源优化方案总结
Table 3 Summary of NIC Cache Resource Optimization Schemes
表 4 主机内存资源优化方案总结
Table 4 Summary of Host Memory Resource Optimization Schemes
表 5 拥塞控制优化方案总结
Table 5 Summary of Congestion Control Optimization Schemes
表 6 流量控制优化方案总结
Table 6 Summary of Flow Control Optimization Schemes
表 7 重传机制优化方案总结
Table 7 Summary of Retransmission Mechanism Optimization Schemes
表 8 分布式存储优化方案总结
Table 8 Summary of Distributed Storage Optimization Schemes
表 9 性能隔离优化方案总结
Table 9 Summary of Performance Isolation Optimization Schemes
表 10 商用以太网RDMA网卡实现
Table 10 Commercial Ethernet RDMA NIC Implementation
发布年份 实现方式 厂商 代表产品 支持协议 应用场景 2020 ASIC Intel 100GbE E810[15] RoCEv2,
iWARPHPC-AI、NFV、存储和混合云等高性能服务器工作负载、
带宽密集型工作负载2021 ASIC NVIDIA Mellanox 400GbE ConnectX-7[16] InfiniBand,RoCEv2 超大规模数据中心、HPC、人工智能、科学计算 2021 ASIC Marvell FastLinQ 100GbE QL45000系列[17] RoCEv1,
RoCEv2,
iWARP企业级数据中心、共有和私有云、托管服务提供商、电信 2021 FPGA Xilinx 100GbE ERNIC[80] RoCEv2 传感器数据采集、视频和图像捕获和传输、运行 RoCEv2的远程存储节点 2022 ASIC Chelsio 400GbE Terminator7[19] RoCEv2,
iWARP数据中心网络、HPC、云计算、网络存储、流媒体应用、边缘产品 2022 NP-SoC Huawei
Hisilicon基于Hi1822的200GbE SP670[18] RoCEv2 OVS加速、DPI加速、虚拟化加速 2023 ASIC Broadcom 200GbE BCM957508-P1200G[20] RoCEv2 云和Web2. 0数据中心服务器、企业级数据中心、HPC集群、机器学习集群、
私有云、多节点容器平台、NVMe存储分解(NVMe oF)数据库服务器2023 SoC AMD 200GbE Pensando DSC2-200[130] RoCEv2 为大型云服务提供商和超大规模服务系统(如Microsoft Azure,NetApp)
提供计算、网络、存储和安全服务2023 SoC NVIDIA Mellanox 400GbE Bluefield-3 DPU[131] RoCEv2 云网络、存储、安全、HPC/AI、电信与边缘计算 -
[1] Hoefler T, Roweth D, Underwood K, et al. Datacenter ethernet and RDMA: Issues at hyperscale [J]. arXiv preprint, arXiv: 2302.03337, 2023
[2] 马潇潇,杨帆,王展,等. 智能网卡综述[J]. 计算机研究与发展,2022,59(1):1−21 doi: 10.7544/issn1000-1239.20200629 Ma Xiaoxiao, Yang Fan, Wang Zhan, et al. Survey on smartnetwork interface card[J]. Journal of Computer Research and Development, 2022, 59(1): 1−21(in Chinese) doi: 10.7544/issn1000-1239.20200629
[3] Li Qiang, Xiang Qiao, Liu Derui, et al. From RDMA to RDCA: Toward high-speed last mile of data center networks using remote direct cache access [J]. arXiv preprint, arXiv: 2211.05975v2, 2023
[4] He Zhiqiang, Wang Dongyang, Fu Binzhang, et al. MasQ: RDMA for virtual private cloud [C/OL]//Proc of the 2020 ACM SIGCOMM Conf. New York: ACM, 2020 [2024-07-06]. https://dl.acm.org/doi/abs/10.1145/3 387514.3405849
[5] Dragojevic A, Narayanan D, Hodson O, et al. FaRM: Fast remote memory [C]//Proc of the 11th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2014: 401−414
[6] Le Yanfang, Stephens B, Singhvi A, et al. RoGUE: RDMA over generic unconverged ethernet [C]//Proc of the ACM Symp on Cloud Computing. New York: ACM, 2018: 225−236
[7] Mittal R, Shpiner A, Panda A, et al. Revisiting network support for RDMA [C]//Proc of the 2018 ACM SIGCOMM Conf. New York: ACM, 2018: 313−326
[8] Hoefler T, Girolamo S D, Taranov K, et al. sPIN: High-performance streaming processing in the network [C/OL]//Proc of the Int Conf for High Performance Computing, Networking, Storage and Analysis. New York: ACM, 2017 [2024-07-06]. https://ieeexplore.ieee.org/document/9926279
[9] Guo Chuanxiong, Wu Haitao, Deng Zhong, et al. RDMA over commodity ethernet at scale [C]//Proc of the 2016 ACM SIGCOMM Conf. New York: ACM, 2016: 202−215
[10] IEEE 802.1 Working Group. 802.1Qbb – priority-based flow control [EB/OL]. [2024-07-06]. https://1.ieee802.org/dcb/802-1qbb/
[11] Internet Engineering Task Force. RFC3168: The addition of explicit congestion notification (ECN) to IP [EB/OL]. [2024-07-06]. https://dl.acm.org/doi/book/10.17487/RFC3168
[12] Kong Xinhao, Zhu Yibo, Zhou Huaping, et al. Collie: Finding performance anomalies in RDMA subsystems [C]//Proc of the 19th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2022: 287−305
[13] Tang Jian, Wang Xiaoliang, Dai Huichen. Scalable RDMA transport with efficient connection sharing [C/OL]//Proc of the IEEE Int Conf on Computer Communications. Piscataway, NJ: IEEE, 2023 [2024-07-06]. https://ieeexplore.ieee.org/document/10228968
[14] Wang Zilong, Luo Layong, Ning Qingsong, et al. SRNIC: A scalable architecture for RDMA NICs [C/OL]//Proc of the 20th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2023 [2024-07-06]. https://www.usenix.org/ conference/nsdi 23/presentation/wang-zilong
[15] Intel. Intel E810 Ethernet network adapter [EB/OL]. [2024-07-06]. https://www.intel.cn/content/www/cn/zh/products/details/ethernet/800-network-adapters/e810-network-adapters/products.html
[16] NVIDIA. NVIDIA Connectx−7 network adapter datasheet [EB/OL]. [2024-07-06]. https://nvdam.widen.net/s/csf8rmnqwl/infiniband-ethernet-datasheet-connectx-7-ds-nv-us-2544471
[17] MARVELL. MARVELL converged Ethernet network adapter[EB/OL]. [2024-07-06]. https://cn.marvell.com/products/ethernet-adapters-and-controllers/fastlinq-cna-adapters/documents.html
[18] Huawei Hisilicon. Huawei SP600 NIC [EB/OL]. [2024-07-06]. https://support.huawei.com/enterprise/zh/doc/EDOC1100309168?idPath=23710424%7C251364409%7C21782478%7C15791
[19] Chelsio. Chelsio T7 DPU products [EB/OL]. [2024-07-06]. https://www.chelsio.com/wp-content/uploads/resources/t7-dpu-asic.pdf
[20] Broadcom. Broadcom BCM957508-P1200G NIC datasheet [EB/OL]. [2024-07-06]. https://docs.broadcom.com/doc/957508-P1200G-DS1XX
[21] Singhvi A, Akella A, Gibson D, et al. 1RMA: Re-envisioning remote memory access for multi-tenant datacenters [C]//Proc of the 2020 ACM SIGCOMM Conf. New York: ACM, 2020: 708−721
[22] Vamanan B, Hasan J, Vijaykumar T N. Deadline-aware datacenter tcp (D2TCP)[J]. ACM SIGCOMM Computer Communication Review, 2012, 42(4): 115−126 doi: 10.1145/2377677.2377709
[23] Marty M, Kruijf M D, Adriaens J, et al. Snap: A microkernel approach to host networking [C]//Proc of the 27th ACM Symp on Operating Systems Principles. New York: ACM, 2019: 399−413
[24] Kumar G, Dukkipati N, Jang K, et al. Swift: Delay is simple and effective for congestion control in the datacenter [C]//Proc of the 2020 ACM SIGCOMM Conf. New York: ACM, 2020: 514−528
[25] Mittal R, Lam V T, Dukkipati N, et al. TIMELY: RTT-based congestion control for the datacenter [C]//Proc of the 2015 ACM SIGCOMM Conf. New York: ACM, 2015: 537−550
[26] Zhu Yibo, Eran H, Firestone D, et al. Congestion control for large-scale RDMA deployments [C]//Proc of the 2015 ACM SIGCOMM Conf. New York: ACM, 2015: 523−536
[27] Firestone D, Putnam A, Mundkur S, et al. Azure accelerated networking: SmartNICs in the public cloud [C]//Proc of the 15th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2018: 51−66
[28] Kandula S, Sengupta S, Greenberg A, et al. The nature of data center traffic: Measurements & analysis [C]//Proc of the 9th ACM SIGCOMM Conf on Internet Measurement. New York: ACM, 2009: 202−208
[29] Zhu Yibo, Ghobadi M, Misra V, et al. ECN or delay: Lessons learnt from analysis of DCQCN and TIMELY [C]//Proc of the 12th Int Conf on Emerging Networking Experiments and Technologies. New York: ACM, 2016: 313−327
[30] Lu Yuanwei, Chen Guo, Ruan Zhenyuan, et al. Memory efficient loss recovery for hardware-based transport in datacenter [C]//Proc of the 1st Asia-Pacific Workshop on Networking. New York: ACM, 2017: 22−28
[31] Dragojevic A, Narayanan D, Castro M. RDMA reads: To use or not to use[J]. IEEE Data Engineering Bulletin, 2017, 40(1): 3−14
[32] Bai Wei, Abdeen S S, Agrawal, et al. Empowering azure storage with RDMA [C]//Proc of the 20th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2023: 49−67
[33] Li Bojie, Ruan Zhenyuan, Xiao Wencong, et al. KV-Direct: High-performance in-memory key-value store with programmable NIC [C]//Proc of the 26th Symp on Operating Systems Principles. New York: ACM, 2017: 137−152
[34] Lu Yuanwei, Chen Guo, Li Bojie, et al. Multi-path transport for RDMA in Datacenters [C]//Proc of the 15th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2018: 357−371
[35] Li Bojie, Cui Tianyi, Wang Zibo, et al. Socksdirect: Datacenter sockets can be fast and compatible [C]//Proc of the 2019 ACM SIGCOMM Conf. New York: ACM, 2019: 90−103
[36] Sidler D, Wang Z, Chiosa M, et al. StRoM: Smart remote memory[C/OL]//Proc of the 15th European Conf on Computer Systems. New York: ACM, 2020 [2024-07-06]. https://dl.acm.org/doi/abs/10.1145/3342195.3387519
[37] Li Qiang, Gao Yixiao, Wang Xiaoliang, et al. Flor: An open high performance RDMA framework over heterogeneous RNICs [C]//Proc of the 17th USENIX Symp on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2023: 931−948
[38] Gao Yixiao, Li Qiang, Tang Lingbo, et al. When cloud storage meets RDMA [C]//Proc of the 18th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2021: 519−533
[39] Li Yuliang, Miao Rui, Liu H H, et al. HPCC: High precision congestion control [C]//Proc of the 2019 ACM SIGCOMM Conf. New York: ACM, 2019: 44−58
[40] Liu Kefei, Jiang Zhuo, Zhang Jiao, et al. Hostping: Diagnosing intra-host network bottlenecks in RDMA servers [C]//Proc of the 20th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2023: 15−29
[41] Chen Youmin, Lu Youyou, Shu Jiwu. Scalable RDMA RPC on reliable connection with efficient resource sharing [C/OL]//Proc of the 14th EuroSys Conf. New York: ACM, 2019 [2024-07-06]. https://dl.acm.org/do i/10.1145/3302424.3303968
[42] Miao Mao, Ren Fengyuan, Luo Xiaohui, et al. SoftRDMA: Rekindling high performance software RDMA over commodity ethernet [C]//Proc of the 1st Asia-Pacific Workshop on Networking. New York: ACM, 2017: 43−49
[43] Ma Teng, Chen Kang, Ma Shaonan, et al. Thinking more about RDMA memory semantics [C]//Proc of the IEEE Int Conf on Cluster Computing. Piscataway, NJ: IEEE, 2021: 456−467
[44] Cheng Wenxue, Qian Kun, Jiang Wanchun, et al. Re-architecting congestion management in lossless ethernet [C]//Proc of the 17th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2020: 19−36
[45] Ma Shaonan, Ma Teng, Chen Kang, et al. A survey of storage systems in the RDMA era[J]. IEEE Transactions on Parallel Distributed Systems, 2022, 33(12): 4395−4409 doi: 10.1109/TPDS.2022.3188656
[46] Lu Youyou, Shu Jiwu, Chen Youmin, et al. Octopus+: An RDMA-enabled distributed persistent memory file system[J]. ACM Transactions Storage, 2017, 17(3): 1−25
[47] Ma Tengyu, Ma Tao, Song Zhuo, et al. X-RDMA: Effective RDMA middleware in large-scale production environments [C/OL]//Proc of the IEEE Int Conf on Cluster Computing. Piscataway, NJ: IEEE, 2019 [2024-07-06]. https://ieeexplore.ieee.org/document/8891004
[48] Shen Dian, Luo Junzhou, Dong Fang, et al. Distributed and optimal RDMA resource scheduling in shared data center networks [C]//Proc of the IEEE Int Conf on Computer Communications. Piscataway, NJ: IEEE, 2020: 606−615
[49] Wang Xiaoliang, Song Hexiang, Nguyen C, et al. Maximizing the benefit of RDMA at end hosts [C/OL]//Proc of the IEEE Int Conf on Computer Communications. Piscataway, NJ: IEEE, 2021 [2024-07-06]. https://ieeexplore.ieee.org/document/9488875
[50] Qiu Haonan, Wang Xiaoliang, Jin Tianchen, et al. Toward effective and fair RDMA resource sharing [C]//Proc of the 2nd Asia-Pacific Workshop on Networking. New York: ACM, 2018: 8−14
[51] Tang Jian, Xu Tingting, Nguyen C, et al. Tuning target delay for RTT-based congestion control [C/OL]//Proc of the 30th IEEE Int Conf on Network Protocols. Piscataway, NJ: IEEE, 2022 [2024-07-06]. https://ieeexplore.ieee.org/document/9940420
[52] He Zhiqiang, Chen Yuxin, Hua Bei. RoUD: Scalable RDMA over UD in lossy data center networks [C]//Proc of the 23rd IEEE/ACM d Int Symp on Cluster, Cloud Internet Computing. Piscataway, NJ: IEEE, 2023: 36−46
[53] Wang Dongyang, Fu Binzhang, Lu Gang, et al. vSocket: Virtual socket interface for RDMA in public clouds [C]//Proc of the 15th ACM SIGPLAN/SIGOPS Int Conf on Virtual Execution Environments. New York: ACM, 2019: 179−192
[54] Zang Dawei, Cao Zheng, Liu Xiaoli, et al. PROP: Using PCIe-based RDMA to accelerate rack-scale communications in data centers [C]//Proc of the 21st IEEE Int Conf on Parallel Distributed Systems. Piscataway, NJ: IEEE, 2015: 465−472
[55] Liao Yunkun, Wu Jingya, Lu Wenyan, et al. Optimize the TX architecture of RDMA NIC for performance isolation in the cloud environment [C]// Proc of the Great Lakes Symp on VLSI. New York: ACM, 2023: 29−35
[56] Han Shukai, Zhang Mi, Jiang Dejun, et al. HiStore: Rethinking hybrid index in RDMA-based key-value store [J]. arXiv preprint, arXiv: 2208. 12987, 2022
[57] Ma Xiaoxiao, Yang Fan, Wang Zhan, et al. A scalable RDMA network interface card with efficient cache management [C/OL]//Proc of the IEEE Int Symp on Circuits Systems. Piscataway, NJ: IEEE, 2023 [2024-07-06]. https://ieeexplore.ieee.org/abstract/document/10181426
[58] Kang Ning, Wang Zhan, Yang Fan, et al. csRNA: Connection-scalable RDMA NIC architecture in datacenter environment [C]//Proc of the 40th IEEE Int Conf on Computer Design. Piscataway, NJ: IEEE, 2022: 398−406
[59] Wang Xizheng, Chen Guo, Yin Xijin, et al. StaR: Breaking the scalability limit for RDMA [C/OL]//Proc of the 29th IEEE Int Conf on Network Protocols. Piscataway, NJ: IEEE, 2021 [2024-07-06]. https://ieeexplore.ieee.org/document/9651935
[60] Wang Zilong, Wan Xinchen, Zeng Chaoliang, et al. Accurate and scalable rate limiter for RDMA NICs [C]//Proc of the 7th Asia-Pacific Workshop on Networking. New York: ACM, 2023: 15−20
[61] Rothenberger B, Taranov K, Perrig A, et al. ReDMArk: Bypassing RDMA security mechanisms [C]//Proc of the 30th USENIX Security Symp. Berkeley, CA: USENIX Association, 2021: 4277−4292
[62] Taranov K, Rothenberger B, Perrig A, et al. sRDMA - Efficient NIC-based authentication and encryption for remote direct memory access [C]//Proc of the USENIX Annual Technical Conf. Berkeley, CA: USENIX Association, 2020: 691−704
[63] Barthels C, Alonso G, Hoefler T. Designing databases for future high-performance networks[J]. IEEE Data Engineering Bulletin, 2017, 40(1): 15−26
[64] Taranov K, Girolamo S D, Hoefler T. CoRM: Compactable remote memory over RDMA [C]//Proc of the Int Conf on Management of Data. New York: ACM, 2021: 1811−1824
[65] Xue Jiachen, Chaudhry M U, Vamanan B, et al. Dart: Divide and specialize for fast response to congestion in RDMA-based datacenter networks[J]. IEEE/ACM Transactions on Networking, 2018, 28(1): 322−335
[66] Tsai Shin-Yeh, Zhang Yiying. LITE kernel RDMA support for datacenter applications [C]//Proc of the 26th Symp on Operating Systems Principles. New York: ACM, 2017: 306−324
[67] Xue Jiachen, Vijaykumar T N, Thottethodi M. Network interface architecture for remote indirect memory access (RIMA) in datacenters[J]. ACM Transactions on Architecture Code Optimization, 2020, 17(2): 1−22
[68] Taheri P, Menikkumbura D, Vanini E, et al. RoCC: Robust congestion control for RDMA [C]//Proc of the 16th Int Conf on Emerging Networking EXperiments Technologies. New York: ACM, 2020: 17−30
[69] Le Yanfang, Malekpourshahraki M, Stephens B, et al. On the impact of cluster configuration on RoCE application design [C]//Proc of the 3rd Asia-Pacific Workshop on Networking. New York: ACM, 2019: 64−70
[70] Kalia A, Kaminsky M, Andersen D G. FaSST: Fast, scalable and simple distributed transactions with two-sided (RDMA) datagram RPCs [C]//Proc of the 12th USENIX Symp on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2016: 185−201
[71] Kalia A, Kaminsky M, Andersen D G. Using RDMA efficiently for key-value services [C]//Proc of the 2014 ACM SIGCOMM Conf. New York: ACM, 2014: 295−306
[72] Kim D, Memaripour A, Badam A, et al. Hyperloop: Group-based NIC-offloading to accelerate replicated transactions in multi-tenant storage systems [C]//Proc of the 2018 ACM SIGCOMM Conf. New York: ACM, 2018: 297−312
[73] Kim D, Yu Tianlong, Liu H H, et al. FreeFlow: Software-based virtual RDMA networking for containerized clouds [C]//Proc of the 16th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2019: 113−126
[74] Kalia A, Kaminsky M, Andersen D G. Design guidelines for high performance RDMA systems [C]//Proc of the USENIX Conf on Usenix Annual Technical Conf. Berkeley, CA: USENIX Association, 2016: 437−450
[75] Openfabrics. Libibverbs release [EB/OL]. [2024-07-06]. https://www.openfabrics.org/downloads/libibverbs/
[76] Wei Xingda, Dong Zhiyuan, Chen Rong, et al. Deconstructing RDMA-enabled distributed transactions: Hybrid is better [C]//Proc of the 13th USENIX Symp on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2018: 233−251
[77] Zhang Yiwen, Gu Juncheng, Lee Youngmoon, et al. Performance isolation anomalies in RDMA [C]//Proc of the Workshop on Kernel-Bypass Networks. New York: ACM, 2017: 43−48
[78] Intel. Intel I350 Ethernet server adapter [EB/OL]. [2024-07-06]. https://www.intel.cn/content/www/cn/zh/products/details/ethernet/gigabit-network-adapters/i350-server-adapters.html
[79] Xilinx. Xilinx embedded target RDMA enabled v1.1 product guide [EB/OL]. [2024-07-06]. https://docs.xilinx.com/v/u/en-US/pg294-etrnic
[80] Xilinx. Xilinx embedded RDMA enabled NIC LogiCORE IP product guide [EB/OL]. [2024-07-06]. https://docs.xilinx.com/r/en-US/pg332-ernic
[81] Schelten N, Steinert F, Knapheide J, et al. A high-throughput, resource-efficient implementation of the RoCEv2 remote DMA protocol and its application[J]. ACM Transactions on Reconfigurable Technology, 2022, 16(1): 1−23
[82] Kong Xinhao, Chen Jingrong, Bai Wei, et al. Understanding RDMA microarchitecture resources for performance isolation [C]//Proc of the 20th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2023: 31−48
[83] IBTA. InfiniBand architecture specification [EB/OL]. [2024-07-06]. https://www.infinibandta.org/ibta-specification/
[84] Guo Zehua, Liu Sen, Zhang Zhili. Traffic control for RDMA-enabled data center networks: A survey[J]. IEEE Systems Journal, 2020, 14(1): 677−688 doi: 10.1109/JSYST.2019.2936519
[85] Ryser A, Lerner A, Forencich A, et al. D-RDMA: Bringing zero-copy RDMA to database systems [C/OL]//Proc of the 12th Annual Conf on Innovative Data Systems Research. Chaminade, CA: CIDR, 2022 [2024-07-06]. https://www.cidrdb.org/cidr2022/papers/p77-ryser.pdf
[86] Zhu Yibo, Eran H, Firestone D, et al. Congestion control for large-scale RDMA deployments [C]//Proc of the 2015 ACM SIGCOMM Conf. New York: ACM, 2015: 523−536
[87] Tang Jian, Xu Tingting, Nguyen C, et al. Tuning target delay for RTT-based congestion control [C/OL]//Proc of the 30th IEEE Int Conf on Network Protocols. Piscataway, NJ: IEEE, 2022 [2024-07-06]. https://ieeexplore.ieee.org/document/9940420
[88] Fuhrer B, Shpigelman Y, Tessler C, et al. Implementing reinforcement learning datacenter congestion control in NVIDIA NICs [C]//Proc of the 23rd IEEE/ACM Int Symp on Cluster, Cloud and Internet Computing. Piscataway, NJ: IEEE, 2023: 331−343
[89] Perry J, Ousterhout A, Balakrishnan H, et al. Fastpass: A centralized "zero-queue" datacenter network[J]. ACM SIGCOMM Computer Communication Review, 2014, 44(4): 307−318
[90] Cho Inho, Jang Keon, Han Dongsu. Credit-scheduled delay-bounded congestion control for datacenters [C]//Proc of the 2017 ACM SIGCOMM Conf. New York: ACM, 2017: 239−252
[91] NVIDIA. Introduction to resilient RoCE [EB/OL]. [2024-07-06]. https://enterprise-support.nvidia.com/s/article/introduction-to-resilient-roce---faq#jive_content_id_What_is_Resilient_RoCE
[92] Mitchell C, Geng Yifeng, Jinyang Li. Using one-sided RDMA reads to build a fast, CPU-efficient key-value store [C]//Proc of the USENIX Annual Technical Conf. Berkeley, CA: USENIX Association, 2013: 103−114
[93] Yang Jian, Izraelevitz J, Swanson S. Orion: A distributed file system for non-volatile main memory and RDMA-capable networks [C]//Proc of the 17th USENIX Conf on File and Storage Technologies. Berkeley, CA: USENIX Association, 2019: 221−234
[94] Yang Jian, Izraelevitz J, Swanson S. FileMR: Rethinking RDMA networking for scalable persistent memory [C]//Proc of the 17th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2020: 111−125
[95] Zamanian E, Yu Xiangyao, Stonebraker M, et al. Rethinking database high availability with RDMA networks[J]. Very Large Data Base Endowment, 2019, 12(11): 1637−1650
[96] Miao Rui, Zhu Lingjun, Ma Shu, et al. From Luna to Solar: The evolutions of the compute-to-storage networks in Alibaba cloud [C]//Proc of the 2022 ACM SIGCOMM Conf. New York: ACM, 2022: 753−766
[97] Zhu Lingjun, Shen Yifan, Xu Erci, et al. Deploying user-space TCP at cloud scale with LUNA [C]//Proc of the USENIX Annual Technical Conf. Berkeley, CA: USENIX Association, 2023: 673−687
[98] Broadcom VMware. VMware technical journal: Toward a paravirtual vRDMA device for VMware ESXi guests [R]. Palo Alto, CA: VMware, 2012: 22−27
[99] Pfefferle J, Stuedi P, Trivedi A K, et al. A hybrid I/O virtualization framework for RDMA-capable network interfaces [C]//Proc of the 11th ACM SIGPLAN/SIGOPS Int Conf on Virtual Execution Environments. New York: ACM, 2015: 17−30
[100] Zhang Yiwen, Tan Yue, Stephens B E, et al. Justitia: Software multi-tenancy in hardware kernel-bypass networks [C]//Proc of the 19th USENIX Symp on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2022: 1307−1326
[101] Amaro E, Luo Zhihong, Ousterhout A, et al. Remote memory calls [C]//Proc of the 19th ACM Workshop on Hot Topics in Networks. New York: ACM, 2020: 38−44
[102] Shalev L, Ayoub H, Bshara N, et al. A cloud-optimized transport protocol for elastic and scalable HPC[J]. IEEE Micro, 2020, 40(6): 67−73 doi: 10.1109/MM.2020.3016891
[103] Aliyun. eRDMA [EB/OL]. [2024-07-06]. https://github.com/alibaba/elastic-rdma-drivers
[104] Xing Jiarong, Hsu K, Qiu Yiming, et al. Bedrock: Programmable network support for secure RDMA systems [C]//Proc of the 31st USENIX Security Symp. Berkeley, CA: USENIX Association, 2022: 2585−2600
[105] Google. Falcon [EB/OL]. [2024-07-06]. https://cloud.google.com/blog/topics/systems/introducing-falcon-a-reliable-low-latency-hardware-transport
[106] Ultra Ethernet. UET. [EB/OL]. [2024-07-06]. https://ultraethernet.org/wp-content/uploads/sites/20/2023/10/23.07.12-UEC-1.0-Overview-FINAL-WITH-LOGO.pdf
[107] 陈游旻,陆游游,罗圣美,等. 基于RDMA的分布式存储系统研究综述[J]. 计算机研究与发展,2019,56(2):227−239 Chen Youmin, Lu Youyou, Luo Shengmei, et al. Survey on RDMA-based distributed storage systems[J]. Journal of Computer Research and Development, 2019, 56(2): 227−239(in Chinese)
[108] Openfabrics. Dynamically-connected transport service [EB/OL]. [2024-07-06]. https://www.openfabrics.org/images/eventpresos/workshops2014/DevWorkshop/presos/Monday/pdf/05_DC_Verbs.pdf
[109] Matthew J K, Jaidev K S, Dhabaleswar K P. Scalable MPI design over infiniband using extended reliable connection [C]//Proc of the IEEE Int Conf on Cluster Computing. Piscataway, NJ: IEEE, 2008: 203−212
[110] 杜鑫乐,徐恪,李彤,等. 数据中心网络的流量控制:研究现状与趋势[J]. 计算机学报,2021,44(7):1287−1309 Du Xinle, Xu Ke, Li Tong, et al. Traffic control for data center network: State of the art and future research[J]. Chinese Journal of Computers, 2021, 44(7): 1287−1309(in Chinese)
[111] 刘敬玲,黄家玮,蒋万春,等. 数据中心负载均衡方法研究综述[J]. 软件学报,2021,32(2):300−326 Liu Jingling, Huang Jiawei, Jiang Wanchun, et al. Survey on load balancing mechanism in data center[J]. Journal of Software, 2021, 32(2): 300−326(in Chinese)
[112] Xu Lisong, Harfoush K, Rhee Injong. Binary increase congestion control (BIC) for fast long-distance networks [C]//Proc of the IEEE Int Conf on Computer Communications. Piscataway, NJ: IEEE, 2004: 2514−2524
[113] Ha Sangtae, Rhee Injong, Xu Lisong. CUBIC: A new TCP-friendly high-speed TCP variant[J]. ACM Special Interest Group on Operating Systems, 2008, 42(5): 64−74 doi: 10.1145/1400097.1400105
[114] Alizadeh M, Greenberg A G, Maltz D A, et al. Data center TCP (DCTCP)[J]. ACM SIGCOMM Computer Communication Review, 2010, 40(4): 63−74 doi: 10.1145/1851275.1851192
[115] IEEE 802.1 Working Group. 802.1Qau-congestion notification [EB/OL]. [2024-07-06]. https://1.ieee802.org/dcb/802-1qau/
[116] Tessler C, Shpigelman Y, Dalal G, et al. Reinforcement learning for datacenter congestion control[J]. ACM SIGMETRICS Performance Evaluation Review, 2021, 49(2): 43−46
[117] 章淼,吴建平,林闯. 互联网端到端拥塞控制综述[J]. 软件学报,2002,13(3):354−363 Zhang Miao, Wu Jianping, Lin Chuang. A review of research on end-to-end congestion control for the Internet[J]. Journal of Software, 2002, 13(3): 354−363(in Chinese)
[118] Dally W J, Seitz C L. Deadlock-free message routing in multiprocessor interconnection networks[J]. IEEE Transactions on Computers, 1987, 36(5): 547−553
[119] Yu Zhuolong, Su BoWei, Bai Wei, et al. Understanding the micro-behaviors of hardware offloaded network stacks with Lumina [C]//Proc of the 2023 ACM SIGCOMM Conf. New York: ACM, 2023: 1074−1087
[120] RedHat. What is cloud storage? [EB/OL]. [2024-07-06]. https://www.redhat.com/zh/topics/data-storage/what-is-cloud-storage
[121] 陈思新. 分布式块存储系统中RDMA通信优化研究 [D]. 武汉:华中科技大学,2022 Chen Sixin. Optimization study of RDMA communication in distributed block storage systems [D]. Wuhan: Huazhong University of Science and Technology, 2022(in Chinese)
[122] IBM. What is file storage? [EB/OL]. [2024-07-06]. https://www.ibm.com/cn-zh/topics/file-storage
[123] Azure. Azure blockchain service [EB/OL]. [2024-07-06]. https://azure.microsoft.com/en-us/services/blockchain-service/
[124] The Ohio State University. High-Performance big data project [EB/OL]. [2024-07-06]. http://hibd:cse:ohio-state:edu/
[125] Carbone P, Katsifodimos A, Ewen S, et al. Apache Flink™: Stream and batch processing in a single engine[J]. IEEE Computer Society, 2015, 36(4): 28−33
[126] Li Hao, Kadav A, Kruus E, et al. Malt: Distributed data-parallelism for existing ml applications [C/OL]//Proc of the 10th European Conf on Computer Systems. New York: ACM, 2015 [2024-07-06]. https://dl.acm.org/doi/10.1145/2741948.2741965
[127] Abadi M, Barham P, Chen Jianmin, et al. Tensorflow: A system for large-scale machine learning [C]//Proc of the 12th USENIX Symp on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2016: 265−283
[128] Peripheral Component Interconnect Special Interest Group. SR-IOV [EB/OL]. [2024-07-06]. https://pcisig.com/specifications/iov/single_root/
[129] Ultra Ethernet. UEC [EB/OL]. [2024-07-06]. https://ultraethernet.org/
[130] AMD Pensando. DSC2−200 distributed services card [EB/OL]. [2024-07-06] . https://www.amd.com/system/files/documents/pensando-dsc-200-product-brief.pdf
[131] NVIDIA. Bluefield−2DPU [EB/OL]. [2024-07-06]. https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/documents/datasheet-nvidia-bluefield-3-dpu.pdf
[132] Aliyun. eRDMA [EB/OL]. [2024-07-06]. https://help.aliyun.com/zh/ecs/user-guide/erdma/?spm=a2c4g.11186623.0.0.52db44bbxNFCyy
[133] Amazon . ENA express: Improved network latency and per-flow performance on EC2 [EB/OL]. [2024-07-06]. https://aws.amazon.com/cn/blogs/aws/new-ena-express-improved-network-latency-and-per-flow-performance-on-ec2/
[134] Amazon. AWS Nitro system [EB/OL]. [2024-07-06]. https://aws.amazon.com/cn/ec2/nitro
[135] Pandey S M, Shashidhara R. SRoCE: Software RDMA over commodity ethernet [EB/OL]. 2020 [2024-07-06]. https://homes.cs.washington.edu/~rajaths/sRoCE.pdf
[136] Liss L. The linux softroce driver [EB/OL]. [2024-07-06]. https://www.openfabrics.org/images/eventpresos/2017presentations/205_SoftRoCE_LLiss.pdf
[137] Linux. Softiwarp [EB/OL]. [2024-07-06]. https://lxr.linux.no/linux+v5.15.91/drivers/infiniband/sw/siw/
[138] Chelsio. Chelsio T6 [EB/OL]. [2024-07-06]. https://www.chelsio.com/wp-content/uploads/resources/T6-Architecture.pdf
[139] The Transaction Processing Council. TPC-C benchmark v5.11 [EB/OL]. [2024-07-06]. http://www.tpc.org/tpcc/
[140] The H-Store Team. SmallBank benchmark [EB/OL]. [2024-07-06]. http://hstore.cs.brown.edu/documentation/deployment/benchmarks/smallbank/
[141] Huang Haoyu, Ghandeharizadeh S. An evaluation of RDMA-based message passing protocols [C]//Proc of the IEEE Int Conf on Big Data. Piscataway, NJ: IEEE, 2019: 3340−3349
[142] Hong YuJu, Thottethodi M. Understanding and mitigating the impact of load imbalance in the memory caching tier [C/OL]//Proc of the 4th Annual Symp on Cloud Computing. New York: ACM, 2013 [2024-07-06]. https://dl.acm.org/doi/10.1145/2523616.2525970
[143] Redis. Redis open source in-memory data store [EB/OL]. [2024-07-06]. https://redis.io/
[144] CloudLab. CloudLab infrastructure for cloud computing [EB/OL]. [2024-07-06]. https://cloudlab.us/
[145] OFED. Linux perftest [EB/OL]. [2024-07-06]. https://github.com/linux-rdma/perftest
[146] NVIDIA Mellanox. NEO-Host [EB/OL]. [2024-07-06]. https://www.nvidia.cn/networking/management-software/
[147] Ohio Supercomputer Center. Linux qperf [EB/OL]. [2024-07-06]. https://github.com/linux-rdma/qperf
[148] Ohio State University. OSU benchmarks [EB/OL]. [2024-07-06]. https://mvapich.cse.ohio-state.edu/benchmarks/
[149] Carnegie Mellon University. rdma_bench [EB/OL]. [2024-07-06]. https://github.com/efficient/rdma_bench
[150] NS−3. The NS−3 discrete-event network simulator [EB/OL]. [2024-07-06]. http://www.nsnam.org
[151] OMNeT++. OMNeT++ discrete event simulator [EB/OL]. [2024-07-06]. https://omnetpp.org/
[152] Huang Bo, Jin Li, Lu Zhihui, et al. BoR: Toward high-performance permissioned blockchain in RDMA-enabled network[J]. IEEE Transactions on Services Computing, 2020, 13(2): 301−313 doi: 10.1109/TSC.2019.2948009
[153] Ren Yufei, Wu Xingbo, Zhang Li, et al. iRDMA: Efficient use of RDMA in distributed deep learning systems [C]//Proc of the 19th IEEE Int Conf on High Performance Computing and Communications. Los Alamitos, CA: IEEE Computer Society, 2017: 231−238
[154] Cossettini A, Taranov K, Vogt C, et al. A RDMA interface for ultra-fast ultrasound data-streaming over an optical link [C]//Proc of the Design, Automation & Test in Europe Conf & Exhibition. Leuven, BEL: European Design and Automation Association, 2022: 80−83
[155] De Laat W. The application of RDMA over converged Ethernet data transport for radio-astronomy systems [D]. Delft, Netherlands: Delft University of Technology, 2022