6.什么是神经网络风格转换

把下图content的内容转换成Style风格的图像,结果如下Generate图像所示。

7.什么是深度卷积网络

这部分通过一些可视化例子来理解,深度卷积网络在学习一些什么东西。
假如训练了一个Alex卷积网络,我们来详细看网络隐藏单元
从第一层的隐藏单元开始,假设遍历了训练集,然后发现最大化激活运算单元的图片或图片是什么,换句话说,将你的训练集经过神经网络然后弄明白哪一张图片最大限度地激活特定的单元,在第一层隐藏单元只能看到小部分卷积神经。从第一个隐藏层选择一个单元,并选择出这个单元被最大激活的9个图片块,其它的隐藏层单元重复这个操作。

从下图可以看出第一层的隐藏单元通常会找出一些简单的特征,比如边缘或者颜色阴影,在深层的隐藏单元会看到一个图像更大的部分,在极端的情况下可以假设每个像素都会影响到神经网络更深层的输出

在这一层检测到了更复杂的形状和模式,比如第二个隐藏单元找到了很多的垂直图案。

在第3、4、5隐藏层,我们看到提取的特征越来越复杂,也越来越高阶。

8.代价函数

为了实现神经风格变化,需要定义一个损失函数,后续看到的就是怎么去最小化这个损失函数。损失函数的定义如下。

J(G)=αJcontent(C,G)+βJstyle(S,G)

J(G) = \alpha J_{content}(C,G)+\beta J_{style}(S,G)
其中G为生成图像,C为内容图像,S为风格图像, J(G)J(G)描述了生成的风格化图像的效果,算法通过梯度下降的方式进行优化。损失函数中包含了两个部分:一部分是 Jcontent(C,G) J_{content}(C,G),也叫内容损失函数,它度量了生成图像和内容图像的相似度,另一部分是 Jstyle(S,G) J_{style}(S,G),也叫风格损失函数,定义了生成图像和风格图像的相似性,损失函数中还定义两个超参数 α\alpha和 β\beta,描述了在生成的风格图像中内容图像和风格图像所占的权重。

如何得到生成图像G呢?你需要随机初始化生成图像G,然后通过梯度下降算法最小化损失函数 J(G)J(G),所以你可以更新图像G通过如下公式:

G:=G−∂(G)GJ(G)

G := G-\frac{\partial(G)}{G}J(G)
下图还给出了一个逐步得到生成图像的示例。

9.内容损失函数

在上一部分已经阐述了神经风格转换的损失函数包含内容损失函数和风格损失函数两个部分,这部分讲述内容代价函数。
1)假如你要用隐藏层ll来计算内容损失,如果ll是一个很小的数,假如用第一个隐藏层来计算内容损失函数,就会使你生成的图像中像素上非常接近内容图片,如果用很深的层那么就会问图像中是否有狗,然后就会确保生成图像中有一个狗,所以在实际中这个层ll在网络中即不会选的太浅也不会选的太深。
2)用预训练的卷积网络,可以是VGG网络或者其它的网络,现在你需要衡量,加入有一个内容图片和一个生成图片,他们在内容上的相似度
3)令a[l](C)a^{[l](C)}和a[l](G)a^{[l](G)}为图像在ll层的激活函数值
4)如果a[l](C)a^{[l](C)}和a[l](G)a^{[l](G)} 相似,两个图片有着相似的内容

Jcontent(C,G)=12||a[l](C)−a[l](G)||2

J_{content}(C,G) = \frac{1}{2}||a^{[l](C)-a^{[l](G)}}||^2
所以内容损失函数为取 ll层的激活结果,转换成一维向量差值的平方和,然后对J(G)J(G)做梯度下降来找G的值时,整个代价函数会激励这个算法来找到图像G使得隐含层的激活值和内容图像的相似

10.风格损失函数

图片的风格具体是什么意思呢?加入我们选择隐藏层ll来度量图片的风格 ,我们这里把风格定义为隐藏层ll各个通道激活函数的相关性。我们这里的意思是,假如你有层ll的激活值,大小为nH∗nW∗nCn_H*n_W*n_C。

图像风格的直观认识,我们以下图红色和黄色圈中的区域为例,如果两个图像所标识的区域相关性高话,那么图像中有垂直纹理的地方有很大可能是橘色的,如果不相关的话那么有垂直纹理的地方很大可能不是橘色的,所以相关系数给出了一种度量,告诉我们不同纹理共同出现的可能性有多大。

风格矩阵的计算:
令a[l]i,j,ka_{i,j,k}^{[l]}表示图像在第ll层,i,j,k位置的激活值,G[l]G^[l]是一个nc∗ncn_c*n_c的风格矩阵

G[l](S)kk′=∑in[l]H∑jn[l]Wa[l][S]ijka[l][S]ijk′

G_{kk'}^{[l](S)}=\sum_{i}^{n_H^{[l]}}\sum_{j}^{n_W^{[l]}}a_{ijk}^{[l] [S]}a_{ijk'}^{[l][S]}

其实就是两个通道的激活值对应位置相乘并相加,如果k和k′k'通道不相关那么Gkk′G_{kk'}就会很小,如果相关就会很大,S表示是风格图像,所以对于生成图像我们图样可以得到这样一个矩阵,每个元素值和上式子计算方式相同。这样我们就有两个矩阵,分别表示风格图像和生成图像的风格矩阵。

风格损失函数可以写成:

J[l]style(S,G)=1(2∗n[l]H∗n[l]W∗n[l]C)2||G[l](S)−G[l](G)||2F

J_{style}^{[l]}(S,G)=\frac{1}{(2*n_H^{[l]}*n_W^{[l]}*n_C^{[l]})^2}||G_{}^{[l](S)}-G_{}^{[l](G)}||^2_{F}
前面的为归一化系数

参考文献

[1] Visualizing and understanding convolutional networks.Zeiler et.al 2013.

吴恩达deeplearning之CNN—人脸识别与风格化转换(2)相关推荐

  1. 吴恩达深度神经网络笔记—人脸识别

    人脸识别 目标: 实现三元组损失函数. 使用一个已经训练好了的模型来将人脸图像映射到一个128位数字的的向量. 使用这些编码来执行人脸验证和人脸识别. 导包 from keras.models imp ...

  2. 吴恩达deeplearning之CNN—卷积神经网络入门

    1.边界检测示例 假如你有一张如下的图像,你想让计算机搞清楚图像上有什么物体,你可以做的事情是检测图像的垂直边缘和水平边缘. 如下是一个6*6的灰度图像,构造一个3*3的矩阵,在卷积神经网络中通常称之 ...

  3. 【干货】吴恩达deeplearning.ai专项课程历史文章汇总

    AI有道 一个有情怀的公众号 本文列出了吴恩达deeplearning.ai专项课程的所有精炼笔记,均是红色石头精心制作的原创内容.主要包括:<神经网络与深度学习>.<优化神经网络& ...

  4. 吴恩达-DeepLearning.ai-05 序列模型(一)

    吴恩达-DeepLearning.ai-05 序列模型 循环序列模型 1.为什么选择序列模型? 举了几个例子:语音识别.音乐生成.情感分析.DNA序列分析.机器翻译.视频动作识别.命名实体识别等 2. ...

  5. 吴恩达deeplearning.ai深度学习课程空白作业

      吴恩达deeplearning.ai深度学习课程的空白作业,包括深度学习微专业五门课程的全部空白编程作业,经多方整理而来.网上找来的作业好多都是已经被别人写过的,不便于自己练习,而且很多都缺失各种 ...

  6. 吴恩达deeplearning.ai系列课程笔记+编程作业(14)序列模型(Sequence Models)-第二周 自然语言处理与词嵌入

    第五门课 序列模型(Sequence Models) 第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 文章目录 第五门课 ...

  7. 吴恩达deeplearning.ai系列课程笔记+编程作业(11)第四课 卷积神经网络-第二周 深度卷积网络:实例探究(Deep convolutional models: case studies)

    第四门课 卷积神经网络(Convolutional Neural Networks) 第二周 深度卷积网络:实例探究(Deep convolutional models: case studies) ...

  8. 吴恩达deeplearning.ai系列课程笔记+编程作业(13)序列模型(Sequence Models)-第一周 循环序列模型(Recurrent Neural Networks)

    第五门课 序列模型(Sequence Models) 第一周 循环序列模型(Recurrent Neural Networks) 文章目录 第五门课 序列模型(Sequence Models) 第一周 ...

  9. 吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程 By 路雪2017年8月14日 11:44 8 月 8 日,吴恩达正式发布了 Deepleanring.ai——基于 Cours

    吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程 By 路雪2017年8月14日 11:44 8 月 8 日,吴恩达正式发布了 Deepleanring.ai--基于 Course ...

  10. 吴恩达deeplearning.ai系列课程笔记+编程作业(15)序列模型(Sequence Models)-第三周 序列模型和注意力机制

    第五门课 序列模型(Sequence Models) 第三周 序列模型和注意力机制(Sequence models & Attention mechanism) 文章目录 第五门课 序列模型( ...

最新文章

  1. 老生常谈--GetROProperty,GetTOProperty,SetTOProperty的区别
  2. 总有些物理现象颠覆你的想象
  3. win7怎么查看电脑配置_电脑死机是什么原因?出现问题你会怎么办?
  4. 防止DISCUZ根域名跳转到forum.php的方法
  5. 阿里妈妈数据字化营销与MaxCompute的不解之缘
  6. CMS 平台: Drupal, eZ Publish, WordPress, CMS Made Simple 横向比较
  7. 【转载】ASP.NET MVC中Controller与View之间的数据传递总结
  8. 视频教程-SQLServer数据库实战视频课程-SQL Server
  9. CCS7.0从安装到使用
  10. Centos8下nginx源码编译安装
  11. centos7 配置阿里yum源
  12. 视频解析网站 服务器上,视频云解析服务器上
  13. 2020时尚COSMO美容大奖“破圈直播间”完美收官!打造美妆直播全新形式!
  14. 联想ghost重装系统_联想笔记本重装系统图文教程
  15. Context-Transformer: Tackling Object Confusion for Few-Shot Detection(AAAI20)
  16. C语言:习题3-2 高速公路超速处罚.2021-07-27
  17. 扩散模型探索:DDIM 笔记与思考
  18. Autonomous automobile trajectory tracking for off-road driving翻译学习
  19. C# XmlDocument处理XML元素节点
  20. 计算机组成原理Rsel什么意思,el-jy-ⅱ 计算机组成原理第二套 实验十二

热门文章

  1. 注册apple id方法
  2. Exp4 恶意代码分析 20154301仉鑫烨
  3. python matplotlib绘图同时支持宋体和timesnewroman
  4. 墨子科技成果是计算机,近年来取得了哪些科技成就_现代史_我爱历史网
  5. 固体或液体体积与分子势能的关系——摘自《中学物理教学参考》
  6. java钝化_黑马day14 监听器之javaBean对象的活化和钝化
  7. Ubuntu安装输入法却不能切换输入法
  8. android吉他谱组件,Paranoid Android drum吉他谱
  9. 【SCOI2009】粉刷匠
  10. 通往财富自由之路20160808--付费就是捡便宜