DCGAN的设计

image-20230412183708169

image-20230412183721591

  1. 取消所有pooling层。G网络中使用转置卷积( transposed convolutional layer)进行上采样,D网络中用 加入stride的卷积代替pooling。
  2. 去掉FC层,使网络变为全卷积网络
  3. G网络中使用ReLU作为激活函数,最后一层使用tanh
  4. D网络中使用LeakyReLU作为激活函数
  5. 在generator和discriminator上都使用batchnorm。 解决初始化差的问题 帮助梯度传播到每一层 防止generator把所有的样本都收敛到同一个点。 直接将BN应用到所有层会导致样本震荡和模型不稳定,通过在 generator输出层和discriminator输入层不采用BN可以防止这种现象
  6. 使用Adam优化器, beta1(一阶矩估计的指数衰减率)的值设置为0.5
  7. 论文参数 LeakyReLU的斜率是0.2. learning rate=0.0002 batch size是128