使用监督学习(feature matching)的方法编写隐藏层代码,并附加优化包功能进行分析
发布时间
阅读量:
阅读量
总说
这一问题存在一定挑战性。通常情况下,损失函数的构建主要针对网络最后一层的输入,通过计算损失的梯度,再逐层进行反向传播。然而,在某些场景下,我们希望在中间层也引入监督机制,例如特征匹配。以下以Torch7代码为例进行说明。
net(input)_layerX表示将输入数据传入网络,并获取到第X层的特征图。
大致归纳起来,可以分为以下三类:
1. 特征匹配的目标保持不变的情况——神经风格迁移便是一个典型的实例;
2. 类似于RCF(用于边缘检测的更丰富的卷积特征)的方法,利用反卷积操作将中间层特征映射到单通道或三通道;
3. 真正意义上的特征匹配方式,即让net(input)_layerX与net(target)_layerX尽可能趋于一致。
类似neural style的最简单的feature matching类型
这种做法严格来说并不能完全归类为特征匹配,但就目前来看,这段代码所体现的特征匹配方式应当属于最基础的一种实现形式。
在 Torch7学习(七)——Neural-Style代码解析中,文章末尾提出了一个疑问,当时我尚无法给出明确的答案。如今再回顾,才发现这实际上就是一种最为简单的特征匹配方法!
因为在神经风格迁移过程中,首要任务是持续调整输入x的值,从而使得VGG(x)_layerX与`
全部评论 (0)
还没有任何评论哟~
