神经风格迁移(吴恩达深度学习笔记)

目录

1.神经风格迁移

(1)解释

2.深层卷积网络的特征检测

3.成本函数

(1)成本函数

(2)内容代价函数

(3)风格代价函数


1.神经风格迁移
(1)解释
  • 首先要知道三个图像,C来表示内容图像 ,S表示风格图像 ,G表示生成图像
  • 如上图,神经风格迁移就是将风格迁移到内容图像上。
2.深层卷积网络的特征检测
  • 卷积网络一般是从浅到深检测到越来越复杂的特征

  • 如上图,一个AlexNet,假设一个隐藏单云有9个图片块最大化激活。

  • 如上图,是Layer1-Layer5得到的图片块。在Layer1中,隐藏单元通常会找一些简单的特征,比如说边缘或者颜色阴影。

  • 第二层似乎检测到更复杂的形状和模式,比如说这个隐藏单元(编号1),找到有很多垂线的垂直图案,隐藏单元(编号2)似乎在左侧有圆形图案(roundish shape)时会被高度激活。

  • 第三层,正中间的隐藏单元似乎对图像左下角的圆形很敏感,所以检测到很多车。右下角的隐藏单元似乎开始检测到人类。总的来看第三层明显检测到更复杂的模式

  • 依次递进,越深层越能检测到复杂的特征

3.成本函数
(1)成本函数
  • 要构建一个神经风格迁移系统,需要为生成的图像定义一个成本函数,通过最小化成本函数,可以生成你想要的任何图像。
  • 内容图像C,风格图片S,生成新图片G。为了实现神经风格迁移,定义一个关于G的成本函数J(G)来评判生成图像的好坏,然后使用梯度下降法最小化J(G)来生成新的图像G。定义成本函数的公式如下:J(G)=αJ(C, G) +βJ(S, G)
  • 这个成本函数分为两部分,第一部分是内容代价函数,第二部分是风格代价函数
(2)内容代价函数
  • 用隐含层l来计算内容代价函数,如果l是个很小的数,这个代价函数就会使生成图片像素上非常接近内容图片。如果用很深的层,那么如果问内容图片里是否有狗,然后它就会确保生成图片里有一个狗。所以在实际中,这个层l通常会选择在网络的中间层。

  • 然后用一个预训练的卷积模型,衡量一个内容图片和一个生成图片他们在内容上的相似度,a[l](C)a[l](G) 分别代表这两个图片C和G的l层的激活函数值,如果这两个激活值相似,那么就意味着两个图片的内容相似。

  • 衡量两个激活值不同或相似的程度用如下公式:J(C, G) =1/2 ‖ a[l](C) - a[l](G) ‖²

(3)风格代价函数
  • 和内容代价函数一样,也是选取某一层l,将图片的风格定义为l层中各个通道之间激活项的相关系数
  • 如上图,这个相关系数可以看成不同通道激活值之间的组合,比如两个通道的激活值组合成一对数字,来表示两种特征间的相关性。(因为有多个通道,多种组合,所以有多个数字对)
  • 比如:这个红色的通道对应的第2个神经元,它能找出图片中的某些位置是否含有这些垂直的纹理,而第二个通道(黄色通道),对应第4个神经元,它可以粗略地找出橙色的区域,这两个通道的组合成的相关系数,代表了那么这幅图片中出现垂直纹理又是橙色地方的概率。如果说它们是不相关的,这意味着图片中有垂直纹理的地方很大概率不是橙色的。因此,相关系数提供了一种去测量这些不同的特征的方法。
  • 如上图,对于S,G这两个图像,需要通过各自相关系数计算一个风格矩阵,最后通过两个矩阵计算风格代价函数(这里用的Frobenius范数)。
  • 其中ali,j,k 表示隐藏层l中(i,j,k)位置的激活值,i,j,k分别表示该位置的高度、宽度以及对应的通道数。计算关于l层和风格图像的一个矩阵,即G[l][S],这是一个n_c * n_c的矩阵,高度和宽度都是l层的通道数。矩阵中的k和k'被用来描述k通道和
相关推荐
妍妍爱学习7 小时前
自动编码器与变分自动编码器:同一脉络下的进化
深度学习·无监督学习·概率模型·自动编码器·变分自动编码器
小白说大模型8 小时前
人工智能:深度学习中的卷积神经网络(CNN)实战应用
人工智能·深度学习·cnn
Keepreal4969 小时前
《从零构建大模型》——从头实现GPT模型进行文本生成
gpt·深度学习·llm
卡梅德生物科技小能手9 小时前
卡梅德生物科普 TPBG(5T4)
经验分享·深度学习·生活
m沐沐11 小时前
【机器学习】DBSCAN聚类算法——原理、参数调优与实战
人工智能·python·深度学习·算法·机器学习·聚类·dbscan
问商十三载11 小时前
GEO优化的6个核心诊断工具,2026年实操版详解
人工智能·算法·机器学习
手写码匠11 小时前
华为云征文|DeepSeek-R1 智能问数 Agent 实战:Flexus X 实例 + Dify 构建企业级 Text-to-SQL 查询助手
人工智能·深度学习·算法·aigc
donoot12 小时前
《大话文渊慧典》:六
人工智能·深度学习·aigc·ppstructure·文渊慧典·大话系列
过期的秋刀鱼!12 小时前
学习曲线-过拟合和欠拟合要做什么以及原因
人工智能·python·深度学习·算法·机器学习·模型评估
m沐沐13 小时前
【自然语言处理】词向量转换与中文文本情感分类——从CountVectorizer到朴素贝叶斯
人工智能·算法·机器学习·自然语言处理·分类·中文分词·词向量转换