6.什么是神经网络风格转换
把下图content的内容转换成Style风格的图像,结果如下Generate图像所示。
7.什么是深度卷积网络
这部分通过一些可视化例子来理解,深度卷积网络在学习一些什么东西。
假如训练了一个Alex卷积网络,我们来详细看网络隐藏单元
从第一层的隐藏单元开始,假设遍历了训练集,然后发现最大化激活运算单元的图片或图片是什么,换句话说,将你的训练集经过神经网络然后弄明白哪一张图片最大限度地激活特定的单元,在第一层隐藏单元只能看到小部分卷积神经。从第一个隐藏层选择一个单元,并选择出这个单元被最大激活的9个图片块,其它的隐藏层单元重复这个操作。
从下图可以看出第一层的隐藏单元通常会找出一些简单的特征,比如边缘或者颜色阴影,在深层的隐藏单元会看到一个图像更大的部分,在极端的情况下可以假设每个像素都会影响到神经网络更深层的输出
在这一层检测到了更复杂的形状和模式,比如第二个隐藏单元找到了很多的垂直图案。
在第3、4、5隐藏层,我们看到提取的特征越来越复杂,也越来越高阶。
8.代价函数
为了实现神经风格变化,需要定义一个损失函数,后续看到的就是怎么去最小化这个损失函数。损失函数的定义如下。
J(G)=αJcontent(C,G)+βJstyle(S,G)
其中G为生成图像,C为内容图像,S为风格图像, J(G) 描述了生成的风格化图像的效果,算法通过梯度下降的方式进行优化。损失函数中包含了两个部分:一部分是 Jcontent(C,G) ,也叫内容损失函数,它度量了生成图像和内容图像的相似度,另一部分是 Jstyle(S,G) ,也叫风格损失函数,定义了生成图像和风格图像的相似性,损失函数中还定义两个超参数 α 和 β ,描述了在生成的风格图像中内容图像和风格图像所占的权重。
如何得到生成图像G呢?你需要随机初始化生成图像G,然后通过梯度下降算法最小化损失函数 J(G) ,所以你可以更新图像G通过如下公式: