对抗神经网络学习(简单的理解)

深度卷积对抗神经网络(DCGAN)

从随机向量生成真实图像
如何构建一个新的GAN网络
	1.定义目标
	2.定义G的输入输出
	3.定义D的输入输出
	4.设计G和D的结构

目标函数
最大化D(是否是真的概率),最小化G
训练判别器,使V(D,G)变大
训练生成器,使V(D,G)变小
反卷积
理解:卷积操作展开
逆过程
模型结构:
pooling层用convolutional层替代(减少信息损失)
G和D上都使用batch normalization
帮助解决初始化差的问题
梯度传播到每一层(避免梯度消失)
BN不应用于输入层和输出层(经验)
移除全连接层,使用global pooling
G上除了输出层使用tanh外其他都用relu
D上使用LeakyRelu

配对图像翻译(Pix2Pix)
模型结构G-------->U Net
类似于encoder-decoder,先卷积做反卷积
问题:数据必须成对
无配对图像翻译(CycleGNN)
目标:从非配对图像中学到转换
思路:能转出再转回来基本不变,输入x做一个损失函数,专程的输出y也做一个损失函数
一致性约束保证了它的有效性
两套GNN
多领域图像翻译(StarGNN)
G的输入添加目标领域的信息b除了判断是否真实以外,还需要判断类别
图像重建loss

文本生成图像

  1. 模型结构
    G:
    输入:随机向量+文本编码
    输出:图像
    D:
    输入:生成图像+文本编码
    输出:图像文本是否匹配+图像是否真实


    训练技巧
  2. 先将图像是否合理训练出来,再训练图像是否匹配
  3. 在训练时注意添加(真图,不匹配描述的反例)

猜你喜欢

转载自blog.csdn.net/qq_36309884/article/details/89061804
今日推荐