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


    主要内容:

    一.神经风格迁移简介

    二.计算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的计算公式如下:

  • 相关阅读:
    Uva11235
    Uva11300/BZOJ1045/BZOJ1465/BZOJ3292
    树形背包模板
    Miller-Rabin素性测试
    BZOJ1500 : [NOI2005]维修数列-fhq_Treap
    COGS2421 [HZOI 2016]简单的Treap
    用 fhq_Treap 实现可持久化平衡树
    hdu 1010(DFS) 骨头的诱惑
    hdu 1026(BFS+输出路径) 我要和怪兽决斗
    hdu 1072(BFS) 有炸弹
  • 原文地址:https://www.cnblogs.com/DOLFAMINGO/p/9757178.html
Copyright © 2020-2023  润新知