4.8 代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
4.7 什么是深度卷积网络? | 回到目录 | 4.9 内容代价函数 |
代价函数 (Cost Function)
要构建一个神经风格迁移系统,让我们为生成的图像定义一个代价函数,你接下看到的是,通过最小化代价函数,你可以生成你想要的任何图像。
记住我们的问题,给你一个内容图像 CCC ,给定一个风格图片 SSS ,而你的目标是生成一个新图片 GGG 。为了实现神经风格迁移,你要做的是定义一个关于 GGG 的代价函数 JJJ 用来评判某个生成图像的好坏,我们将使用梯度下降法去最小化 J(G)J(G)J(G) ,以便于生成这个图像。
怎么判断生成图像的好坏呢?我们把这个代价函数定义为两个部分。
Jcontent(C,G)J_{content}(C,G)Jcontent(C,G)
第一部分被称作内容代价,这是一个关于内容图片和生成图片的函数,它是用来度量生成图片 GGG 的内容与内容图片 CCC 的内容有多相似。
Jstyle(S,G)J_{style}(S,G)Jstyle(S,G)
然后我们会把结果加上一个风格代价函数,也就是关于 SSS 和 GGG 的函数,用来度量图片 GGG 的风格和图片 SSS 的风格的相似度。
J(G)=αJcontent(C,G)+βJstyle(S,G)J(G)=\alpha J_{content}(C,G)+\beta J_{style}(S,G)J(G)=αJcontent(C,G)+βJstyle(S,G)
最后我们用两个超参数 α\alphaα 和 β\betaβ 来来确定内容代价和风格代价,两者之间的权重用两个超参数来确定。两个代价的权重似乎是多余的,我觉得一个超参数似乎就够了,但提出神经风格迁移的原始作者使用了两个不同的超参数,我准备保持一致。
关于神经风格迁移算法我将在接下来几段视频中展示的,是基于Leon Gatys, Alexandra Ecker和Matthias Bethge的这篇论文。这篇论文并不是很难读懂,如果你愿意,看完这些视频,我也非常推荐你去看看他们的论文。
Leon A. Gatys, Alexander S. Ecker, Matthias Bethge, (2015). A Neural Algorithm of Artistic Style (https://arxiv.org/abs/1508.06576
)
算法的运行是这样的,对于代价函数 J(G)J(G)J(G) ,为了生成一个新图像,你接下来要做的是随机初始化生成图像 GGG ,它可能是100×100×3,可能是500×500×3,又或者是任何你想要的尺寸。
然后使用在之前的幻灯片上定义的代价函数 J(G)J(G)J(G) ,你现在可以做的是使用梯度下降的方法将其最小化,更新 G:=G−∂∂GJ(G)G:=G-\frac{\partial}{\partial G}J(G)G:=G−∂G∂J(G) 。在这个步骤中,你实际上更新的是图像 GGG 的像素值,也就是100×100×3,比如RGB通道的图片。
这里有个例子,假设你从这张内容图片(编号1)和风格(编号2)图片开始,这是另一张公开的毕加索画作,当你随机初始化 GGG ,你随机初始化的生成图像就是这张随机选取像素的白噪声图(编号3)。接下来运行梯度下降算法,最小化代价函数 J(G)J(G)J(G) ,逐步处理像素,这样慢慢得到一个生成图片(编号4、5、6),越来越像用风格图片的风格画出来的内容图片。
在这段视频中你看到了神经风格迁移算法的概要,定义一个生成图片 GGG 的代价函数,并将其最小化。接下来我们需要了解怎么去定义内容代价函数和风格代价函数,让我们从下一个视频开始学习这部分内容吧。
课程板书
←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
4.7 什么是深度卷积网络? | 回到目录 | 4.9 内容代价函数 |
4.8 代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授相关推荐
- 深度学习第四课——卷积神经网络(week 1)
目录 一.前言 1.1 卷积 1.2 其他滤波器 1.3 Padding 1.3.1 解释 1.3.2 填充多少像素的选择 1.4 卷积步长 1.5 三维卷积 1.6 单层卷积网络 1.7 深度卷积神 ...
- 2.19 总结-深度学习-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 2.18 Logistic 损失函数的解释 回到目录 3.1 神经网络概览 文章目录 总结 习题 第 11 题 第 12 题 第 13 题 第 14 题 第 15 题 第 1 ...
- 4.11 一维到三维推广-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 4.10 风格代价函数 回到目录 4.12 总结 一维到三维推广 (1D and 3D Generalizations of Models) 你已经学习了许多关于卷积神经网络 ...
- 4.1 什么是人脸识别-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 3.11 总结 回到目录 4.2 One-Shot 学习 什么是人脸识别 (What is face recognition?) 欢迎来到第四周,即这门课卷积神经网络课程的最 ...
- 1.8 简单卷积网络示例-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 1.7 单层卷积网络 回到目录 1.9 池化层 简单卷积网络示例 (A Simple Convolution Network Example) 上节课,我们讲了如何为卷积网络 ...
- 1.1 欢迎-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 无 回到目录 1.2 什么是神经网络 欢迎 第一个视频主要讲了什么是深度学习,深度学习能做些什么事情.以下是吴恩达老师的原话: 深度学习改变了传统互联网业务,例如如网络搜索和 ...
- 1.8 其他正则化方法-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 1.7 理解 Dropout 回到目录 1.9 归一化输入 其他正则化方法 (Other Regularization Methods) 除了 L2L2L2 正则化和随机失活 ...
- 深度学习教程(6) | 神经网络优化算法(吴恩达·完整版)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/35 本文地址:https://www.showmeai.tech/article-d ...
- 机器学习和深度学习到底怎么学?顶尖专家吴恩达告诉你
机器学习和深度学习到底怎么学? 在外国版知乎上,有位网友问:新手如何学习机器学习?学习完MOOC的课程后有没有能力阅读研究论文或者真正的做出一点研究成果? 这个困惑很多人的问题吴恩达给出了详细的回答, ...
- 3.12 总结-深度学习-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 3.11 随机初始化 回到目录 4.1 深层神经网络 文章目录 总结 习题 第 21 题 第 22 题 第 23 题 第 24 题 第 25 题 第 26 题 第 27 题 ...
最新文章
- R语言ggplot2可视化使用facet_grid构建多个子图(facet、面图)并自定义每个子图(facet、面图)的文本实战
- 边缘使用 K8s 门槛太高?OpenYurt 这个功能帮你快速搭建集群!
- 华为交换机的一些OID
- 验证Ross《随机过程》(第二版)1.9C
- AD+DNS安装步骤详解
- 量子物理 詹班 计算机,(电气系计算机系詹班)量子物理作业答案
- [深度学习-原理篇]什么是循环神经网络RNN与LSTM
- matlab绘制等间距同心圆,CDR绘制等距离同心圆的多种方法
- PHP在线支付类集锦(银联支付宝手机支付宝微信等)
- 图像sift配准后融合
- 2022哈工程计算机考研经验贴
- K-Means算法与FCM算法
- metasploit framework的一些使用姿势(持续更新)
- 通过银行卡前缀判断归属
- 关于cesm中寻找浮力频率N的记录
- CSS3与页面布局学习笔记(四)——页面布局大全(负边距、双飞翼、多栏、弹性、流式、瀑布流、响应式布局)
- 使用 admin 管理后台
- oracle10g lsnrctl,linux下oracle10g lsnrctl没反应 sqlplus正常 bug4518443
- 工作笔记——微信支付开发相关知识整理
- .htaccess是什么?.htaccess几个简单应用