2.845

2023影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

自适应Mean Shift算法的彩色图像平滑与分割算法

王晏 孙怡

赖轩, 曲延云, 谢源, 裴玉龙. 基于拓扑一致性对抗互学习的知识蒸馏. 自动化学报, 2023, 49(1): 102−110 doi: 10.16383/j.aas.c200665
引用本文: 王晏, 孙怡. 自适应Mean Shift算法的彩色图像平滑与分割算法. 自动化学报, 2010, 36(12): 1637-1644. doi: 10.3724/SP.J.1004.2010.01637
Lai Xuan, Qu Yan-Yun, Xie Yuan, Pei Yu-Long. Topology-guided adversarial deep mutual learning for knowledge distillation. Acta Automatica Sinica, 2023, 49(1): 102−110 doi: 10.16383/j.aas.c200665
Citation: WANG Yan, SUN Yi. Adaptive Mean Shift Based Image Smoothing and Segmentation. ACTA AUTOMATICA SINICA, 2010, 36(12): 1637-1644. doi: 10.3724/SP.J.1004.2010.01637

自适应Mean Shift算法的彩色图像平滑与分割算法

doi: 10.3724/SP.J.1004.2010.01637
详细信息
    通讯作者:

    王晏

Adaptive Mean Shift Based Image Smoothing and Segmentation

More Information
    Corresponding author: WANG Yan
  • 摘要: 采用Mean shift算法对图像进行平滑和分割处理时, 带宽和采样点权重的选择直接影响平滑和分割的效果. 带宽分为空域带宽和值域带宽. 本文根据图像颜色分布的丰富程度定义了自适应空域带宽. 在此基础上, 通过最小化局部方差函数和最大化频域结构相似度函数获得自适应值域带宽. 此外, 通过定义采样点权重, 克服了图像过平滑问题. 通过随机选取大量的图像进行实验, 结果表明运用本文所选择的带宽和权重, 可以得到正确的图像区域分割结果.
  • 图像分类是计算机视觉领域的一个经典任务, 有广泛的应用需求, 例如机场和车站闸口的人脸识别、智能交通中的车辆检测等, 图像分类的应用在一定程度上减轻了工作人员的负担, 提高了工作效率. 图像分类的解决方法也为目标检测、图像分割、场景理解等视觉任务奠定了基础. 近年来, 由于GPU等硬件和深度学习技术的发展, 深度神经网络(Deep neural network, DNN)[1]在各个领域取得了长足的进展, 比如, 在ImageNet大规模视觉识别挑战赛ILSVRC比赛库上的图像分类, 基于深度学习的图像分类方法已经取得了与人类几乎相同甚至超越人类的识别性能. 然而, 这些用于图像分类的深度学习模型往往需要较高的存储空间和计算资源, 使其难以有效的应用在手机等云端设备上. 如何将模型压缩到可以适应云端设备要求, 并使得性能达到应用需求, 是当前计算机视觉研究领域一个活跃的研究主题. 轻量级模型设计是当前主要的解决途径, 到目前为止, 模型压缩方法大致分为基于模型设计的方法[2]、基于量化的方法[3]、基于剪枝的方法[4]、基于权重共享的方法[5]、基于张量分解的方法[6]和基于知识蒸馏的方法[7]六类.

    本文主要关注知识蒸馏方法. 知识蒸馏最初被用于模型压缩[8]. 不同于剪枝、张量分解等模型压缩方法, 知识蒸馏(Knowledge distillation, KD)的方法, 先固定一个分类性能好的大模型作为教师网络, 然后训练一个轻量级模型作为学生网络学习教师网络蒸馏出来的知识, 在不增加参数量的情况下提升小模型的性能. 基于知识蒸馏的模型压缩方法, 将教师网络输出的预测分布视为软标签, 用于指导学生网络的预测分布, 软标签反映了不同类别信息间的隐关联, 为新网络的训练提供了更丰富的信息, 通过最小化两个网络预测的Kullback-Leibler (KL)散度差异, 来实现知识迁移. Romero等[9]认为让小模型直接在输出端模拟大模型时会造成模型训练困难, 从而尝试让小模型去学习大模型预测的中间部分, 该方法提取出教师网络中间层的特征图, 通过一个卷积转化特征图大小来指导学生网络对应层的特征图. Yim等[10]使用FSP (Flow of solution procedure)矩阵计算卷积层之间的关系, 让小模型去拟合大模型层与层之间的关系. Peng等[11]和Park等[12]同时输入多个数据, 在原知识蒸馏模型的基础上通过学习样本之间的相关性进一步提升学生网络性能.

    考虑到知识蒸馏的本质是知识的迁移, 即将知识从一个模型迁移到另一个模型, Zhang等[13]提出了深度互学习(Deep mutual learning, DML)方法, 设计了一种蒸馏相关的相互学习策略, 在训练的过程中, 学生网络和教师网络可以相互学习, 知识不仅从教师网络迁移到学生网络, 也从学生网络迁移到教师网络.

    协同学习也是常见的迁移学习方法之一, 多用于半监督学习. 在协同学习中, 不同的模型或者在不同分组的数据集上学习, 或者通过不同视角的特征进行学习, 例如识别同一组物体类别, 但其中一种模型输入RGB图像, 而另一种模式输入深度图像. 协同属性学习[14]就是通过属性矩阵的融合进行属性的挖掘, 从而指导两个模型的分类. 而深度互学习方法中所有模型在同一数据集上训练完成相同的任务.

    尽管现有的知识蒸馏的方法已经取得了长足的进展, 但仍存在以下问题: 1)现有的深度互学习方法仅关注教师网络和学生网络输出的类分布之间的差异, 没有利用对抗训练来提升模型的判别能力; 2)现有的深度互学习仅关注结果监督, 忽视了过程监督. 特别是没有考虑高维特征空间中拓扑关系的一致性. 针对问题1), 本文设计对抗互学习框架, 生成器使用深度互学习框架, 通过对抗训练, 提高教师和学生网络的判别性; 针对问题2), 本文在教师网络和学生网络互学习模型中, 增加过程监督, 即对中间生成的特征图, 设计了拓扑一致性度量方法, 通过结果和过程同时控制, 提高模型的判别能力.

    总之, 本文提出了一种基于拓扑一致性的对抗互学习知识蒸馏方法(Topology-guided adversarial deep mutual learning, TADML), 在生成对抗[15]网络架构下, 设计知识蒸馏方法, 教师网络和学生网络互相指导更新, 不仅让教师网络的知识迁移到学生网络, 也让学生网络的知识迁移到教师网络. 本文的模型框架可以推广到多个网络的对抗互学习. TADML由深度互学习网络构成的生成器和一个判别器组成. 生成器的每个子网络都是分类网络. 类似于知识蒸馏, 任一子网络都可以看作是其余网络的教师网络, 对其他网络训练更新, 进行知识迁移. 为方便计算, 本文将所有子网络组视为一个大网络同时优化更新. 每个被看作生成器的子网络, 生成输入图像的特征. 判别器更新时判断生成器的输出特征属于哪一个类别、来源于哪一个子网络, 而生成器更新时尽量混淆判别器使其无法准确判断特征来源于哪一个生成器, 进而拟合网络中隐含的信息.

    本节介绍如何通过对抗训练框架实现网络间的知识转移. 首先概述TAMDL网络结构, 然后讨论所提的损失函数的构成, 最后描述模型的训练过程.

    图1所示, 给出了基于拓扑一致性的对抗互学习知识蒸馏(TADML)框架, 该框架由生成器和判别器两部分组成:

    图 1  本文方法框架
    Fig. 1  The framework of the proposed method

    1)生成网络. 该部分由两个或多个分类子网络组成, 生成器中的分类网络执行相同的分类任务, 可以选取不同的模型结构, 彼此间无需共享参数. 不失一般性, 现有的深度分类模型都可作为生成器中的分类网络, 例如ResNet和Wide-ResNet[16]. 由于所有的生成网络使用相同的数据集执行相同的分类任务, 对于输入图像$x$, 定义第$i$个网络的激活函数层Softmax的类别分布概率值为$f_i^{}(x,{\omega _i})$, 其中${\omega _i}$是相应的分类模型网络参数.

    2)判别器. 在TADML架构中, 将两个或多个分类网络看作生成器, 而判别器只有一个. 由于常见的判别器容易陷入过早收敛或难以训练两种极端情况, 本文设计了一个能较好平衡判别器稳定性和辨别能力的判别器, 相对于常见的多层感知器[17]更加稳定. 如图2 所示, 提出的判别器由三个全连接的层(128fc-256fc-128fc)组成, 且判别器的第一层和与最后一层没有批标准化处理(Batch normalization, BN)与LeakyRelu 激活函数操作. 与常见的判别器不同, 本文所设计判别器的输出不是简单的真假(自然图像/伪造图像), 而是判断输入来源于哪个网络且隶属于哪个类别. 受到条件GAN (Conditional-GAN, C-GAN[18])在图像恢复领域中的启发, 本文根据C-GAN的对判别器的输入进行改造, 在后续的消融实验部分对判别器的输入进行不同程度的约束.

    图 2  判别器结构图
    Fig. 2  The structure of discriminator

    所提方法考虑四种损失: 标签监督损失${L_S}$, 对抗损失${L_{adv}}$, 分布一致性损失${L_b}$, 拓扑一致性损失${L_T}$. 标签监督损失${L_S}$是广泛用于图像分类中带注释数据分类任务的监督损失, 这对提取知识起着至关重要的作用. 分布一致性损失${L_b}$是直接匹配所有分类子网络的输出的显式损失, 而对抗性损失${L_{adv}}$表示隐式损失, 该损失将所有分类子网络的逻辑分布之间经过分类器判断的差异最小化. 换句话说, 对抗性损失提供了一些通过传统分布相似性度量而丢失的信息. 拓扑一致性损失${L_T}$是样本实例间隐藏的高阶结构信息.

    在训练对抗生成抗网络时, 为指导网络的学习, 尽可能迁移分类网络之间的知识, 总的损失函数定义为:

    $${L_{total}} = \alpha {L_S} + \beta {L_b} + {L_{adv}} + {L_T}$$ (1)

    式中, $\alpha 和\beta$分别表示四项损失所占的权重, 在本文中分别设定为$\alpha = 0.6$, $\beta = 0.4$. 下面依次对这四个部分进行详细说明.

    1)标签监督损失. 该损失为常用的监督分类交叉熵损失. 对于给定的图像标签对$\left( {x;l} \right)$, 优化模型参数使得预测类别与标签的交叉熵降至最低, 以正确预测每个训练实例的真实标签:

    $${L_S}(f) = \frac{1}{N}\sum\limits_{i = 1}^N {{L_{CE}}({l_i},f({x_i}))} $$ (2)

    2)分布一致性损失. 考虑到互学习模型中的知识迁移, 与之前的蒸馏网络不同, 本文没有固定一个预训练网络作为教师网络进行单向指导, 所提方法中任意一个网络都接受其余网络的监督指导, 最小化分类网络输出特征的类别分布差异, 输出越相似则表示迁移效果越好. 受到Knowledge squeezed adversarial network compression (KSANC)[19]的启发, 本文考虑从结果导向和过程导向两个方面同时进行知识迁移. 过程导向约束仅针对最后一个全连接层的输出. 最终输出的逻辑分布作为结果导向, 即各个网络之间只保留网络输出之间的实例级对齐.

    考虑到网络输出的类别分布的差异性度量, 本文使用Jensen-Shannon (JS) 散度衡量输出分布的相似性:

    $${L_b} = JS({f_i},{f_j}) = KL({f_i},{f_j}) + KL({f_j},{f_i})$$ (3)

    式中, ${f_i}$表示由第$i$个网络预测的逻辑分布. KL散度定义为:

    $$ KL({f_i},{f_j}) = {f_i}\ln \frac{{{f_i}}}{{{f_j}}} $$ (4)

    3)对抗性损失. 在TADML的模型中, 采用对抗学习(GAN)的方法, 将从每个网络中提取的知识转移到另一个网络中. 在知识蒸馏中, 学生网络通过模仿教师网络从而学习教师网络中的知识, 直到最后学生网络的输出与教师网络相近则视为指导完成. TADML网络整体框架分为生成器和判别器两个部分, 多个分类网络构成生成器. 对于一个输入的样本, 经过生成网络得到多个类别概率, 每一个分类网络都对应输出一个概率分布(也可以视为图像经过这个网络表征的特征编码). 这些概率分布作为判别器的输入, 判别器判断类别概率分布是由哪个分类网络产生. 生成器与判别器交替迭代更新, 固定判别器更新生成器时, 尽量生成相似的特征编码, 使得判别器无法分辨特征编码来自于生成器的哪一个子网络; 而在固定生成器更新判别器时, 尽量训练判别网络, 使其可以轻易的分辨输入来源于生成器中哪个分类子网络. 二者交替迭代直到动态平衡, 则视为收敛.

    到目前为止, 基于GAN的方法已在很多领域取得了显著的效果, 在TADML方法中, 每个分类子网络都被视为GAN中的生成器, 并提供逻辑分布作为另一个分类子网络的真实标签. 相较于原始的GAN 网络只输出一个布尔值, 即真或假, 本文判别器判断其输入来源于哪个分类子网络:

    $$ L_{adv}^o = \mathop {\min }\limits_{{f_i}(x)} \mathop {\max }\limits_D \sum\limits_i {{L_{CE}}({{{{g_n}}}({m{i}})},{{{m{D^o}}}({{m{f_i}}}({{x}}))})} $$ (5)

    式中, ${ {{g_{n}}}({{i}}) }$是第$i$个元素为1, 其余元素为0的向量, 表示生成器$n$个分类子网络的第$i$个分类网络的输出作为判别器的输入, ${ {{{{{D^o}}}}}({{{f_j}}}({{x}})) }$表示判别器输出的$n$位向量, 代表判别器预测输入来源于哪个网络, $n$为分类子网络数.

    此外, 如果判别器仅仅区分输入来自生成器的哪个子网络, 则缺少类别信息可能导致错误的关联.为此, 引入辅助分类来预测输入所属类别. 即本文所提的判别器不仅需要判断输入来源于哪个分类子网络, 还需要判断输入属于哪一个类别标签, 损失函数表示为:

    $$ L_{adv}^C = \mathop {\min }\limits_{{f_i}(x)} \mathop {\max }\limits_D \sum\limits_i {{L_{CE}}({{{{g_N}}}({{C}})},{{{{D^C}}}({{{f_i}}}({{x}}))})} $$ (6)

    式中, ${ {{{g_N}}}({{C}}) }$表示真实的类别分布, ${ {{{D^C}}}({{{f_i}}}({{x}})) }$表示判别器输出的类别分布, $N$是类别总数.

    鉴于GAN网络的判别器容易在极少的迭代次数后收敛和过度拟合. 本文设计了惩罚项作为对模型的正则化处理, 定义如下:

    $$ L_{adv}^{reg} = - \mu (\left\| {{\omega _D}} \right\|_2^2 - {L_{CE}}({{{g}}({{0}})},{{{D}}({{f}}({{x}}))})) $$ (7)

    式中, $\mu $权重参数设为0.7, ${\omega _D}$是判别器的网络参数, ${ {{g}}({{0}}) }$表示元素全为0的向量, 负号表示该项仅在式(5)最大化步骤中更新, 前一项迫使判别器的权重缓慢增长, 后一项则是对抗性样本正则化.

    本文设计的对抗损失为:

    $${L_{adv}} = L_{adv}^o + L_{adv}^C + L_{adv}^{reg}$$ (8)

    4)拓扑一致性损失. 在过程导向的监督学习中, 考虑样本组间的拓扑结构相似性, 本文选择计算样本在高维空间嵌入特征的距离及其角度的一致性. 对于输入的样本组$\{{x}_{1}, {x}_{2}, {x}_{3}, \cdots , {x}_{n}\}$, 经过第i个分类网络的最后一层全连接输出的特征映射看作高维嵌入特征$\left\{{{{{h}_{i}}}({{{x}_{1}}})}, {{{{h}_{i}}}({{{{{x}_{2}}})}}}, {{{{h}_{i}}}({{{x}_{3}}})}, \cdots , { {{{h}_{i}}}({{{x}_{n}}})}\right\}$, 则两个网络间基于特征距离的拓扑一致性损失可以表示为:

    $$L_T^D = \sum\limits_{i \ne j} {\left| {\varphi _D^{(1)}({x_i},{x_j}) - \varphi _D^{(2)}({x_i},{x_j})} \right|} $$ (9)

    式中, $\varphi _D^{(s)}({x_i},{x_j})$表示样本${x_i},{x_j}$在第$s$个网络中高维嵌入特征的位置距离, 本文采用归一化的二范式表示:

    $$ {\varphi _D}({x_i},{x_j}) = \frac{1}{\phi }{\left\| {{{{h}}({{{x_i}}})} - {{{h}}({{{x_j}}})}} \right\|_2} $$ (10)

    式中, $\phi $是距离归一化系数, 表达式为:

    $$ \phi = \sum\limits_{i \ne j} {{{\left\| {{{{h}}({{{x_i}}})} - {{{h}}({{{x_j}}})}} \right\|}_2}} $$ (11)

    同理, 两个网络间基于特征角度的一致性损失可以表示为:

    $$L_T^A = \sum\limits_{i \ne j} {\max \left( {\varphi _A^{(1)}({x_i},{x_j}) - \varphi _A^{(2)}({x_i},{x_j}),0} \right)} $$ (12)

    式中, $ \varphi _A^{(s)}({x_i},{x_j}) $表示样本${x_i},{x_j}$在第s个网络中高维嵌入特征的夹角, 本文采用特征向量的内积表示:

    $$ {\varphi _A}({x_i},{x_j}) = \frac{{{h}^{\rm T}({{x_i}})}{{{h}}({{{x_j}}})}}{{{{\left\| {{{h}}({{{x_i}}})} \right\|}_2}{{\left\| {{{h}}({{{x_j}}})} \right\|}_2}}} $$ (13)

    则两个网络之间的拓扑一致性损失可以表示为:

    $${L_T} = {\lambda _1}L_T^D + {\lambda _2}L_T^A$$ (14)

    式中, ${\lambda _1}$${\lambda _2}$ 分别表示两项损失所占的权重, 在本文中分别设定${\lambda _1} = 1$${\lambda _2} = 2$.

    在训练过程中, 本文交替更新判别器和生成器. 在更新生成器参数时, 固定判别器不动, 将生成器的所有分类网络视为一个整体, 通过最小化式(1)同时更新生成器中所有的分类网络参数. 在更新判别器参数时, 所有的生成网络都是固定的, 以提供稳定的输入, 通过最大化式(8)更新. 交替迭代更新, 每输入一组数据交替一次, 直至迭代次数满足终止条件. 在测试阶段, 本文仅考虑作为生成器的分类子网络, 并将每个分类子网络视为一个完整的分类网络来对输入图像分别进行分类.

    本文在3个公开的分类数据集CIFAR10、CIFAR100和Tiny-ImageNet上进行训练和测试, 进一步在行人重识别数据集Market1501上验证所提方法的有效性. 其中, CIFAR100和CIFAR10数据集都包含60000张32 × 32像素大小的图像, 分别由100个类和10个类组成, 50000张用于训练, 10000张用于验证. Tiny-ImageNet源于ImageNet dataset (1000 个类别), 从中抽取200个类别, 每个类别有500个训练图像, 50个验证图像和50个测试图像, 且所有图片都被裁剪放缩为64 × 64像素大小. Market1501是常用的行人重识别数据集, 包含12936张训练图像(751个不同的行人)和19732张测试图像(750个不同的行人), 图像大小为64 × 128 像素.

    本文算法使用Torch0.4在NVIDIA GeForce GTX 1080 GPU上实现. 对于所有分类数据集, 均使用随机梯度下降法进行优化, 将权重衰减设置为0.0001, 动量设置为0.9. 对于CIFARs的实验, 批量大小设置为64, 生成网络和判别器的初始学习率分别设置为0.1和0.001, 每隔80次迭代两者都缩小为0.1倍, 总共训练了200次迭代. 对于Tiny-ImageNet的实验, 批量大小设置为128, 总迭代次数为330代, 生成网络初始学习率设为0.1, 每隔60代学习率乘以0.2, 判别网络初始学习率为0.001, 每隔120 代乘以0.1. 对于Market1501的实验, 采用与DML相同的实验设置: 使用Adam优化器, 学习率为0.0002, β1设为0.5, β2设为0.999, 批量大小设置为16, 图像输入大小为64 × 160像素, 共迭代100000次. 尽管使用预训练模型能得到更高的精度, 在实验中, 所有网络都采用随机初始化的. 由于训练前期网络变化较大, 仅在总迭代次数过半的时候才加入拓扑一致性损失更新网络, 且用上一次迭代时分类精度高的网络指导精度低的网络, 而不是互相指导学习.

    关于损失函数的选择, 本文尝试不同损失组合的效果. 表1展示了在CIFAR10 和CIFAR100上, 将两个ResNet32设置为生成器中的教师网络和学生网络, 遵循相同的实验方案进行训练, 并选择这两个子网络的平均精度作为最终结果. 其中, ${L_S}$表示标签损失, ${L_p}\;(p = 1,2)$ 表示两个网络输出分布之间的${l_1},{l_2}$范数损失, $L_{JS}$表示两个网络输出分布的$L_{JS}$散度相似性, ${L_{adv}}$表示本章提出的对抗损失. 从表中可知, 单独使用类别标签监督损失${L_S}$在所有组合中结果最差, 增加任意一种知识迁移的损失都能增加预测的精度, ${L_S} + L_{JS} + {L_{adv}}$取得最高的平均分类精度, 在CIFAR10和CIFAR100上增幅分别为0.62%和2.28%在固定类别标签监督损失${L_S}$和对抗损失${L_{adv}}$的情况下, 对比增加${L_2}$$JS$损失, 前者增加$L_{JS}$比增加${L_2}$使得分类性能有所提升, 在两个数据集上的增幅分别为0.48%和0.78%. 综上所述, 在后续的实验中, 单独使用$L_{JS}$差异来计算${L_b}$.

    表 1  损失函数对分类精度的影响比较(%)
    Table 1  Comparison of classification performance with different loss function (%)
    损失构成CIFAR10CIFAR100
    LS92.9070.47
    LS + LJS93.1871.70
    LS + LJS + Ladv93.5272.75
    LS + L1 + Ladv93.0471.97
    LS + L2 + Ladv93.2672.02
    LS + L1 + LJS + Ladv92.8771.63
    LS + L2 + LJS + Ladv92.3870.90
    LS + LJS + Ladv + LT93.0571.81
    下载: 导出CSV 
    | 显示表格

    进一步讨论判别器结构对TAMDL性能的影响. 在CIFAR100上进行实验, 在分类子网络固定为ResNet32的情况下, 讨论判别器采用不同的架构对最终网络的分类误差的影响. 由表2可以看出, 不同结构的判别器对结果的影响不大. 尝试了两层到四层不同容量的全连接层模型, 且为了尽可能保留输入数据的差异性, 仅在全连接层之间进行BN与LeakyReLU操作. 实验表明四层全连接层的效果普遍会略低于三层的效果, 三层结构的判别器取得了略优的分类性能, 128fc-256fc-128fc在CIF-AR100上取得了最好的分类性能, 相比最差的四层结构的判别器128fc-256fc-256fc-128fc分类精度仅提高了0.28. 为此, 在后续实验中, TAMDL采用三层结构的判别器.

    表 2  判别器结构对分类精度的影响比较(%)
    Table 2  Comparison of classification performance with different discriminator structures (%)
    结构CIFAR100
    256fc-256fc71.57
    500fc-500fc72.09
    100fc-100fc-100fc72.33
    128fc-256fc-128fc72.51
    64fc-128fc-256fc-128fc72.28
    128fc-256fc-256fc-128fc72.23
    下载: 导出CSV 
    | 显示表格

    本节讨论判别器的输入对TAMDL性能的影响. 在2个ResNet32构成的网络上进行了实验. 对比了不同的判别器的输入: 1) Conv4表示图像经过第4组卷积得到的特征; 2) FC表示单张图像经过全连接层转化但未经Softmax的特征; 3) DAE表示原始图像经过深度自编码器得到的压缩特征; 4) Label 表示分类标签的热编码; 5) Avgfc表示一组图像经过全连接层转化但未经Softmax的特征的平均值. 表3 对比了针对不同判别器输入网络的最终结果, 表中的结果是经过分类网络输出的平均值. 由表3可以看出, FC得到的特征作为判别器的输入取得了最好的判别性能, 增加的条件约束信息对最终结果没有正面的促进, 如FC + Conv4判别器的性能并没有提升, 反而下降了0.44%. FC + Label作为输入, 判别器性能仅次于FC作为输入得到的结果.

    表 3  判别器输入对分类精度的影响比较(%)
    Table 3  Comparison of classification performance with different discriminator inputs (%)
    输入约束CIFAR100
    Conv472.33
    FC72.51
    Conv4 + FC72.07
    FC + DAE71.97
    FC + Label72.35
    FC + Avgfc71.20
    下载: 导出CSV 
    | 显示表格

    进一步讨论采样数量对TAMDL分类性能的影响. 在训练过程中通常采用从训练数据集中随机采样来训练网络. 不加限制的随机采样器可能会导致所有样本都来自不同类别的情况. 尽管它是对实例一致性的真实梯度的无偏估计, 但是在本节提出的样本组间结构相似性损失计算中, 过多的样本类别数容易导致组间关系过于复杂难以学习优化, 且过少的样本类别数又容易导致类间相关性偏差较大. 为了正确的传递样本组间的真实相关信息, 采样策略十分重要. 在批量输入大小固定为64的情况下, 对样本组中的类别数目进行了限定. 表4给出了在CIFAR100数据集上, 学生和教师网络为ResNet32和ResNet110时的分类结果, 其中每个样本组中类别总数为K且每类的样本数目为64/K, Random表示不进行采样约束的互学习结果, Vanila表示原始网络精度. 由表4可知, 当类别总数K取值过小时, 网络无法正常训练或过早陷入过拟合状态. 如K = 2, TADML取得最低的分类性能. 当K 取值刚好等于类别总数时, 即每个类别样本仅出现一次, 网络的性能与随机采样效果基本保持一致. 在K = 8, 16, 32时, TAMDL的性能均优于随机采样的方式, 增幅分别为0.31%、0.72%、0.38%. 由此可知, 样本组的类别数在平衡类间内相关一致性中有很重要的作用, 选取适当的类别数, 后续实验采用K = 16.

    表 4  采样数量对分类精度的影响比较(%)
    Table 4  Comparison of classification performance with different sampling strategies (%)
    网络结构VanilaRandomK = 2K = 4K = 8K = 16K = 32K = 64
    Resnet3271.1472.1231.0760.6972.4372.8472.5071.99
    Resnet11074.3174.5922.6452.3374.5975.1875.0174.59
    下载: 导出CSV 
    | 显示表格

    本节讨论TAMDL与DML的性能对比. 为了说明TAMDL的鲁棒性和优越性, 实验设置不同结构的分类网络作为生成器, 并与原始分类网络和深度互学习方法(DML)进行比较. 对比实验的优化器参数设置与本文提出算法保持一致, DML算法优化步骤按照原文的设置, 使用KL散度进行知识迁移并交替训练子网络. 为了进一步说明本文所提两个损失模块的有效性, 把仅加上对抗损失模块的网络(损失函数未加拓扑一致性损失度量)定义为ADML. 实验部分列出了ADML算法与同时使用对抗性损失模块、拓扑一致性损失模块的TADML算法的测试结果. 由表5可以看出, 本文方法在ResNet32, ResNet110和Wide-ResNet (WRN)之间的几乎所有组合中, 都比DML表现更好, 无论两个网络是同等大小, 还是一大一小, 大网络几乎都可以从小网络中进一步获益, 从而达到更高的精度. 换句话说, ADML进一步提升了所有网络的能力. 表5中除第1行外, 第2 ~ 5行所有的教师和学生网络结构模型, ADML的性能都优于DML. 学生网络(第1列)的第2 ~ 5行增幅分别为1.04%、0.49%、0.71%、1.03%, 教师网络(第2列)的第2 ~ 5行增幅分别为0.1%、0.55%、0.74%、0.32%. 当在CIFAR10上重复相同的实验时, 由于生成网络的输出过于简单导致基于GAN的优化难以收敛, 提出的ADML的性能几乎等于DML.

    表 5  网络结构对分类精度的影响比较(%)
    Table 5  Comparison of classification performance with different network structures (%)
    网络结构原始网络DML[13]ADMLTADML
    网络 1网络 2网络 1网络 2网络 1网络 2网络 1网络 2网络 1网络 2
    ResNet32ResNet3270.4770.4771.8671.8972.8572.8973.0773.13
    ResNet32ResNet11070.4773.1271.6274.0872.6674.1873.1474.86
    ResNet110ResNet11073.1273.1274.5974.5575.0875.1075.5275.71
    WRN-10-4WRN-10-472.6572.6573.0673.0173.7773.7573.9774.08
    WRN-10-4WRN-28-1072.6580.7773.5881.1174.6181.4375.1182.13
    下载: 导出CSV 
    | 显示表格

    表5可以看出, TADML在所有的网络结构试验中几乎都达到了最优的结果, 最优值用黑体标记, 次优值用下划线标记. 相对于DML, TADML在所有设置的网络结构中都优于DML, 学生网络的增幅分别为1.21%、1.52%、0.93%、0.91%和1.52%, 教师网络的增幅分别为1.24%、0.78%、1.16%、1.07%和1.01%. 进一步可以发现, 当2个分类子网络大小不一致时, 较大网络的提升效果远没有较小网络明显.

    将本文方法用于行人再识别, 用平均识别精度mAP进行度量. 为公平比较起见, 采用了与DML[13]在行人在识别实验中相同的网络设置, 设置了2组不同网络学生和教师的架构: 网络1(InceptionV, MobileNetV1)、网络2 (MobileNetV1, MobileNetV1). 对比DML、ADML和TADML, 结果如表6所示. 在行人重识别数据集上的性能进一步表明了, 本文算法的有效性和优越性. ADML 相对于DML, 2组师生网络性能分别提升了0.26%和0.35%、0.47%和1.01%; TADML相对于DML, 两组师生网络性能分别提升了0.59%和1.04%、0.89%和1.39%. 实验结果表明, ADML和TADML方法在Market1501数据集上的mAP普遍高于DML.

    表 6  网络结构对行人重识别平均识别精度的影响比较(%)
    Table 6  Comparison of person re-identification mAP with different network structures (%)
    网络结构原始网络DML[13]ADMLTADML
    网络 1网络 2网络 1网络 2网络 1网络 2网络 1网络 2网络 1网络 2
    InceptionV1MobileNetV165.2646.0765.3452.8765.6053.2266.0353.91
    MobileNetV1MobileNetV146.0746.0752.9551.2653.4253.2753.8453.65
    下载: 导出CSV 
    | 显示表格

    将本文TAMDL方法与当前流行的方法进行比较, 为比较公平, 将模型压缩的性能作为比较指标, 在三个常见的分类数据集CIFAR10、CIFAR100、 Tiny-ImageNet上进行比较. 对比了9种方法, 分别为2种广泛使用的基于量化的模型压缩方法: Quantization[20]、Binary Connect[21], 4种常见的知识蒸馏方法: 解过程流方法(Flow of solution procedure, FSP)[10]、模拟浅层神经网络的SNN-MIMIC方法[22]、KD[8]、用浅而宽的教师网络训练窄而深的学生网络的FitNet[9], 3种对抗训练的蒸馏方法: 对抗网络压缩方法(Adversarial network compression, ANC[23]、用条件对抗学习加速训练学生网络的TSANC 方法[24]、用知识挤压进行对抗学习的KSANC方法[19]. 其中Quantization[20]将网络权重的进行三值化, Binary Connect[21]在前向和后向传递期间对权重进行二值化. SNN-MIMIC[22]模拟学习${L_2}$损失, KD[8]通过KL散度进行软目标的知识转移, Yim等[10]使用FSP矩阵进行蒸馏, FitNet[9]使用更深但更薄的网络尝试迁移模型中间层的知识. ANC[23]首次将生成对抗网络融入到知识蒸馏中对学生网络的逻辑分布层进行指导, TSANC[24]在此基础上对判别器的输入进行了条件约束, KSANC[19]进一步加入了网络中间层的监督指导.

    在对比实验中, 教师网络使用ResNet164, 学生网络使用ResNet20. 其中Tiny-ImageNet的实验结果由复现的代码运行得到, 表中的其余结果均来自自文献[19], 一些对比方法未给出实验结果, 则标记为“-”. 如表7所示, 第1行ResNet20为学生网络的分类性能, 第2行ResNet164为教师网络的性能. 从第2行至最后一行为在相同的教师和学生网络设置下, 对比方法仅使用学生网络进行分类达到的分类性能. 第1列为对比方法, 第2列为模型大小. 最优值使用黑色粗体标记, 次优值使用下划线粗体标记. 本文方法TAMDL在3个数据集上均取得了最高的分类精度, 与最新的对比方法KSANC比较, 在CIFAR10、CIFAR100和Tiny-ImagNet上增幅分别为0.37%、2.23%和0.34%.

    表 7  本文算法与其他压缩算法的实验结果
    Table 7  Experimental results of the proposed algorithm and other compression algorithms
    对比算法参数量
    (MB)
    CIFAR10
    (%)
    CIFAR100
    (%)
    Tiny-ImageNet
    (%)
    ResNet200.2791.4266.6354.45
    ResNet1642.693.4372.2461.55
    Yim 等[10]0.2788.7063.33-
    SNN-MIMIC[22]0.2790.9367.21-
    KD[8]0.2791.1266.6657.65
    FitNet[9]0.2791.4164.9655.59
    Quantization[20]0.2791.13--
    Binary Connect[21]15.2091.73--
    ANC[23]0.2791.9267.5558.17
    TSANC[24]0.2792.1767.4358.20
    KSANC[24]0.2792.6868.5859.77
    DML[13]0.2791.8269.4757.91
    ADML0.2792.2369.6059.00
    TADML0.2793.0570.8160.11
    下载: 导出CSV 
    | 显示表格

    表7可以看出, 学生网络都没能达到教师网络的性能. 对于CIFAR10, 在相同规模下采用对抗学习后, 学生网络的性能得到改善, ANC、TSANC、KSANC、AMDL、TAMDL的增幅分别为0.5%、0.75%、1.26%、0.81%和2.63%. 对于类别复杂的CIFAR100, 增幅更为明显, 以上5种方法的增幅分别为0.92%、0.80%、1.95%、2.97%和4.81%. 对于更为复杂的Tiny-ImageNet数据集, 以上五种方法的增幅分别为3.72%、3.75%、5.32%、4.55%和5.66%. 比较实验表明, 数据集越复杂, 对抗训练的提升效果越明显, 本文方法TAMDL相对于其他对比方法优势越明显.

    本节以ResNet164/ResNet20做为教师网络/学生网络为例, 来分析TAMDL模型的复杂性. 在训练阶段, 先固定判别器, 此时优化生成器—两个分类网络ResNet164和ResNet20, 两个模型的参数量分别为2.61 MB和0.27 MB, 即生成器参数量为2.88 MB, 耗时与传统互学习网络一致; 优化判别器时, 生成器固定不动, 此时优化的是一个多层感知器—三个全连接层128-256-128, 参数量为0.59 MB. 在训练时生成器和判别器以1:1的轮次交替迭代, 在数据集CIFAR100使用Pytorch0.4 进行实验, 生成器为ResNet164$+ $ResNet20, 判别网络为三个维度为128-256-128的全连接层, 批尺寸Batchsize设为64, 即每个训练轮次Epoch将训练集划分为781个Batch, 平均每训练轮次Epoch耗时82 s, 其中每个Batch平均耗时0.1045 s, 优化生成器反向传播耗时0.0694 s, 优化判别器反向传播耗时0.0016 s. 采用对抗训练, 并没有带来太大的时间开销.

    本文提出了一种拓扑一致性指导的对抗互学习知识蒸馏方法. 该方法在GAN框架下, 对轻量级的学生网络进行知识迁移, 所提方法设计了样本组间拓扑一致性度量, 依此设计的损失函数结合常规的实例级别的分布相似性, 以及对抗损失及标号损失, 作为训练模型的总损失. 文中评估了不同损失函数和不同模型架构对分类精度的影响. 在3个公开的数据集上验证了本文方法TAMDL的有效性. 本文方法效果稳定且提升明显, 而且在压缩模型的性能比较中, 取得最好的结果.

  • 期刊类型引用(4)

    1. 朱建勇,张琳,陆荣秀,杨辉. 基于Laguerre的多组分稀土萃取分布式模型预测控制. 控制与决策. 2025(03): 1005-1014 . 百度学术
    2. 朱建勇,常文佳,徐芳萍,杨辉. 基于改进差分进化的稀土萃取能效分离系数优化. 控制与决策. 2023(06): 1524-1532 . 百度学术
    3. 朱建勇 ,王伟 ,杨辉 ,徐芳萍 ,陆荣秀 . 基于多分支残差深层网络的稀土萃取流程模拟. 控制理论与应用. 2022(12): 2242-2253 . 百度学术
    4. 杨辉,代文豪,陆荣秀,朱建勇. 基于分离系数校正的稀土萃取流程模拟. 化工学报. 2020(07): 3180-3190 . 百度学术

    其他类型引用(6)

  • 加载中
计量
  • 文章访问数:  2327
  • HTML全文浏览量:  133
  • PDF下载量:  1164
  • 被引次数: 10
出版历程
  • 收稿日期:  2010-02-08
  • 修回日期:  2010-06-08
  • 刊出日期:  2010-12-20

目录

/

返回文章
返回