重新思考和提高图像风格转换的鲁棒性
Abstract
对神经风格转移方法的广泛研究表明,预先训练的VGG网络提取的特征之间的相关性具有捕获图像视觉风格的显著能力。然而,令人惊讶的是,这种程式化的质量并不稳定,当应用到更高级和轻量级网络的特性时,比如ResNet家族中的那些特性,通常会显著下降。通过对不同的网络架构进行大量的实验,我们发现代表VGG和ResNet架构主要差异的残差连接产生的特征图熵小,不适合进行风格转换。为了提高ResNet体系结构的鲁棒性,我们提出了一种简单而有效的解决方案,该方案基于特征激活的softmax变换,增强了特征激活的熵。实验结果表明,这种小魔术可以大大提高程式化结果的质量,即使是具有随机权值的网络。这表明,在风格转换任务中,用于特征提取的体系结构比使用学到的权重更重要。
1.Introduction
图像样式转换的目的是将内容图像映射到不同参考图像的样式中。随着基于深度网络的神经类型传输算法的引入,这一问题得到了广泛的关注。这项工作的一致观察[43,24,30,23 ,25,19,9,2,8]是,预先训练的VGG[33]网络的激活之间的相关性具有捕获图像视觉风格的显著能力。然而,令人困惑的是,当VGG被在其他任务中性能更好的架构所取代时,例如分类,等等 当ResNet [14,44,42], InceptionNet[35,34,36]或DenseNet[16]时,程式化性能显著下降。这更令人费解,因为当使用VGG实现时,样式转换是非常健壮的。例如,具有随机权值的VGG模型与预先训练的模型性能相当[14,3]。
图1:使用[7,27]的方法(' p- ', ' r- '表示预训练和随机初始化),不同架构的神经风格转换。请放大图片进行详细对比)。
图1显示了使用不同模型进行样式转换的示例。VGG转换风格(颜色,纹理,笔触) 比ResNet更忠实,无论是事先训练的还是随机权重。虽然这些观察在文献中引发了讨论,关于为什么风格转移如此之多对VGG更有效[27,12,4],目前仍无明确的答案。特别是,还没有一个全面的研究(i)之间的建筑差异VGG和其他网络造成了这种惊人的性能差异,以及(ii)哪些补救措施可以使非vgg网络表现得和VGG一样好。一种解释是VGG的功能比其他的更强大。来验证这个猜想,[27,4]训练了一个具有对抗性的ResNet示例[10]以提高特性的鲁棒性。他们发现 这可以显著提高风格化的质量。然而,具有随机权值的VGG可以生成可比较的结果[13,3]表明稳健性并不是属性的训练数据,但是体系结构固有的。
在这项工作中,我们通过比较来研究这一假设 不同架构的激活产生的程式化。我们寻找建筑属性来解释 这些激活之间的差异,以及这些差异如何解释程式化结果之间的差异。采取ResNet作为一个非vgg架构的代表,我们 研究激活和导出的Gram的统计矩阵,通常用于编码图像样式。一个引人注目的观察发现,当归一化成概率分布时,更深层次的ResNet激活量较大 峰值和小熵。这表明他们处于支配地位 由几个特征通道和具有几乎确定的相关模式。这表明优化曾经 合成程式化的图像是有偏见的复制 少数占主导地位的图案形象风格而忽略了 多数。这解释了为什么ResNet无法传输 高级样式模式,比如笔画,通常 在网络的更深层次捕获。相比之下,VGG 激活对于所有层都是近似统一的,捕获了更多的样式模式的多样性。然后,我们 分析可能导致非常 峰值激活,并得出结论,它们在很大程度上可以用残留或捷径的存在来解释 层之间的连接。事实上,这些联系 普遍存在于大多数现代建筑中,这解释了为什么 鲁棒性问题是如此普遍。总之,剩余 连接不适合进行样式转换。
然后我们研究是否有可能在不改变网络结构的情况下解决鲁棒性问题, 并且在某种程度上与众多的 文学作品中的风格化损失。中获取灵感 知识的升华,我们提出要顺利的激活 用于计算这些损失函数。这可以通过添加一个简单的softmax转换来实现现有的损失。我们表示程式化的新版本 作为风格化与激活平滑(SWAG)。实验结果表明,在3 的水平。首先,它提高了几种流行的风格化算法的性能, 包括ResNet、Inception和WideResNet。其次,对 这些体系结构,提高了性能的随机性网络达到了预先训练的水平。第三,对于预先训练过的网络,使用swg的非vgg模型甚至可以优于标准程式化的VGG。
2.Related Work
Stylization.
有关风格化方法的详细回顾,请参阅[21]。从[7]开始 预先训练的图像分类器可以作为特征提取器来驱动风格转移[7,22,41]。风格 传递算法要么实现迭代优化[7,3,13],要么直接学习前馈属网络[22,40,37]。不像所有这些报纸,我们 不要提出新的程式化算法。相反,我们 注意,所有以前的算法都使用VGG预训练模型[43,30,23,25,19,41,2,8,26]。事实上,甚至是最近 基于gan的[46]建议使用VGG编码器。我们试图使这些算法适用于更广泛的网络集合 架构。据我们所知,以前没有 工作讨论了风格转换的架构健壮性。
Random Networks.
我们工作的部分动机是 关于随机权值的一些理论和实践研究[17,18,29,28,40,39,5]。例如,Gaier等人[5]通过随机固定的方法提出了权重不可知的神经网络 初始化权值和搜索最优网络结构,在几个方面取得了较好的效果 强化和监督学习任务。[38]研究 几个低水平视力问题,使用随机权重 以证明发电机网络的结构是充分的 获取图像统计信息。[1]比较的性能 许多显著性算法是基于随机和预训练的 权重。他等人使用了一个随机权值网络 纹理合成和神经风格转换。然而,正如所讨论的,他们的方法并没有使用真正的随机权值 在3.2节。相反,所有的随机模型和结果 在这项工作中提出的是基于纯随机权值。
3.Robust Stylization
3.1. Preliminaries
考虑一个彩色图像x0∈RW0×H0×3
, W0
和H0为图像的宽度和高度。一个卷积
神经网络(CNN)将x0映射为一组特征映射
{F
l
(x0)}
l
l = 1, F
l
: RW0×H0×3→RWl×Hl×Dl
是
从图像映射到l的激活张量
th
层,具有空间尺寸为Wl × Hl的Dl通道
.
激活张量F
l
(x0)也可以被重塑成一个matrix F
l
(x0)∈R
Dl×毫升
,其中Ml = WlHl
. 图片风格
通常被认为是由一组克矩阵编码的
{Gl}
l
l=1,其中Gl∈R
Dl×Dl
是由activations F
通过计算层之间的相关性
激活渠道,即。
3.2. Importance of residual connections
我们给出了预先训练的模型和用随机权值初始化的网络的结果。前缀' r- '和' p- ' 分别用于指示模型是随机初始化的还是在ImageNet上预先训练的。我们遵循[7]的设置 对于VGG模型,在一些实验中简单地用随机网络替换他们预先训练的模型。ResNet, 我们遵循[27]的设置,但是,除了输出 层,conv2 3, conv3 4, conv4 6, conv5 3,我们也用这个 (4).这是为了公平比较 [7]的VGG实现,它使用五层,每一层从五层组中选择一个。VGG19和ResNet-50 VGG模型和ResNet模型,因为前者是 网络论文的选择有程式化和后一种 最流行的深度学习模型。随机权重 遵循默认的PyTorch设置1 。注意,这不同于 [13]的随机网络设置,抽样几组 ,重建目标图像, 并选择损失最小的权重2 (13、3)。
图2b到2e展示了两个由 r-VGG, p-VGG, r-ResNet和p-ResNet网络,表明性能随网络的不同而变化很大 体系结构。与p-VGG相比,p-ResNet传输 更低层次的颜色图案,产生更大的噪音 程式化的图像。这种差异更加明显 随机模型,与r-ResNet简单地失败程式化 图像的内容。调查背后的原因非常 不同性能的两个体系结构,我们执行 对许多网络组件的消融研究,包括 利用残差连接,卷积核变化 在规模1 × 1,3 × 3 ~ 7 × 7之间,可变网络深度, 批处理规格化,每层通道数,固定 步幅2 vs.最大池,等等。虽然详细的结果是 在补充文件中提出的主要结论是 主要原因是ResNet的性能较差 通过它的剩余连接。这很有趣,因为剩余连接通常被视为主要资产 用于分类等任务的体系结构。
图2提供了这种说法的比较证据 在删除或添加残余连接后,由几个架构形成的程式化结果。从 ResNet-50,我们建立了一个“NoResNet”通过消除所有残留 连接。如图2f所示,这极大地提高了样式传输性能。r-NoResNet有很多 性能更接近r-VGG而不是r-ResNet。我们下一个 考虑了其他几个修改的好处 使NoResNet更类似于VGG: 1)取代它 7 × 7 conv核与VGG的3 × 3 conv核;2) 用基本块模块替换瓶颈模块 无残留连接的ResNet-34(见图5);3)在每个阶段之间插入一个maxpooling层 减小特征图的大小,就像在VGG中做的那样。 最终的架构被称为“伪vgg”。作为 如图2g所示,这些修改完成了样式化 性能更接近于r-VGG。然而,通过 比较r-ResNet, r-NoResNet和r-pseudo-VGG 风格化,很明显,大部分的收益是由于 删除剩余的连接,即从ResNet到 NoResNet。为了进一步证实这一点,我们再次引入了 伪vgg网络中的剩余连接,要创建 “pseudo-ResVGG”。图2h显示了这种破坏 所有增益的伪vgg,再次产生不可识别的风格。事实上,这个网络产生了最糟糕的 图2的结果显示,没有任何好处 伪resvgg在ResNet。总之,是弱者 ResNet性能是由于它的残余连接。
3.3. Why do residual connections degrade performance?
接下来,我们试图理解剩余连接是什么
风格化是如此邪恶。由于(4)的优化为,
在这种情况下,仅仅基于g矩阵的Gl
网络反应的原始和综合的风格,我们
首先可视化网络激活的统计数据
和他们的克矩阵。图3显示了平均值
最大值maxi,k F
l
i,k和maxi,j Gl
我,j,以及
归一化熵[11]
3.
的激活和Gram矩阵
最后一层对每个网络阶段的随机模型进行10个
样式图像,其中i, j, k是定义的空间坐标
(1)。图中显示了激活和Gram值
有类似的行为。在这两种情况下,都是最大值
熵随层数的增加而逐渐减小
深度用于具有残余连接的架构(ResNet
和pseudo-ResVGG)。这与没有网络的网络不同
捷径(NoResNet和伪vgg),其中激活倾向于减少,熵保持相当恒定和
高得多。在某些情况下,例如伪resvgg
剩余连接的引入转化为大的
最大和接近零的熵的深层,即。
由单一功能通道主导的激活
确定性相关模式。
对小熵的观测与 对于糟糕的风格化表现,至少有两个解释。 这两个都是由变量 在(4)的优化是活化F l (x) 鼓励Gram matrix尽可能相似 到那些风格形象F l (x 年代 0 ). 第一种解释是 源自众所周知的L2的离群值敏感性 距离[20]。由于这种异常值敏感性,当格拉姆 由x导出的矩阵 年代 0 是“峰值”(低熵),优化将主要关注在 由x产生的矩阵 ∗ ,而较少关注 格拉姆矩阵的剩余项。来自(1),格拉姆 位置i, j的矩阵值是相似性的度量 激活向量F l 我,k和F l 横渡河道深度的J,k 因此,Gram矩阵的峰识别对 高度相关的强激活的位置 跨通道维度。通过给不成比例 强调这些位置对,优化过适 一些样式模式,忽略其余的大多数。这 解释为什么小熵降低程式化。请注意, 更深层次的Gram峰的出现与图2的风格化结果一致。而 r-ResNet和r-pseudo-ResVGG可以转移局部病灶 早期图层捕捉到的颜色模式,并不能限制对纹理至关重要的长期相关性 和风格感知,只有在后面的图层中才能访问。
第二种解释来自于对程式化的解释 作为一个知识蒸馏问题[15]。的分类, 神经网络通常被训练来最小化后验分布q和目标之间的交叉熵损失 分布p,它通常是一个热门代码。知识 相反,蒸馏的目的是最小化两者之间的距离 一个学生网络q的分布和一个软的分布 教师网络p.[15]已经表明,使用预先训练的大网络的软概率输出作为目标p. [15] 能否提高训练速度并收敛到更好的模型 而不是用简单的目标。这是因为老师 高熵的分布产生了很大的梯度 培训期间的差异更小。同样的理由可以 应用于程式化,它可以被视为一种知识蒸馏的形式,其中(2)的优化寻求x ∗ 最小化“学生”之间的距离(F l (x) Gl (F l (x))和' teacher ' (F l (x c 0 ), Gl (F l (x 年代 0 ))一对对激活和Gram矩阵。在蒸馏视图下, 对更高的熵应该使学习更容易。
为了简化讨论,我们集中讨论Gram矩阵 损失[7,24,37,3,13]。然而,在实验部分, 我们表明,所有结果都适用于其他损失。我们考虑到 [7]的图像风格化框架,其中给定一个内容 图像x c 0 和一个样式图像x 年代 0 ,图像x ∗ ,介绍了 内容(x) c 0在x的样式下 年代 0 是通过求解其中wl∈{0,1}为权重因子的贡献 每层的总损失。Wl = 1表示l th是 使用否则忽略。L及wl在第(3)及(3)中预先指明 (4). x通常初始化为x c 0 .
3.4. Why are residual network activations and Gram matrices peaky?
我们接下来研究剩余网络产生峰值的原因
激活和克氏矩阵。我们首先回顾
瓶颈ResNet块的细节,如图5所示。
在层l,这个模块计算残差R(F
l−1
(x)),
加到输出F上
l−1
(x)创建l层的输出,其中R(·)用卷积序列实现
(Conv),批处理规范化(BN)和ReLU层。一个
重要的细节是在模块中最后的BN和ReLU层之间计算(9)的加法,如图所示
,即(9)是有效的
实现为
这种设计选择有助于大的存在
更深层次的激活最大值。请注意,F
l−1
(x)
ReLU层的输出,即一个正数,和
Ri (F
l−1
),实数。因此,对于任何i,都有
F
l
我
(x)可以是大的:1)一个大的
剩余Ri (F
l−1
(x)),或2)正残差Ri(F
l−1
(x))
如果F
l−1
我
(x)已经很大了。第二种情况尤其容易产生较大的峰值,因为残差为正
使Fi(x)能从一层增长到另一层。其实,唯一的
可以消去F
l−1
我
(x)使Ri(F
l−1
(x))
和消极的。然而,它可能不可能生成
一个通道的大的负残差不会对其他通道产生大的正残差。因此,尝试
为了纠正第二种情况,可能会产生第一种情况。
这意味着,一旦大规模的激活出现在
有了中间层,网络就可以强行进入一个
打地鼠游戏,产生巨大的振幅
随后的层。
为了调查这个假设,我们跟踪了进化过程 通过网络的激活。对于随机选择的 样式图像,我们随机采样图像位置和 通过使用最近邻插值,跟踪网络层的相应激活值。数字 4显示了10条激活轨迹的典型随机样本。 即使在这种有限的情况下,“打地鼠”效应也是可见的 样本。网络试图减轻高峰 出现在中间层,但这会造成更大的选择 在后续层的其他通道上。要注意的是 最大响应随层深而增大。图4还 表明,除了大股之外,还有很多小股 深层的激活。这也与 的“打鼹鼠”假说。当与 (10)的ReLU,产生大量负残基的动力导致许多激活F l (x)小值或零值。 因此,随着深度l的增加,激活变得更峰 而且熵更低。由(1)可得Gram矩阵 可能具有相同的性质
需要注意的是,本文的讨论适用于ResNet[14]的标准残留连接结构 被广泛使用。改进风格化性能的一种可能是改变架构。一个例子是 在图5的底部给出,其中是跳过连接 ,移动到l−1层的输出ReLU之前。因为, 在这种情况下,激活和剩余的加法操作 在两个实际数字上,激活的压力增加了 将会更小。我们已经尝试了几种这种变化, 但发现它们往往会导致无效的架构 图像识别。图的示例修改 5降低了在CIFAR-100 (ImageNet)上的ResNet 50的平均分类准确率从77%降至65%(76%降至 62%)。因此,即使它被证明增强了风格化 性能,就会导致不同的体系结构 风格化和分类,这是不可取的。在什么 接下来,我们展示了改进风格化的可能性 同时维护广泛使用的网络体系结构。
3.5. Stylization With Activation Smoothing
4. Experimental Evaluation
5. Conclusion
我们研究了非vgg架构程式化算法的鲁棒性不足。这表明 重要的因素是剩余连接的使用 降低深层激活的熵。一个简单的 提出了通过增加激活平滑来解决问题的方法 损失函数用于风格化,使用softmax函数。 这被称为SWAG,并被证明是有效的 各种架构、预训练形式(随机vs. ImageNet)和程式化算法。它表明,与 添加了swg后,轻量级的非vgg成为一个 在未来的程式化工作中,VGG的可行替代方案