关于对抗训练的记录

最近看了一些关于对抗训练的论文,作一些笔记以备以后可以查看回顾。

现实中的时间序列或图像,往往都是连续的。而我们输入到模型中的数据,往往是不连续的。连续的输入往往能产生较好的模型泛化能力。因此,有人提出在输入中加入微小扰动试图使模型更好的对抗噪声扰动。[1]提出fast gradient sign method来生成对抗样本,将对抗样本的损失加入到原有的损失函数,进行训练,可以使模型更好的对抗扰动。

fgsm:

图1

图2

[2]提出了LDS,local distributional smoothness, vat即虚拟对抗训练以此为基础。与传统的对抗训练不同的是,该算法是半监督训练算法,可以只使用小部分标签就可以完成模型的训练。传统的对抗训练,主要将添加噪声后模型的输出与标签计算分布差异。

图3

而LDS中将数据标签替换为原始数据输入到模型中的输出概率,与加入噪声的原始数据输入到模型中的输出概率进行分布差异计算。最终损失函数如下所示。

图4

通常分布差异采用kl散度进行计算。由于当噪声为0时,两者分布差异为0,因此可以将在0点进行二阶泰勒展开

图5

将海森矩阵转为主特征向量,因此对抗噪声求解为

图6

为了求解海森矩阵的特征向量,采用近似求解[4]

图7

图8

图9

最终求解的噪声即为

图10

Vat需要三次正向与反向传播,最后算法如下[3],其中最后一步计算导数时,忽略了对噪声的求导,实验证明可以产生更有效的正则。

对抗训练与虚拟对抗训练目前常见于图像训练中,[5]提出将其应用于半监督文本分类中,采用lstm模型,在输入中加入对抗噪声会虚拟对抗噪声,最终可以降低分类器错误率。

  1. EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES
  2. Distributional Smoothing with Virtual Adversarial Training
  3. Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning
  4. Eigenvalue computation in the 20th century.
  5. virtual adversarial training for semi-supervised text classification
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要查看SRGAN训练模型的指标,可以采取以下步骤: 1. 训练过程中记录指标:在训练过程中,可以通过在每个训练步骤或每个训练周期结束时记录关键指标来跟踪模型的性能。常见的指标包括生成器和判别器的损失值、对抗损失、感知损失以及评估指标如PSNR、SSIM等。 2. 使用TensorBoard可视化:如果你使用的是TensorFlow框架,可以使用TensorBoard来可视化训练过程中的指标。通过将指标数据写入TensorBoard日志文件,你可以在训练期间实时查看这些指标的变化趋势,并在训练完成后进行详细分析。 3. 绘制图表:使用Python中的数据可视化库(如matplotlib、seaborn等),可以将记录的指标数据绘制成图表。你可以绘制损失曲线、评估指标曲线等,以便更直观地了解模型的训练进展和性能。 4. 分析和比较指标:通过比较生成器和判别器的损失值以及评估指标,可以评估模型的训练效果和超分辨能力。可以根据需要选择最佳的模型权重或进行进一步的调优。 请注意,具体的实现方法会因使用的深度学习框架和训练代码而有所不同。根据你的代码和需求,你可能需要对数据进行预处理和后处理,以便更好地分析和查看指标。 总结来说,通过记录、可视化和分析训练过程中的指标,你可以更好地了解SRGAN模型的训练效果,并根据需要进行调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值