生成对抗网络(GAN):原理、挑战与实践
1. 生成对抗网络基础
生成对抗网络(GAN)由生成器和判别器两个部分组成。生成器的目标是学习创建与给定数据集相似的新数据,而判别器则要学会区分生成器的输出和真实数据。在训练过程中,两者相互学习,交替进行训练,以提升各自的能力。
1.1 训练过程
训练时,从训练集中选取一个小批量的点,然后按照特定的四阶段流程,交替训练判别器和生成器。在训练生成器时,我们希望仅更新生成器的权重,而控制层权重是否更新的机制因使用的库而异,通常会使用“冻结”“锁定”或“禁用”等术语来防止特定层的权重更新,在训练判别器时再解除这些限制。
1.2 简单GAN示例
为了训练一个简单的GAN,我们从初始的高斯分布中随机抽取10,000个点作为训练集,使用大小为32的小批量进行训练,将所有10,000个点通过系统一次称为一个训练周期。
训练结果显示,经过一个训练周期后,GAN生成的点在西南 - 东北方向形成一条模糊的线,大致以(1,1)为中心。随着训练周期的增加,生成的点逐渐接近原始数据的中心和形状。在第4个训练周期左右,生成的样本会超过中心,并且变得越来越椭圆而不是圆形,但随后会逐渐调整,到第13个训练周期时,匹配效果已经非常好。
判别器和生成器的损失曲线显示,理想情况下判别器的损失应稳定在0.5左右,这意味着它无法确定输入是来自真实数据集还是生成器。在这个小例子中,判别器的表现已经相当接近理想状态。
2. DCGAN:用于图像的生成对抗网络
如果要处理图像数据,我们通常会选择使用卷积层来构建判别器和生成器,这种由多个卷积层构建的GAN被
超级会员免费看
订阅专栏 解锁全文
424

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



