在训练RNN-GAN(基于反复神经网络的生成对抗网络)中,优化器的选择在确定学习模型的效率,稳定性和质量中起着至关重要的作用。在这种情况下,两个广泛使用的优化器是亚当和随机梯度下降(SGD)。他们的主要差异和对RNN-GAN的影响可以从它们的优化动态,收敛性,对网络体系结构的适应性以及对对抗性训练程序的影响来理解。
###优化机制
亚当是一种自适应学习率方法,它结合了随机梯度下降的另外两个扩展的优势:adagrad和rmsprop。它从梯度的第一和第二矩的估计值计算不同参数的单个自适应学习率。具体而言,亚当跟踪了过去梯度(第一刻)和平方梯度(第二刻)的指数衰减平均值,并使用它们分别调整每个参数的学习率。这种自适应步长机制使亚当能够快速收敛并很好地处理稀疏梯度和嘈杂的任务。
另一方面,SGD使用损耗函数的梯度相对于参数更新参数,该参数根据固定学习率缩放,并可能融合了动量。传统的SGD使用全球学习率,该学习率统一适用于所有参数。尽管这使SGD在概念上变得简单,有时非常有效,但需要仔细调整学习率和动量参数才能表现良好。
GAN训练中的收敛速度和稳定性
与SGD相比,亚当通常提供更快的收敛速度。它的适应性有助于它处理甘恩斯通常不稳定的对抗训练动态。 RNN-GAN通过RNN和gan中的对抗性学习结合了序列建模,通常会遭受训练不稳定性,例如模式崩溃,消失或爆炸梯度,以及鉴别器与生成器之间的振荡行为。亚当能够通过提供更稳定的梯度更新,尤其是在培训的早期,可以在某种程度上适应每个参数的学习率。
相比之下,SGD的收敛速度较慢,并且对高参数调整更敏感。但是,当通过学习率的时间表和动力进行正确调整时,SGD会导致更稳定的训练动态和更好的最终收敛性。这部分是由于SGD趋于在损失格局中融合最小值的趋势,这与许多深度学习任务中的概括性能更好。
###对代模式崩溃和一代多样性的影响
在GAN训练中,发电机产生有限种类的模式崩溃是一个重要的问题。研究表明,亚当虽然自适应且迅速融合,但有时可能会陷入尖锐的局部最小值,这可能有助于包括RNN-GAN在内的gans模式崩溃的持续性。已经观察到具有归一化或动量增强变体的SGD,可以通过将模型参数推向对应于更多样化的输出分布的最小区域来促进对参数空间的更好探索,从而减少模式崩溃。
###梯度规范和更新动态
关于gan中亚当和SGD之间差异的重要经验见解与参数更新的规范有关。亚当的更新是根据过去梯度的估计差异进行标准化的,即使梯度变化很大,它也可以保留稳定的更新幅度。已经提出了一种称为归一化SGD(NSGD)的特定类型的SGD,作为ADAM的更简单替代品,在该替代品中,将梯度归一化以具有与Adam的更新相同的标准。这种方法迫使歧视者和发电机以兼容的速率进行更新,这对于对抗性训练至关重要,以维持RNN-GAN的竞争模型之间的平衡。
研究表明,这种归一化有助于与亚当的表现相匹配,有时会超过它,这表明亚当的主要优势之一可能在于其更新的隐式归一化,而不是其自适应学习率本身本身。
###适应RNN体系结构
RNN固有地遭受了消失和爆炸梯度等问题,尤其是在长度长度上。亚当的自适应更新特别有效地处理这些问题,因为它可以单独调整每个参数的学习率,从而使模型可以更有效地训练RNN。这是比SGD的重要优势,在SGD中,跨参数的统一学习率可能需要复杂的调整和调整。
在RNN-GAN中,对抗训练与RNN的时间依赖性的相互作用增加了复杂性。亚当对梯度景观变化迅速反应的能力可以稳定学习过程,尤其是在发电机和歧视者迅速发展的早期训练阶段。
###超参数灵敏度和调整
SGD通常需要细致的高参数调整,例如学习率衰减时间表,动量,批次尺寸,有时甚至是温暖的重新启动。当这些选择最佳时,SGD可以胜过亚当,尤其是在概括方面。亚当被认为对超参数错误指定更为强大,通常会通过默认参数产生合理的“现成”结果。
在实践中,这意味着对于RNN-GAN,如果计算资源和实验时间有限,ADAM往往是首选的选择。但是,如果资源允许广泛的超参数优化,SGD可能会带来更好,更稳定的长期结果。
###概括和鲁棒性
与接受亚当训练的训练的神经网络相比,经过SGD训练的神经网络通常表现出更好的泛化能力和鲁棒性。这已经在研究神经网络Lipschitz常数和梯度规范的各种研究中得到了证明。尽管这些结果大多在进料或卷积网中得到证明,但原理通过类比扩展到RNN-GAN。
亚当的侵略性和灵活的更新有时会导致损失景观中的最小值,这可以减少概括和稳健性。 SGD倾向于扁平化最小值的趋势提供了正则化好处,这些益处在生成建模任务中很有价值,在这种建模任务中,产生多样化和高保真的产出,概括性地概述至关重要。
###计算效率和实际考虑
亚当需要其他记忆和计算以维持第一和第二矩的每参数估计。该开销在RNN-GAN中乘以乘积,在RNN-GAN中,复发架构和GAN的双网络都增加了参数计数。在记忆足迹方面,SGD在计算上更便宜,更简单。
但是,在实践中,亚当对学习率选择的更快收敛性和对学习率选择的敏感性较低,尤其是对于训练时间和稳定性的大型且复杂的RNN-GAN是显着的瓶颈。
RNN-GAN的主要差异摘要
- 亚当每个参数分别调整学习率; SGD使用固定的全球学习率(具有可选动量)。
- 亚当的收敛速度更快,最初在对抗训练中更稳定; SGD需要仔细调整,但可以产生更好的最终收敛性。
-Adam的更新归一化有助于平衡GAN中的生成器和鉴别器更新; SGD可能没有正常化而患有失衡。
- 亚当减轻RNN培训问题,例如通过自适应学习率消失的梯度; SGD效率较低,而无需调整。
- 与亚当(Adam)的最小值相比,SGD导致gans的最小值,更好的概括和降低的模式崩溃潜力。
- 亚当对超参数的选择更强大; SGD可能需要更多的调整,但通常会产生更好的鲁棒性和概括。
- 由于矩估计,亚当具有更多的计算开销; SGD更简单,更有效。