【周作业4】

前言

关于课程《神经网络与深度学习》所做笔记。
本次为第4次作业。


本周课程内容

风格迁移

简介:
  如果你是一位摄影爱好者,也许接触过滤镜。它能改变照片的颜色样式,从而使风景照更加锐利或者令人像更加美白。但一个滤镜通常只能改变照片的某个方面。如果要照片达到理想中的样式,经常需要尝试大量不同的组合,其复杂程度不亚于模型调参。
  这里我们需要两张输入图像,一张是内容图像,另一张是样式图像,我们将
使用神经网络修改内容图像使其在样式上接近样式图像。
在这里插入图片描述

图 1 风格迁移问题

方法:

1. 首先,我们初始化合成图像,例如将其初始化成内容图像。该合成图像是样式迁移过程中唯一需要更新的变量,即样式迁移所需迭代的模型参数。
2. 然后,我们选择一个预训练的卷积神经网络来抽取图像的特征,其中的模型参数在训练中无须更新。深度卷积神经网络凭借多个层逐级抽取图像的特征。我们可以选择其中某些层的输出作为内容特征或样式
特征。


实现流程

以之前放的图像为例,这里选取的预训练的神经网络含有3 个卷积层,其中第二层输出图像的内容特征,而第一层和第三层的输出被作为图像的样式特征。接下来,我们通过正向传播(实线箭头方向)计算样式迁移的损失函数,并通过反向传播(虚线箭头方向)迭代模型参数,即不断更新合成图像。
在这里插入图片描述

图 2 风格迁移流程图

线性回归可以被视为神经网络的一种特例,即只有一个输入层和输出层,没有隐藏层。

损失函数

定义: 样式迁移常用的损失函数由3 部分组成:
1. 内容损失( content loss )使合成图像与内容图像在内容特征上接近
2. 样式损失( style loss )令合成图像与样式图像在样式特征上接近
3. 总变差损失( total variation loss )则有助于减少合成图像中的噪点。
最后,当模型训练结束时,我们输出样式迁移的模型参数,即得到最终的合成图像。
内容代价函数:
选定隐藏层 l l l,用 a [ l ] [ C ] a^{[l][C]} a[l][C]表示图片 C C C 在第 l l l层的激活项输出, a [ l ] [ G ] a^{[l][G]} a[l][G]表示图片 G G G在第 l l l层的激活项输出,则定义内容代价函数如下:
J c o n t e n t ( C , G ) = ∣ ∣ a [ l ] [ C ] − a [ l ] [ G ] ∣ ∣ 2 2 (1) J_content(C,G)=||a^{[l][C]}-a^{[l][G]}||_2^2 \tag1 Jcontent(C,G)=∣∣a[l][C]a[l][G]22(1)

风格代价函数:
神经网络各隐藏层输出激活项的含义?
在这里插入图片描述

图 3 各隐藏层示意图

在这里插入图片描述

图 4 相关性

如何量化风格差异?
在这里插入图片描述

图 5 相关性计算

隐藏层1的风格代价函数
J s t y l e [ l ] = 1 ( 2 n H [ l ] n W [ l ] n C [ l ] ) 2 ∑ k ∑ k ′ ( G k k ′ [ l ] [ S ] − G k k ′ [ l ] [ G ] ) (2) J_style^{[l]}=\frac{1}{(2n^{[l]}_Hn^{[l]}_Wn^{[l]}_C)^2}\sum_k{\sum_{k'}({G_{kk'}^{[l][S]}-G_{kk'}^{[l][G]}}} )\tag2 Jstyle[l]=(2nH[l]nW[l]nC[l])21kk(Gkk[l][S]Gkk[l][G])(2)

总体风格代价函数
J s t y l e ( S , G ) = ∑ l λ [ l ] J s t y l e [ l ] ( S , G ) (3) J_{style}(S,G)=\sum_{l}\lambda^{[l]}J^{[l]}_{style}(S,G) \tag3 Jstyle(S,G)=lλ[l]Jstyle[l](S,G)(3)

总体代价函数
J ( G ) = α J c o n t e n t ( G ) + β J s t y l e ( G ) (4) J(G)=\alpha J_{content}(G)+\beta J_{style}(G) \tag4 J(G)=αJcontent(G)+βJstyle(G)(4)

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值