生成对抗网络(GAN):从基础到应用
1. 生成对抗网络(GAN)基础
1.1 损失函数的选择
生成器作为神经网络,需要合适的损失函数。损失函数的选择至关重要,它取决于训练目标,且要确保生成器能够收敛。例如,Goodfellow等人最初的GAN论文中使用的生成器损失函数,其体现了判别器最小化判断正确的对数概率,这是对抗训练模式的一部分。同时,生成器的损失函数设计不佳可能导致梯度饱和问题,即学习梯度接近零,使学习几乎无法进行。
判别器的损失函数采用标准的交叉熵实现,其独特之处在于通过多个小批量进行训练。
1.2 训练策略
GAN模型依赖对抗训练,在训练过程中存在两个看似冲突的误差函数,需要同时进行最小化和最大化操作。具体来说,在每个训练周期采样两个小批量数据,GAN架构能够同时最大化生成器的误差和最小化判别器的误差。
生成模型通常难以训练出良好的结果,GAN也不例外。在训练过程中,有一些技巧可以帮助模型收敛并产生理想的结果。
1.3 GAN的不同架构
GAN有多种不同的架构风格,主要的变化体现在生成器和损失函数上。生成器负责生成图像或输出,损失函数则驱动训练过程以优化不同的功能。
以风格迁移为例,这是一种相对简单且常见的GAN应用。不同的风格迁移任务可能需要不同的GAN架构。例如,Adobe Research Labs的一篇论文专注于化妆应用和去除,其架构较为先进,使用了五个独立的损失函数,能够同时学习化妆应用和去除功能。而在转移画家风格时,由于风格相对统一,实现起来相对容易。
1.4 GAN的输出
GAN的
超级会员免费看
订阅专栏 解锁全文
7719

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



