李宏毅老师讲解的GAN Lecture 3 (2018): Unsupervised Conditional Generation
类似于风格转化的task
- 两类方法:
1)直接转:只能进行小改,input和output间差距较小(如颜色或纹理转化)
2)投射到公共空间:input和output间差距较大(真人转化为动画人物)
Direct Transformation
存在问题-Generator可能输出与input完全不相关的output
- 解决方法一:不管它,因为Generator更趋向于尽可能少的改动,即让输出尽可能接近input,在浅层网络中也可以work,但是在深层网络就需要考虑加其他约束
- 解决方法二:加一个pretrained的网络,比较Generator的input和output的embedding的差别,作为“骗过Discriminator”这一目标之外的另一目标
- Cycle GAN
– issue:隐写术-Generator有能力将资讯藏起来,然后自己解回来,这时候Cycle GAN就不起作用了
- Disco GAN、Dual GAN、Cycle GAN 其实思路是一样的
- starGAN
Projection to Common Space
-
问题:两个VAE-GAN之间没有关联,直接套用的话,input和output之间其实是不对应的
-
解决方法一:两个domain的encoder和decoder的最后/最前的几个layer共用参数
-
解决方法二:通过引入一个Domain discriminator 强迫两个domain在hidden layer用同一维表示同样的东西(每个维度的分布一样->每一维表示同样的东西)
-
解决方法三:Cycle Consistency
-
解决方法四:Semantic Consistency
应用
- 二次元化
- voice converge 与 text-to-voice的区别是 前者保留了原语音的语音语调和情绪