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

 

主要内容:

一.神经风格迁移简介

二.计算content cost

三.计算style cost

 

 

一.神经风格迁移简介

1.神经风格迁移(Neural Style Transfer),简称为NST,就是以一张图为内容基础,以另一张图为风格基础,生成一张新的图:

2.NST使用一张已经训练好的神经网络VGG network作为算法的基础。可知神经网络的浅层学习一些比较低级的特征诸如边界和纹理的等,深层学些一些复杂抽象的特征。为了学习得比较精确但又不过于苛刻,我们一般选择VGG network的中间的隐藏层作为最后的输出(以此计算代价函数,然后进行反向传播)。

3.NST的大概步骤是:

1)加载训练好的VGG神经网络

2)随机初始化生成图像G

3)输入内容图像C,进行前向传播,计算content cost;输入风格图像G,进行前向传播,计算style cost。最后统计总的cost

4)根据计算出的cost,进行反向传播,更新生成图像G的每个像素点

5)重复3)4)步一定的次数

6)输出最终的申城图像G

 

 

二.计算content cost

1.content cost,就是计算内容图像与生成图像的“内容差异”,所以直接是对应位置的差值。

2.在计算时,最好将每个信道展开成一个向量。此步骤不是必须的,但可以方便操作:

3.content cost的计算公式如下:

其中a为选中的VGG网络的隐藏层的输出值。

 

 

三.计算style cost

1.与content cost直接用对应位置与衡量不同,style cost似乎没有什么直接的衡量的依据。确实是没有,但是可以通过信道间接地去衡量。

2.据称(突然想到这个词,很好用),在同一个卷积层中,不同的信道学习的东西是不同的,比如:

第一个信道主要学习纹理特征、第二个信道主要学习橙色特征。如果在出现纹理的地方,其颜色总是为橙色,则表明信道一盒信道二有很强的的关联性。而提到关联性,就很自然能想到协方差矩阵。因此,风格可以用信道的协方差矩阵去衡量。同时说明,风格,实际上就是不同特征之间的关联度

3.为了计算信道之间的协方差矩阵,最好将一个信道展开成一个向量,然后根据 A*AT的公式计算协方差矩阵:

最后,style的计算公式如下:

 

posted on 2018-10-08 21:07  h_z_cong  阅读(1261)  评论(0编辑  收藏  举报

导航