什么是神经风格迁移(neural style transfer):如下图,Content为原始拍摄的图像,Style为一种风格图像。如果用Style来重新创造Content照片,神经风格迁移可以帮你生成Generated图像。

        深度卷积网络在学什么:如下图,假如训练了一个Alex卷积神经网络,为了看到不同层之间隐藏单元的计算结果,可以这样做,从第一层的隐藏单元开始,将训练集经过神经网络,然后弄明白哪一张图像最大限度地激活特定的单元。注意:在第一层的隐藏单元只能看到小部分卷积网络。然后可以选一个第一层的另一个隐藏单元重复刚才的步骤,接着对其它隐藏单元也进行同样处理。第一层的隐藏单元通常会找一些简单的特征,比如说边缘或者颜色阴影(shade of color)。后面的层会找到更复杂的形状和模式。在深层部分一个隐藏单元会看到一张图像更大的部分。在极端的情况下,可以假设每一个像素都会影响到神经网络更深层的输出。

        代价函数(cost function):要构建一个神经风格迁移系统需要定义一个代价函数,如下图,通过最小化代价函数可以生成你想要的任何图像。给一个内容图像C,给定一个风格图像S,目标是生成一个新图像G。使用梯度下降法去最小化J(G),J(G)=α*Jcontent(C,G)+β*Jstyle(S,G),分别表示C和G的相似度,S和G的相似度,然后用两个超参数α和β来确定内容代价和风格代价两者之间的权重。对于代价函数J(G)为了生成一个新图像首先随机初始化生成图像G;然后使用定义的J(G),使用梯度下降的方法将其最小化。

        Content cost function:神经风格迁移算法的代价函数由一个内容代价部分和一个风格代价部分组成。内容代价部分,如下图,选择一个隐含层l来计算内容代价,这个隐含层一般会选择中间的层;然后用一个预训练的卷积模型,可以是VGG或者其它的网络也可以,令a[l][C]和a[l][G]代表l层的激活函数值,如果这两个激活值相似,那么就意味着两张图像有相似的内容。

        Style cost function:如下图,图像的风格定义为l层中各个通道之间激活项的相关系数,即计算风格矩阵(style matrix),G[l][S]和G[l][G]。如果你对每层都使用风格代价函数会让结果变得更好。

        1D and 3D generalizations of models:2D图像中的卷积同样适用于1D数列,如下图:

2D图像中的卷积也同样适用于3D,如下图:

GitHub: https://github.com/fengbingchun/NN_Test

吴恩达老师深度学习视频课笔记:神经风格迁移(neural style transfer)相关推荐

  1. 吴恩达老师深度学习视频课笔记:逻辑回归公式推导及C++实现

    逻辑回归(Logistic Regression)是一个二分分类算法.逻辑回归的目标是最小化其预测与训练数据之间的误差.为了训练逻辑回归模型中的参数w和b,需要定义一个成本函数(cost functi ...

  2. 吴恩达老师深度学习视频课笔记:总结

    吴恩达老师深度学习视频课网址为:https://mooc.study.163.com/smartSpec/detail/1001319001.htm/?utm_source=weibo.com& ...

  3. 吴恩达老师深度学习视频课笔记:卷积神经网络

            计算机视觉:包括图像分类(image classification).目标检测(object detection).风格迁移(neural style transfer)等等.     ...

  4. 吴恩达老师深度学习视频课笔记:深度卷积网络

            Why look at case studies?:过去几年,计算机视觉研究中的大量研究都集中在如何把卷积层.池化层以及全连接层这些基本构件组合起来形成有效的卷积神经网络.找感觉最好的 ...

  5. 吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(2)

            进行误差分析:可进行人工统计或可同时并行评估几个想法.进行误差分析时,你应该找一组错误例子,可能在你的开发集里或者在你的测试集里,观察错误标记的例子,看看假阳性(false posit ...

  6. 吴恩达老师深度学习视频课笔记:超参数调试、Batch正则化和程序框架

            Tuning process(调试处理):神经网络的调整会涉及到许多不同超参数的设置.需要调试的重要超参数一般包括:学习率.momentum.mini-batch size.隐藏单元( ...

  7. 吴恩达老师深度学习视频课笔记:多隐含层神经网络公式推导(二分类)

            多隐含层神经网络的推导步骤非常类似于单隐含层神经网络的步骤,只不过是多重复几遍. 关于单隐含层神经网络公式的推导可以参考: http://blog.csdn.net/fengbingc ...

  8. 吴恩达老师深度学习视频课笔记:单隐含层神经网络公式推导及C++实现(二分类)

    关于逻辑回归的公式推导和实现可以参考: http://blog.csdn.net/fengbingchun/article/details/79346691 下面是在逻辑回归的基础上,对单隐含层的神经 ...

  9. 吴恩达老师深度学习视频课笔记:序列模型和注意力机制

    基础模型:比如你想通过输入一个法语句子来将它翻译成一个英语句子,如下图,seq2seq模型,用x<1>一直到x<5>来表示输入句子的单词,然后我们用y<1>到y&l ...

最新文章

  1. ASP.NET MVC 2示例Tailspin Travel
  2. Java单例设计模式(实现Java的一个类只有一个对象)
  3. 使用 Linux 系统调用的内核命令
  4. const 内联 枚举 宏
  5. 机器学习知识总结系列-机器学习中的优化算法总结(1-4)
  6. 现代软件工程 期中/期末总结博客作业
  7. python获取路径下所有文件_Python获取路径下所有文件名
  8. 程序员的算法课(4)-二分查找
  9. java处理获取到的Elasticsearch数据
  10. appium-python 学习记录
  11. 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)...
  12. Neutron中Linux Bridge与Open vSwitch优劣势对比
  13. 将React Native集成至Android原生应用
  14. 小说题目和章节题目还没想好
  15. 002 离散时间傅里叶分析
  16. SSM大学生心理健康服务平台毕业设计-附源码071131
  17. 【编程不良人】SpringSecurity实战学习笔记04---RememberMe
  18. VisualVM 启动报错Error Starting VisualVM:You are running VisualVM using Java Runtime Environment(JRE)
  19. 一维空间--离散数学图灵机文章(一)
  20. Leetcode 507: 完美数

热门文章

  1. MySQL语句第二高的薪水查询
  2. LabVIEW色彩定位实现药品包装质量检测(实战篇—4)
  3. 基于pytorch后量化(mnist分类)---浮点训练vs多bit后量化vs多bit量化感知训练效果对比
  4. 【camera】5.相机内嵌图像处理(ISP)介绍
  5. 理解YOLOv2训练过程中输出参数含义
  6. python opencv单通道转多通道_13、OpenCV绘图和文本显示
  7. the different between Const and Static in C++
  8. 如何从ATS获取客户端平均响应时间(单位,毫秒)?
  9. HLS中m3u8格式规范解读
  10. 使用git更新github上的开源项目