该笔记介绍的是《卷积神经网络》系列第四周:特殊应用(2)神经风格转换
主要内容有:
1.神经风格转换
2.卷积网络隐藏单元可视化显示
3.神经风格转换代价函数
4.内容代价函数
5.风格代价函数
*6.数据从一维到三维的推广
神经风格转换
把C(content)内容图片转化为风格类似S(style)风格图片的G(generated)生成图片。
卷积网络隐藏单元可视化显示
通过观察可视化显示的不同隐藏单元的输出结果真正了解卷积网络中深度较大的层真正在做些什么。
可视化图块输出:
从第一层隐藏层第一个隐藏单元开始:寻找当前层的最大化激活了隐藏单元激活项的9个图片块。并循环该层所有单元。对之后的隐藏层进行相同的操作,并输出该隐藏层的图片块。
单个隐藏单元输出:
在视频中对9个隐藏单元循环输出:
对不同隐藏层的输出:
我的理解:
在浅层隐藏单元通常会寻找一些简单的特征(图片块较小)进行学习,但是到了深层会检测以简单的事物(浅层)为基础更会复杂的事物(图片块较大)。
文中的论文地址:Visualizing and Understanding Convolutional Networks
神经风格转换代价函数
定义关于G的代价函数J用于评估生成图片G的好坏。
超参数α,β用于确定内容代价函数和风格代价函数的权重
生成图像G:
a.随机初始化G,生成如下图的白噪声图。
b.使用定义的代价函数J(G),使用梯度下降的方法使其最小化。
逐步处理像素,慢慢的到一个有着风格图片风格的生成图片
论文地址:A Neural Algorithm of Artistic Style
内容代价函数
内容函数为神经风格转换代价函数的:
定义内容代价函数:
a.使用隐藏层l来计算内容代价,生成图像G。(l不会太深也不会太浅,在中间层)
b.使用一个预训练的卷积模型
c.让a[l](G)(图片G)与a[l](C)(图片C)的l层的激活函数值
d.如果内容激活函数相似,这两个图片的内容也相似
使用该激活函数找到图片G
风格代价函数
风格函数为神经风格转换代价函数的
为风格图片定义一个深度测量:
a.使l层的激活函数去定义风格
b.把图片风格定义为l层各个通道之间的激活项的相关系数
相关系数:
相关系数为你提供了一种去测量这些不同特征的方法,它的含义是测量这些特性在图片的各个位置同时或者不同或者不同时出现的频率。
使用相关系数来描述通道的风格,是测量生成图片的第一个通道是否与第二个通道相关,及特性是否同时出现或者不同时出现的频率,这样就能测量生成图片与输入风格图片的相似程度。
风格矩阵:
计算不同通道之间的相关系数。
在l层风格图片的风格矩阵:
计算k通道和k'通道之间的相关系数(k=1,2,3,.....,n)
(i,j,k)为l层激活值的(H,W,C)
在l层生成图片的风格矩阵:
合并对于单层l的风格函数:
*对每层都使用风格函数相加效果会更好: