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


    主要内容:

    一.神经风格迁移简介

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

  • 相关阅读:
    Ubuntu忘记密码后强制修改密码
    搭建Jetbrains家族IDE授权服务器
    C#ComboBox绑定List
    字体包文件过大
    JS通过ActiveX读写ini配置文件
    NodeJS + express访问html、css、JS等静态资源文件
    VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求
    VueJS搭建简单后台管理系统框架(一)环境搭建
    ExtJS4.x Grid 单元格鼠标悬停提示
    IE9下Ajax缓存问题
  • 原文地址:https://www.cnblogs.com/DOLFAMINGO/p/9757178.html
Copyright © 2020-2023  润新知