深度学习训练技巧(tircks)

对抗训练

  对抗训练(Adversarial Training)是一种提高机器学习模型鲁棒性的技术,特别是在面对对抗性攻击时。对抗性攻击是指对输入数据故意添加微小的扰动,这些扰动对于人类来说是难以察觉的,但却能够导致模型做出错误的预测。
在对抗训练中,除了常规的训练数据外,还会生成对抗样本作为训练数据的一部分。这些对抗样本是通过在原始样本上应用特定的扰动生成的,目的是欺骗模型做出错误的预测。在训练过程中,模型不仅要学习正确分类原始样本,还要学习正确分类这些对抗样本。
对抗训练的过程通常涉及以下步骤:

  1. 选择一个模型:首先,需要有一个已经训练好的模型或者一个正在训练中的模型。
  2. 生成对抗样本:使用某种算法(如快速梯度符号方法(FGSM)、投影梯度下降(PGD)等)生成对抗样本。这些算法会计算如何在原始样本上添加最小的扰动,以最大化模型的损失函数。
  3. 对抗训练:将原始样本和对抗样本一起用于训练模型。模型会在这些样本上学习,以提高其对抗性鲁棒性。
  4. 评估和迭代:在训练过程中,定期评估模型的性能,以确保它在对抗样本上的表现有所提高。根据需要调整训练过程。
    对抗训练的目的是使模型能够抵御对抗性攻击,提高其在现实世界中的应用中的鲁棒性。这种方法在安全关键型应用中尤为重要,例如自动驾驶汽车、医疗诊断系统等,在这些应用中,模型的错误预测可能会带来严重的后果。

对比学习模型

  Contrastively-trained models 是一种机器学习模型,它使用对比学习(contrastive learning)的方法进行训练。对比学习的目标是使模型能够区分正负样本。在训练过程中,模型会同时处理正样本(相似的输入)和负样本(不相似的输入),并通过某种机制学习如何将正样本与负样本区分开来。
  具体来说,我们可以从图像数据集中随机选择一个图像作为正样本,然后对该图像进行随机变换(例如旋转、缩放、裁剪等)来生成另一个图像,作为另一个正样本。同时,我们还可以从数据集中选择与原始图像不相似的图像作为负样本。
  然后,我们将这些正样本和负样本输入到模型中,模型将输出它们的特征表示。对比损失函数将计算模型对这些正样本和负样本的特征表示之间的相似性,并尝试最大化正样本之间的相似性,同时最小化负样本之间的相似性。
  通过这种方式,模型可以学习到如何将相似的图像映射到相似的特征表示,同时将不相似的图像映射到不同的特征表示。这将有助于模型在图像识别任务中更好地泛化和识别新的图像。
  这只是对比学习在图像识别中的一个例子,对比学习还可以应用于其他领域,如文本、音频等,并且可以使用不同的对比损失函数和技术来训练模型。

本文作者:seekwhale13

本文链接:https://www.cnblogs.com/seekwhale13/p/18062437

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   seekwhale13  阅读(29)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起