生成对抗网络(GAN):架构、应用与实现
1. DCGAN简介
DCGAN(深度卷积生成对抗网络)由生成器和判别器组合而成。训练时,先在小批量数据上训练判别器,然后冻结判别器训练生成器,这个过程会迭代数千个周期。使用Adam优化器和0.002的学习率能得到更稳定的结果。
2. 为MNIST数字构建DCGAN
- 生成器构建
- 生成器通过顺序添加层来构建。第一层是全连接层,接收100维的噪声作为输入。将100维输入扩展为大小为128 × 7 × 7的扁平向量,目的是最终得到28 × 28大小的输出,这是MNIST手写数字的标准尺寸。
- 向量被重塑为7 × 7 × 128的张量,然后使用TensorFlow Keras的UpSampling2D层进行上采样,该层只是简单地将图像的行和列加倍,且没有权重,计算成本低。
- 上采样后的图像经过卷积层,卷积层学习填充上采样图像的细节。卷积输出经过批量归一化以实现更好的梯度流,批量归一化后的输出在所有中间层进行ReLU激活。
- 重复“上采样 | 卷积 | 批量归一化 | ReLU”的结构,在下面的生成器中,有两个这样的结构,第一个卷积操作有128个滤波器,第二个有64个滤波器。最终输出通过一个有3个滤波器和双曲正切激活的纯卷积层得到,输出大小为28 × 28 × 1。
def build_generator(self):
model = Sequential
深度学习:GAN架构、应用与实现
超级会员免费看
订阅专栏 解锁全文
4568

被折叠的 条评论
为什么被折叠?



