• course | 李宏毅lecture3-Unsupervised Conditional Generation


    先举个例:

    Approach 1:可以做到比较小的更改的转换


    第一个做法:但是generator完全可以产生和domain Y 中某一张图片完全一样的图片,实践证明当generator比较浅的时候,input和output往往比较像。

    第二个做法:比较深的网络,可能会是输入输出完全不一样,大家的做法是用预训练的网络(比如VGG)对输入输出进行特征提取,获得embedding(就是下图橙色小块,可能拼写错了),使这个embedding保持比较像,这样就能保证输入输出不会差太多。感觉这个好像是验算的意思。(我觉得可能是要保持两个pre-trained 的网络一样,然后它们提取出来的特征尽可能近的损失函数也要放到generator里面去,没有看原文,这是我猜的。)

    第三个做法:著名的cycleGAN,训练两个generator,两侧的图片越接近越好,这就保证了中间不会是完全无关的别的图像。除此之外,X可以转到Y,Y也可以转到X。

    CycleGAN有问题:下图的例子,中间的generator产生的图片会把中间图片的黑点隐藏了,人眼并不能看到。

    再来稍微介绍一下,starGAN,如果多个风格互转,比如4个风格的domain,需要6个generator,而starGAN可以用一个generator完成,细节不讨论。(想知道的话可以看视频)

    Approach 2:可以做到比较大的更改的转换



    下面是一种训练方法,但是两个generator会完全没有关系


    解决办法:
    方法一:画虚线的地方share参数

    方法二:

    方法三:

  • 相关阅读:
    如何把数字字符'1'转换为整数(java 实现)
    栈之括号匹配问题(java实现)
    Python之匿名函数(filter,map,reduce)
    python之选择排序
    python之插入排序
    python之数组元素去重
    Java中如何获取多维数组的长度
    ASP.NET 页生命周期概述
    项目中Ajax调用ashx页面中的Function的实战
    Jquery Ajax处理,服务端三种页面aspx,ashx,asmx的比较
  • 原文地址:https://www.cnblogs.com/yijun009/p/13023531.html
Copyright © 2020-2023  润新知