具体的,我们关注下面四篇文章: 1、What it Thinks is Important is Important: Robustness Transfers through Input Gradients2、ClusterFit: Improving Generalization of Visual Representations3、Learning Representations by Predicting Bags of Visual Words4、AdderNet: Do We Really Need Multiplications in Deep Learning? 1、What it Thinks is Important is Important: Robustness Transfers through Input Gradients
令Φ^(x) 表示输入图像 x 的特征图,Φ^u(x) 表示对应第 u 个位置的特征向量,对于每个位置 u,将相应的特征向量Φ^u(x) 赋给其最近的(以平方欧式距离为单位)视觉词嵌入 q^u(x):
第二步,创建图像 x 的离散表示 q(x) 的 BoW 表示:y(x)。可以采用两种表示形式:
y(x) 是一个 k 维向量,其中第 k 个元素 y_k(x) 编码第 k 个视觉词在图像 x 中出现的次数。结果 y(x) 可以被看作是图像 x 的第 K 个视觉词的软分类标签。K 值可能较大,因此 BoW 表示 y(x) 是相当稀疏的。 第三步,基于提取的 BoW 表示,执行自监督任务:给定图像 x,使用扰动算子 g(·) 生成扰动图像 x˜=g(x),然后训练模型基于扰动图像 x˜「预测/重建」原始图像 x 的 BoW 表示。本文使用的扰动算子 g(·):包括(1)颜色抖动(即图像的亮度、对比度、饱和度和色调的随机变化);(2)以概率 p 将图像转换为灰度;(3)随机图像裁剪;(4)比例或纵横比失真;(5)水平翻转。 定义一个预测层Ω(·),该预测层以Φ(x˜)作为输入,输出 BoW 中的 K 个视觉词的 K 维 softmax 分布。该预测层通过 liner-plus-softmax 层实现:
其中,W = [w_1,· · · ,w_K] 是线性层的 K 个 c 维权重向量(每个视觉词一个)。为了学习 convnet 模型,最小化预测的 softmax 分布Ω(Φ(x˜))和 BoW 分布 y(x)之间的期望交叉熵损失:
图 1. AdderNets 和 CNNs 中特征的可视化 模型介绍 给定一个深度神经网络的中间层,考虑一个滤波器 F,其中核大小为 d,输入通道为 c_in,输出通道为 c_out。输入特征定义为 X,令 H 和 W 分别为特征的高度和宽度,输出特征 Y 表示滤波器和输入特征之间的相似性,得到公式:
其中,S(·,·)表示预定义的相似性度量。如果使用互相关性作为距离度量,即 S(x,y)=x×y,则上式为卷积运算。此外,还有许多其他的度量能够用来测量滤波器 F 和输入特征 X 之间的距离。然而,这些度量中的大多数涉及乘法运算,具有较高的计算成本。因此,本文作者使用加法测量距离。L1-norm 距离计算的是两个矢量表示的绝对差之和,它不包含乘法运算。此时,相似性计算公式为:
经典 CNN 中,作为输入特征映射中的值的加权和,卷积滤波器的输出可以是正的或负的,但是加法器滤波器的输出总是负的。因此,引入批量归一化将加法器的输出层规范化到一个适当的范围内,然后在所提出的加法器中使用经典 CNN 中使用的所有激活函数。尽管在批量规范化层中涉及乘法运算,但其计算成本明显低于卷积层,可以省略。 模型训练 神经网络利用 BP 反向传播计算滤波器的梯度,利用随机梯度下降更新参数。在经典 CNN 中,输出特性 Y 相对于滤波器 F 的偏导数计算为:
其中,i∈[m,m+d],j∈[n,n+d]。在 AdderNet 中,输出特性 Y 相对于滤波器 F 的偏导数计算为: