目录
-
- 1.中心核对齐技术(CKA)
- 2.Hilbert-Schmidt independence criterion(HSIC)
-
- HSIC的计算步骤:
- HSIC的性质:
- 应用:
- 矩阵中心化操作
-
- 对于单个数据集的中心化
- 对于两个数据集的中心化(例如,用于HSIC)
- Python代码示例
1.中心核对齐技术(CKA)
CKA通过计算两个表征的Gram矩阵(即计算向量两两之间的内积组成的矩阵)来实现。这种方法可以捕捉到特征在多个神经元中的分布情况,并且考虑到了特征的顺序和scaling问题。
实现步骤:
- 选定两个要对比的表征层,例如一个模型的第2层和另一个模型的第10层。
- 取一些样本,输入两个模型,从对应层获取两份表征。
- 分别对这两份表征计算Gram矩阵。
- 计算两个Gram矩阵的HSIC,这是一种用于计算两个分布统计学独立性的指标。
- 最后对HSIC结果进行归一化处理,得到CKA值。
CKA的优点在于:
- 它对矩阵的正交变换结果不变,这意味着即使模型因为随机种子不同导致表征顺序不同,CKA也能正确比较表征的相似度。
- 归一化后的CKA对不同Scaling也能进行对比,这使得CKA在比较不同模型或不同层的表征时更为鲁棒。
CKA在多个领域都有应用,包括但不限于模型压缩、知识蒸馏和神经网络的解释性分析。通过CKA,研究人员可以定量理解不同神经网络之间的表示相似性,这对于模型优化和理解神经网络的工作原理都具有重要意义。
2.Hilbert-Schmidt independence criterion(HSIC)
HSIC是一种统计量,用于衡量两个随机变量之间的独立性。它是核方法在独立性测试中的应用,特别是在高维空间中。HSIC的核心思想是利用核函数将原始数据映射到高维特征空间,然后在这个特征空间中计算随机变量之间的相关性。
HSIC的计算步骤:
-
核函数选择:
HSIC首先需要选择一个核函数 ( k(x, y) ),这个核函数将原始数据映射到一个高维特征空间。常见的核函数包括高斯核(RBF核)、线性核、多项式核等。 -
Gram矩阵:
对于两个随机变量 ( X ) 和 ( Y ),我们分别计算它们的Gram矩阵 ( K ) 和 ( L )。Gra