当前位置: 首页 > news >正文

衡量神经网络表征相似度

目录

    • 1.中心核对齐技术(CKA)
    • 2.Hilbert-Schmidt independence criterion(HSIC)
      • HSIC的计算步骤:
      • HSIC的性质:
      • 应用:
    • 矩阵中心化操作
      • 对于单个数据集的中心化
      • 对于两个数据集的中心化(例如,用于HSIC)
      • Python代码示例

1.中心核对齐技术(CKA)

    CKA通过计算两个表征的Gram矩阵(即计算向量两两之间的内积组成的矩阵)来实现。这种方法可以捕捉到特征在多个神经元中的分布情况,并且考虑到了特征的顺序和scaling问题。

实现步骤:

  1. 选定两个要对比的表征层,例如一个模型的第2层和另一个模型的第10层。
  2. 取一些样本,输入两个模型,从对应层获取两份表征。
  3. 分别对这两份表征计算Gram矩阵
  4. 计算两个Gram矩阵的HSIC,这是一种用于计算两个分布统计学独立性的指标。
  5. 最后对HSIC结果进行归一化处理,得到CKA值。

CKA的优点在于:

  • 它对矩阵的正交变换结果不变,这意味着即使模型因为随机种子不同导致表征顺序不同,CKA也能正确比较表征的相似度。
  • 归一化后的CKA对不同Scaling也能进行对比,这使得CKA在比较不同模型或不同层的表征时更为鲁棒。

CKA在多个领域都有应用,包括但不限于模型压缩、知识蒸馏和神经网络的解释性分析。通过CKA,研究人员可以定量理解不同神经网络之间的表示相似性,这对于模型优化和理解神经网络的工作原理都具有重要意义。

2.Hilbert-Schmidt independence criterion(HSIC)

HSIC是一种统计量,用于衡量两个随机变量之间的独立性。它是核方法在独立性测试中的应用,特别是在高维空间中。HSIC的核心思想是利用核函数将原始数据映射到高维特征空间,然后在这个特征空间中计算随机变量之间的相关性。

HSIC的计算步骤:

  1. 核函数选择
    HSIC首先需要选择一个核函数 ( k(x, y) ),这个核函数将原始数据映射到一个高维特征空间。常见的核函数包括高斯核(RBF核)、线性核、多项式核等。

  2. Gram矩阵
    对于两个随机变量 ( X ) 和 ( Y ),我们分别计算它们的Gram矩阵 ( K ) 和 ( L )。Gra

http://www.lryc.cn/news/487135.html

相关文章:

  • Javascript高级:深度解析与多种实现方式数组扁平化
  • SpringBoot Data Redis连接Redis-Cluster集群
  • 计算机网络——TCP篇
  • 【网络安全面经】技术性问题3
  • 前后端交互之动态列
  • 递归(3)----力扣40组合数2,力扣473火柴拼正方形
  • 十一:HTTP 状态码详解:解读每一个响应背后的意义
  • 《译文》2024年11月数维杯国际大学生数学建模挑战赛题目
  • shell命令统计文件行数之和
  • 第02章 CentOS基本操作
  • 241113.学习日志——[CSDIY] [ByteDance] 后端训练营 [02]
  • 【HOT100第三天】和为K的子数组,最大子数组和,合并区间,轮转数组
  • 设计模式-Adapter(适配器模式)GO语言版本
  • SAM_Med2D 训练完成后boxes_prompt没有生成mask的问题
  • 游戏引擎学习第18天
  • Kotlin return与return@forEachIndexed
  • 基于Canny边缘检测和轮廓检测
  • 力扣题目解析--合并k个升序链表
  • Linux:调试器-gdb/cgdb
  • 『VUE』30. 生命周期的介绍(详细图文注释)
  • Python 人脸检测:使用 Dlib 和 OpenCV
  • 【大数据学习 | flume】flume的概述与组件的介绍
  • torch.is_storage()
  • 2411rust,编译时自动检查配置
  • 在 Ubuntu 中用 VSCode 配置 C 语言项目的编译与调试(详解教程)
  • MATLAB绘制克莱因瓶
  • HTML5实现趣味飞船捡金币小游戏(附源码)
  • Excel表数学于三角函数、统计函数
  • 小试银河麒麟系统OCR软件
  • Dubbo RPC线程模型