4.7 代价函数(Cost function)

为了实现神经风格迁移,需要定义一个关于GG的代价函数JJ用来评判某个生成图像的好坏,使用梯度下降法去最小化J(G)J(G),以便于生成图像

代价函数定义为两个部分:

  • Jcontent(C,G)J_{\text{content}}(C,G),被称作内容代价,是一个关于内容图片和生成图片的函数,用来度量生成图片GG的内容与内容图片CC的内容有多相似

  • 然后把结果加上一个风格代价函数Jstyle(S,G)J_{\text{style}}(S,G),用来度量图片GG的风格和图片SS的风格的相似度

J(G)=αJcontent(C,G)+βJstyle(S,G)J( G) = \alpha J_{\text{content}}( C,G) + \beta J_{\text{style}}(S,G)

最后用两个超参数α\alphaβ\beta来来确定内容代价和风格代价

对于代价函数J(G)J(G),为了生成一个新图像,要做的是随机初始化生成图像GG,可能是100×100×3、500×500×3,或任何想要的尺寸

然后使用之前定义的代价函数J(G)J(G),用梯度下降的方法将其最小化,更新:

G:=GGJ(G)G:= G - \frac{\partial}{\partial G}J(G)

即更新图像GG的像素值,也就是100×100×3,比如RGB通道的图片

比如从内容图片(编号1)和风格(编号2)图片开始,当随机初始化GG,生成图像就是随机选取像素的白噪声图(编号3)。接下来运行梯度下降算法,最小化代价函数J(G)J(G),逐步处理像素,慢慢得到一个生成图片(编号4、5、6),越来越像用风格图片的风格画出来的内容图片

Last updated