美文网首页
李宏毅 GAN lecture(2018)笔记_P3

李宏毅 GAN lecture(2018)笔记_P3

作者: conson_wm | 来源:发表于2018-10-21 15:47 被阅读0次

    1. Unsupervised Conditional Generation

    style transfer

      不止可以用于图像, 也可以用于audio或者是NLP

    2 approches to unsupervised conditional generation

      两种方法来做;

    • 直接转换
        只能做类似颜色/质地这样的小的改动, 比如style transform比较有可能用这种方法来做
    • 先映射到一个common space
        input和outpt差距比较大
        先learn一个encoder, 将人脸特征抽出来, 然后decoder根据input人脸的特征生成一个动画角色
    Direct Transformation

      direct方法需要train一个Y domain的discriminator来鉴别Generator产生的image究竟像不像;
      但有一个问题是Generator可以产生一个能够骗过D的图像, 但是与Domain X的input无关, 即是课中讲的"Not what we want"

    Direct Transformation

      G来生成图像, 不仅要D认为是real, 还要图像pixel级别尽量像, 就还是类似SRGAN, 其实直接做下去也可以, 无视这个问题也还是有机会work的, 就是说如果对G没有其他要求, train的过程还是倾向于改变不太多图片就可以骗过D, 就是说G的input/output不会差太多, 文献中提到的就是在shallow network的情况下, 无视这个问题确实是work的, 但如果网络很深, G就确实会产生一些和input没什么关系的东西

    use a pre-trained network as feature extract

      用一个pretrained好的network来做feature extract, 然后训练的时候希望抽出来的feature尽量接近, 也就是G的input/output的特征没有太大区别

    Cycle-GAN

      train一个X domain->Y domain的GX->Y(蓝色), 同时train一个Y domain->X domain的GY->X(橘色), 目的是能从GX->Y产生的图像里还原回原图, 也就是要保证GX->Y不能改变图像结构信息

    bi-direction Cycle-GAN

      可以把两个G和两个D一起train, 这就是Cycle GAN的完全体

    Issue of Cycle-GAN

      Cycle-GAN会在GX->Y的时候把某些信息藏起来, 然后在GY->X把这部分信息再还原出来, 有可能Genorator过程把这些信息分散隐藏在了其他的部分中, 如果G确实会藏信息, 那Cycle GAN就失去了意义, 因为即便是有Cycle-GAN的结构, GX->Y也有可能会产生和input差异大的图片, train的过程有可能会学到一些hidden information的方法来避开cycle consistency带给你的constraint

    more GAN similar with Cycle-GAN

      这几个GAN基本都和Cycle-GAN大同小异

    StarGAN

       多个domain之间用一个Generator互转

    StarGAN

      D不止要判断图像是否real, 还要判断生成的图像属于哪个domain, G的做法和Cycle-GAN差不多

    starGAN exampe1 starGAN example2 Approch2 for unsupervised conditional generator

      你可以把X/Y domain的EN-DE对分开train, 但是问题就是这两对EN-DE之间就没什么关系了

    issue of approch2

      为了不让EN-DE生成的image不模糊, 在后面加上一个Discriminator, EN-DE+Discriminator就是一个VAE-GAN
      X/Ydomain的两对EN-DE对之间没有关系的问题就是会发现这两个产生的latent space的意义是不一样的, 也就是说他们编解码的语言是不一样的(比如上面code第一维的意思是'发色', 下面code第一维的意思却是'性别'), 你从domain-X丢一张image进去, 从DEy生成的图像和原图是没有什么关系的
      如果解决两对EN-DE产生的latent space的关联性问题就是approach2要解决的关键问题

    solution 1 share weight

      第一个揭发是不同domain的EN-DE来share weight, 希望EN抽出来的特征的语义是相同的, 就是每个维度表示的意义是一样的, 最极限的情况就是不同domain的EN-DE的weight完全是相同的, 但是要多加一个数字(1/-1)input表示image来自不同的domain

    solution2 Domain Discriminator

       给latent vector加一个Domain Discriminator, 用来判断latent vector是源自哪个domain, 那ENx和ENy的工作就是要骗过这个Domain Discriminator, 如果这个Domain Discriminator无法判断latent vector来自哪个domain, 那意味着ENx和ENy产生的latent vector的distribution就是一样的

    solution3 cycle consistency

       也可以用cycle consistency的方法, 就是绕一个圈再解回X domain, 希望和原图接近, 其实意义和Cycle-GAN是一样的, 只是在这里那个GX->Y被切分成了ENx->DEy, 而GY->X被切分成了ENy->DEx

    solution4 semantic consistency

       这个做法实际和cycle consistency差不多, 但是是在latent vector上去尽量接近, 就是说不要两张相同domain的image在pixel上接近, 而是绕一个小圈, 让两次得到的latent vector尽量接近, 所以叫语义相似性

    图片.png Voice use

       你的话用别人的声音说出来, 这和文字转语音的差别在于这个方法不只是把意思表达出来, 同时也会保有之前说话人的语音语调等voice structure

    相关文章

      网友评论

          本文标题:李宏毅 GAN lecture(2018)笔记_P3

          本文链接:https://www.haomeiwen.com/subject/vzpbzftx.html