神经崩塌Neural Collapse

Neural Collapse: A Review on Modelling Principles and Generalization1

关于神经网络可以叫上名字的现象不多,Neural Collapse可以算得上一个,Double/Triple descent等现象也算得上,这里基于文献1讨论一下这个现象及其可能的影响因素,毕竟提出来才两年,可能理论上并不是很清楚。

关于Neural Collapse现象的几何结构证明分析可以参考鄂维南老师2的论文

一、什么是Neural Collapse

在机器学习分类问题中,Neural Collapse第一次出现在 Papyan et al. (2020)3由于深度神经网络最后一层会有一个线性分类层,NC本质上揭示了深层神经网络中的最终层分类器倾向于朝向一个简单的对称结构,以实现其最先进的性能

以下4个描述都非常抽象,直接看原文中第二节定义好符号后的数学描述更好

NC1: Collapse of variability 可变性的崩溃:对于属于同一类的数据样本,其最终隐藏层(即倒数第二层)特征集中在其类平均值周围。因此,当类内特征塌陷到某一点时,类内特征在训练期间的可变性将丢失。

NC2: Preference towards a simplex (ETF)Equiangular Tight Frame倾向于单纯形等角紧框架:现在代表每个类的倒数第二层的类表示,倾向于形成单纯形等角紧框架(单纯形ETF)。单纯形ETF是一种对称结构,其中点位于超球体上,是线性可分离的,并且彼此之间的距离最大。单纯形数学定义和单纯形ETF。

单纯形的定义可以参考wiki百科

单纯形ETF:(没看到文章里的定义)

NC3: Self-dual alignment: 自对偶对齐:最后一层线性分类器矩阵的向量\列也在其对偶向量空间中形成单纯形ETF,并收敛到倒数第二层特征的单纯形ETF(直至重缩放)。

NC4: Choose the nearest class mean: 选择最近的类平均值:当测试点要分类时,lastlayer分类器现在基本上充当最近(训练)类平均值决策规则。为了简化,最后一层分类器查看测试点的倒数第二层特征,并检查指定与最近(序列)类平均值相关的标签。

**NC的意义是什么?**这个问题的答案在于,所有4个NC属性都是由正则神经网络自然获得的,在训练期间没有任何显式约束

二、神经崩塌的数学定义(见原文,不再过多摘抄)

一个深度神经网络模型如下: h L ( x ) = A L f L − 1 ( x ) + b L h_L(x)=A_Lf_{L-1}(x)+b_L hL(x)=ALfL1(x)+bL 其中 f L − 1 : R d → R m f_{L-1}: \mathbb{R}^d\rightarrow \mathbb{R}^m fL1:RdRm代表前面L-1非线性层, A L ∈ R K × m 与 b L ∈ R m A_L \in \mathbb{R}^{K\times m} 与b_L\in \mathbb{R}^m ALRK×mbLRm代表最后一个线性分类层,数据 X = { x i } ⊂ R d X=\{x_i\}\subset \mathbb{R}^d X={xi}Rd分成了K个类,第k类里的第i个数据点被记作 x i k x_i^k xik

NC1: f ( x i k ) f(x_i^k) f(xik)随着迭代进行会收敛到 μ k \mu_k μk类中心 1 n k ∑ i = 1 n k f ( x i k ) \frac{1}{n_k}\sum\limits_{i=1}^{n_k}f(x_i^k) nk1i=1nkf(xik)

NC2:考虑全局均值点 μ G = 1 K ∑ k = 1 K μ k \mu_G=\frac{1}{K}\sum\limits_{k=1}^K \mu_k μG=K1k=1Kμk使得 ∣ ∣ μ k − μ G ∣ ∣ 2 = ∣ ∣ μ k ′ − μ G ∣ ∣ 2 ||\mu_k-\mu_G||_2=||\mu_{k'}-\mu_G||_2 μkμG2=μkμG2,将所有的 μ k − μ G ∣ ∣ μ k − μ G ∣ ∣ 2 \frac{\mu_k-\mu_G}{||\mu_k-\mu_G||_2} μkμG2μkμG拼成一个矩阵 M ∈ R m × K M\in \mathbb{R}^{m\times K} MRm×K这个M正好有 K − 1 K-1 K1非零等奇异值满足以下两个式子:

M T M = K K − 1 I K − 1 K − 1 1 K 1 K T M^TM=\frac{K}{K-1}I_K-\frac{1}{K-1}1_K1_K^T MTM=K1KIKK111K1KT

c o s ( μ k , μ k ′ ) = − 1 K − 1 , ∀ k , k ′ ∈ [ K ] , k ≠ k ′ cos(\mu_k,\mu_{k'})=-\frac{1}{K-1},\forall k,k' \in [K],k\neq k' cos(μk,μk)=K11,k,k[K],k=k

NC3:自对偶对齐: A T ∣ ∣ A ∣ ∣ F = M T ∣ ∣ M ∣ ∣ F \frac{A^T}{||A||_F}=\frac{M^T}{||M||_F} AFAT=MFMT

NC4: 对于一个输入 x t x_t xt而言,它将被分配给最近邻,即 x t x_t xt所属的类别k满足$k=\arg \min_{k\in[K]}||f(x_t)-\mu_k|| $

本文主要讨论了两个模型

3.1.Unconstrained Features(忽略原始数据)

逆向工程方法(reverse-engineering approach) 不知道在干嘛。。应该是在讨论单纯形ETF的崩塌

3.1.1 损失函数的影响:通过前人工作观察,好像损失函数并不影响崩塌的发生

3.1.2 正则化的影响:bias b这一项对NC的影响相对于正则化项而言微不足道。

3.1.3 gradient flow梯度流的影响,主要聚焦于梯度下降的初始点有多接近0

3.1.4 batch-Normalization是否会导致基于NC的收敛?

3.1.5 Disscution: 对数据的依赖性应该没有(随机标注CIFAR10仍然能获得NC的性质 ),NC也不依赖优化算法,无论是GD还是Adam和LBFGS

考虑数据复杂性对模型加入约束条件 1 K ∑ k = 1 K 1 n k ∑ i = 1 n k ∣ ∣ f ( x i k ) ∣ ∣ 2 ≤ E F \frac{1}{K}\sum\limits_{k=1}^K\frac{1}{n_k}\sum\limits_{i=1}^{n_k}||f(x_i^k)||^2\le E_F K1k=1Knk1i=1nkf(xik)2EF后,对于非均衡的样本分布,神经崩塌不会出现,但是会出现"minority collapse"(少数类群体才会崩塌),调整 E F E_F EF的值可以调整约束的强度,在实验(Fang et al. (2021))4中 提到,也有人已经解决了这个问题(有需要再去原文找吧)

拓展:将这种无约束性分析拓展到内部层,不仅仅是在最后两层(Tirer和Bruna(2022))

4.Local Elasticity局部弹性现象

定义1一个分类器被称作局部弹性的,当 x k ∈ C k x^k\in C_k xkCk的预测值或者倒数第二层代表的‘特征表达’不会被训练 C j , j ≠ k C_j, j\neq k Cj,j=k中的数据点时候的梯度下降显著影响。

参考文献


  1. Vignesh Kothapalli, Ebrahim Rasromani and Vasudev Awatramani. Neural Collapse: A Review on Modelling Principles and Generalization ↩︎ ↩︎

  2. ON THE EMERGENCE OF SIMPLEX SYMMETRY IN THE FINAL AND PENULTIMATE LAYERS OF NEURAL NETWORK CLASSIFIERS
    EMERGENCE OF SIMPLEX SYMMETRY IN THE FINAL AND PENULTIMATE LAYERS OF NEURAL NETWORK CLASSIFIERS ↩︎

  3. Vardan Papyan, XY Han, and David L Donoho. Prevalence of neural collapse during the terminal phase of deep learning training. Proceedings of the National Academy of Sciences, 117(40):24652–24663, 2020. ↩︎

  4. Cong Fang, Hangfeng He, Qi Long, and Weijie J Su. Exploring deep neural networks via layer-peeled model: Minority collapse in imbalanced training. Proceedings of the National Academy of Sciences, 118(43), 2021. ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值