深度学习笔记(48) 内容代价函数
1. 激活函数值
风格迁移网络的代价函数有一个内容代价部分,还有一个风格代价部分
先定义内容代价部分,不要忘了这就是整个风格迁移网络的代价函数,看看内容代价函数应该是什么
-
假如说,用隐含层
l l
l 来计算内容代价,如果
l l
l 是个很小的数,比如用隐含层1
这个代价函数就会使生成图片像素上非常接近内容图片
-
然而如果用很深的层,那么那就会问,内容图片里是否有狗
然后它就会确保生成图片里有一个狗 所以在实际中,这个层
l l
l 在网络中既不会选的太浅也不会选的太深
在具体例子里通常
l l
l 会选择在网络的中间层
然后用一个预训练的卷积模型,可以是VGG网络或者其他的网络也可以
现在需要衡量假如有一个内容图片和一个生成图片在内容上的相似度
令这个a[l][C] 和 a[l][G],代表这两个图片C和G的l l
l 层的激活函数值
如果这两个激活值相似,那么就意味着两个图片的内容相似
2. 内容代价函数
定义这个:
为两个激活值不同或者相似的程度
取l层的隐含单元的激活值,按元素相减,内容图片的激活值与生成图片相比较
然后取平方,也可以在前面加上归一化或者不加
比如1/2或者其他的,都影响不大,因为这都可以由这个超参数α来调整
要清楚这里用的符号都是展成向量形式的
这个就变成了 a[l][C] 减 a[l][G] 的L2范数的平方
展成向量后,这就是两个激活值间的差值平方和
这就是两个图片之间l l
l 层激活值差值的平方和
后面如果对
J ( G ) J(G)
J(G)做梯度下降来找G的值时
整个代价函数会激励这个算法来找到图像G,使得隐含层的激活值和内容图像的相似
即维持网络的中间层内容图像C和生成图像G的激活函数值尽量相同
参考:
相关推荐:
深度学习笔记(47) 神经风格迁移
深度学习笔记(46) 深度卷积网络学习
深度学习笔记(45) 人脸验证与二分类
深度学习笔记(44) Triplet 损失
深度学习笔记(43) Siamese网络
谢谢!