李宏毅 GAN lecture(2018)笔记_P3

2018-10-21  本文已影响0人  conson_wm

1. Unsupervised Conditional Generation

style transfer

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

2 approches to unsupervised conditional generation

  两种方法来做;

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

上一篇下一篇

猜你喜欢

热点阅读