读论文系列:1-Lipschitz Layers Compared: Memory, Speed, and Certifiable Robustness

读论文系列:1-Lipschitz Layers Compared: Memory, Speed, and Certifiable Robustness

1️⃣ 资料

  1. 说明:本文是 2024 年 CVPR
  2. 官方 github:https://github.com/berndprach/1LipschitzLayersCompared
  3. 官方讲解:https://www.youtube.com/watch?v=5l0kkrAMqDg
  4. Lipschitz,1-Lipschitz:https://blog.csdn.net/u010087338/article/details/111416252

2️⃣ AI 一起读论文

1. 本篇文章讲了什么

这篇文章对比了多种构建 1-Lipschitz 层的方法,评估了它们在内存占用、速度和可认证鲁棒性方面的表现
主要内容

  • 1-Lipschitz 层: 指的是 Lipschitz 常数不超过 1 的神经网络层。这类层可以保证模型对输入扰动具有一定的鲁棒性。
  • 构建方法: 文章介绍了 7 种构建 1-Lipschitz 层的方法,包括 BCOP、Cayley、SOC、AOL、LOT、CPL 和 SLL。每种方法都有其独特的实现方式和优缺点。
  • 理论分析: 文章从计算复杂度和内存占用两个方面对 7 种方法进行了理论分析,并总结了每种方法的优缺点。
  • 实验结果: 文章在 4 个数据集上进行了实验,对比了不同方法在不同模型规模下的训练时间、推理速度、内存占用和可认证鲁棒性。
  • 结论: 文章发现 CPL 方法在综合性能上表现最好,其次是 SOC 和 LOT 方法。对于对推理时间要求较高的应用,可以选择 AOL 或 BCOP 方法。
    在这里插入图片描述文章亮点
  • 全面对比: 文章从多个维度对比了多种 1-Lipschitz 层构建方法,为选择合适的方法提供了参考。
  • 理论分析: 文章对每种方法的理论性能进行了分析,有助于理解其优缺点。
  • 实验验证: 文章通过实验验证了理论分析的结果,并提供了不同方法的性能数据。
  • 代码开源: 文章提供了代码实现,方便其他研究者进行复现和研究。
    总结
    这篇文章为构建可认证鲁棒的神经网络提供了有价值的参考。通过对比不同方法的性能,可以帮助研究者选择最合适的方法,并根据实际需求进行优化。
    其他要点
  • 文章还讨论了 1-Lipschitz 层的激活函数选择、网络结构设计等问题。
  • 文章提到了一些其他构建 1-Lipschitz 层的方法,但由于某些原因没有进行详细对比。
  • 文章的实验结果仅供参考,实际应用中需要根据具体情况进行调整。

2. (理论基础)什么是Lipschitz,1-Lipschitz

1-Lipschitz layers(一阶Lipschitz层)是深度学习中的一个概念,特别是在生成模型和正则化网络设计中。Lipschitz约束来源于数学中的Lipschitz连续性,它描述了一个函数输出变化的有界性。
具体来说,一个函数( f )是Lipschitz连续的,如果存在一个常数( K ),使得对于所有的输入( x )和( y ),下面的不等式成立:
∣ f ( x ) − f ( y ) ∣ ≤ K ∣ x − y ∣ |f(x) - f(y)| \leq K |x - y| f(x)f(y)Kxy
如果这个常数( K )恰好等于1,那么函数( f )就是1-Lipschitz连续的
在深度学习中,1-Lipschitz layers指的是那些能够保证输出变化有界的网络层,其中( K )的值不超过1。这样的约束有助于:

  1. 稳定性和泛化:限制了网络层的输出变化,可以减少过拟合,提高模型的泛化能力。
  2. 生成模型:在生成对抗网络(GANs)中,1-Lipschitz约束可以保证生成器和解码器的稳定性,有助于训练过程。

实现1-Lipschitz layers的常见方法包括:

  • 权重裁剪:将网络层的权重限制在一个固定的范围内,例如[-0.01, 0.01]。
  • 谱正则化:通过对网络层的谱(即最大奇异值)进行约束来保证Lipschitz条件。
  • 使用特定类型的激活函数:比如使用ReLU的变体或者排序网络中的特定激活函数。

1-Lipschitz layers在理论研究和实际应用中都有重要意义,特别是在那些需要保证输出平滑性和稳定性的深度学习模型中。

雅可比矩阵那一部分是什么意思

这段文字主要解释了文章中使用的 1-Lipschitz 层 的构建方式,并说明了为什么选择 MaxMin 激活函数。
关键点

  • 正交雅可比矩阵: 1-Lipschitz 层的一个重要类别是具有 正交雅可比矩阵 的线性层。雅可比矩阵是层输出对输入的偏导数矩阵,正交矩阵满足 MM^T = I(I 是单位矩阵)。
  • 满足 Lipschitz 连续性: 对于具有正交雅可比矩阵的层,Lipschitz 连续性方程(式 1)总是成立,这意味着该层对输入扰动具有鲁棒性。
  • 构建方法: 文章中的神经网络由 1-Lipschitz 参数化层和 1-Lipschitz 激活函数组成,没有跳跃连接和批归一化。
  • MaxMin 激活函数: 尽管 ReLU 激活函数也是 1-Lipschitz 的,但 Anil 等人 [2] 的研究表明它降低了模型的表达能力。因此,文章选择使用 MaxMin 激活函数,它在 1-Lipschitz 模型中常用,并且能够保持模型的表达能力。
  • 网络结构: 由于 1-Lipschitz 函数的连续性,由 1-Lipschitz 层和 MaxMin 激活函数组成的神经网络本身也是 1-Lipschitz 的。

总结
这段文字说明了文章中构建 1-Lipschitz 层的方法,并解释了选择 MaxMin 激活函数的原因。这种方法能够保证模型对输入扰动具有一定的鲁棒性,并且能够保持模型的表达能力。

3️⃣ 我的笔记

  1. 背景
    1. 我们可以通过改变一部分图片中的像素,从而影响分类模型的表现。(参考https://blog.csdn.net/CharlesShan1/article/details/140341294中的第二个实验)
    2. 从此,人们专注于模型稳定性的研究,提出了很多方法。一个老办法是把 Adversarial Examples 重新加入训练。
    3. 后来人们把这种扰动抽象成 ϵ \epsilon ϵ,输入图片是 x x x,加入扰动的待分类图片就是 ϵ + x \epsilon+x ϵ+x,去保证每一个加入扰动的待分类图片都可以分类成功,但这被证明是 NP-Hard 问题。
    4. Randomized smoothing strategies(随机平滑策略)(Certified adversarial robustness via randomized smoothing. 2019),结合去噪声后可以达到最先进的鲁棒性水平,但是计算量依旧庞大,不能满足实时计算。
    5. 所以人们使用了 Lipschitz Bounded Neural Networks。
    6. 目前有好多基于1-Lipschitz的提高鲁棒性的方案,但是缺乏标准与优缺点评价,本文就是去“评测”一下这些方法。
  2. 1-Lipschitz就是 ∣ ∣ f ( x ) − f ( y ) ∣ ∣ 2 ≤ ∣ ∣ x − y ∣ ∣ 2 ||f(x)-f(y)||_2≤||x-y||_2 ∣∣f(x)f(y)2∣∣xy2,这是为了保证输出比输入的差别要小。(作者自己说的)
    在这里插入图片描述
  3. 评测 1:输入输出的操作与复杂度
    • Operations contains the most costly transformations applied to the input as well as to the parameters of different layers 操作包含应用于输入以及不同层参数的最昂贵的转换;
    • MACS reports the computational complexity expressed in multiply-accumulate operations (MACS) involved in the transformations (only leading terms are presented) MACS报告了转换中涉及的乘法累加运算(MACS)所表示的计算复杂度(仅呈现前导项);
    • Memory reports the memory required by the transformation during the training phase. Memory代表训练阶段转换所需的内存。
    • The transformations reported in the table are convolutions (CONV), Fast Fourier Transformations (FFT), matrixvector multiplications (MV), matrix-matrix multiplications (MM), matrix inversions (INV), as well as applications of an activation function (ACT). The application of algorithms such as Bjorck & Bowie (BnB), power method, and Fantastic 4 (F4) is also reported (see Appendix A for descriptions)…
      在这里插入图片描述
  4. 评测 2:训练时间与推理时间,可以看到 CPL、SOC 最优秀
    • XS, S, M, L,代表参数量递增的模型(ranging from 1.5M to 100M parameters)
      在这里插入图片描述
  5. 评测 3:训练内存与推理内存
    在这里插入图片描述
  6. 评测 4:在 ϵ = 36 / 255 \epsilon=36/255 ϵ=36/255的情况下,进行鲁棒性测评
    在这里插入图片描述
  7. 结论(原文翻译):考虑到所有指标(如图1所示),结果有利于CPL,因为它具有最高的性能和较低的计算资源消耗。当有大量计算资源可用,并且应用程序在推理和训练过程中没有施加严格的时间约束时,由于SOC层的性能略好,可以使用SOC层。最后,那些推理时间至关重要的应用程序可以利用AOL或BCOP,与标准卷积相比,它们不会在推理过程中引入额外的运行时开销。对于更高分辨率的图像,CPL似乎也是最有前景的方法。
  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值