计算机视觉CS231n学习(9)

对抗样本和对抗训练 Adversarial Examples and Adversarial Training
  1. 对抗性样本

    1. 什么是对抗性样本?

      是一种能欺骗机器学习模型的样本,通常通过对原始样本施加微小扰动得到

    2. 时间线

      • 2004 年,"Adversarial Classification"(Dalvi 等人)提出欺骗垃圾邮件过滤器5。
      • 2013 年,"Evasion Attacks Against Machine Learning at Test Time"(Biggio)提出欺骗神经网络67。
      • 2013 年,Szegedy 等人提出能 imperceptibly 欺骗 ImageNet 分类器8。
      • 2014 年,Goodfellow 等人提出廉价的、封闭形式的攻击9。
    3. 适用模型

      不仅适用于神经网络,还适用于线性模型、逻辑回归、支持向量机(SVMs)、决策树、最近邻等多种模型

    4. 为什么会产生对抗性样本?

      1. 过拟合
      2. 过度线性,现代深度网络具有很强的分段线性特性
    5. 迁移性

      跨模型、跨数据集迁移,如不同的深度学习模型(DNN)、线性回归(LR)、支持向量机(SVM)等之间存在迁移性

  2. 如何用于破坏机器学习系统?

    1. 攻击方法:

      快速梯度符号法(FGSM):通过公式计算扰动,使目标函数最大化,同时约束扰动的无穷范数不超过ε,即
      x~=x+ϵsign(∇xJ(x)) \widetilde{x} = x+ϵsign(∇ x J(x)) x =x+ϵsign(∇xJ(x))

    2. 实际攻击场景

      1. 欺骗远程托管API训练的真实分类器(如MetaMind、Amazon、Google)
      2. 欺骗恶意软件检测器网络
      3. 在物理世界中展示对抗性样本,欺骗通过相机感知它们的机器学习系统
  3. 防御措施有哪些?

    1. 失败的防御措施

      包括生成式预训练、测试时添加噪声、测试时减少置信度的扰动、权重衰减、各种非线性单元、用自编码器去除扰动、集成方法、纠错码、多次观察、双重反向传播、dropout、训练时添加噪声等

    2. 有效的防御措施

      1. 对抗性训练:在训练中使用对抗性样本,能提高模型在对抗性样本上的表现,且经对抗性训练的神经网络在对抗性样本上的实证成功率优于其他机器学习模型
      2. 虚拟对抗性训练:对于未标记数据,使模型在对抗性扰动下的猜测与原始猜测保持一致,可应用于文本分类等任务
  4. 如何利用对抗性样本改进机器学习?

    对抗训练提供了正则化和半监督学习(虚拟对抗性训练)

    虽然域外输入问题是基于模型优化的瓶颈,但对抗性样本可作为一种工具,帮助研究者更深入地理解模型的行为和弱点。

相关推荐
罗西的思考1 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab2 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab2 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸3 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云3 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny8654 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔4 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能
smallyoung4 小时前
AgenticRAG:智能体驱动的检索增强生成
人工智能
_skyming_4 小时前
OpenCode 如何做到结果不做自动质量评估,为什么结果还不错?
人工智能
南山安4 小时前
手写 Cursor 核心原理:从 Node.js 进程到智能 Agent
人工智能·agent·设计