首页 > 其他分享 >衡量神经网络表征相似度

衡量神经网络表征相似度

时间:2024-11-15 13:44:56浏览次数:3  
标签:CKA 矩阵 衡量 神经网络 Gram 计算 表征 HSIC

目录

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

标签:CKA,矩阵,衡量,神经网络,Gram,计算,表征,HSIC
From: https://blog.csdn.net/qq_54855933/article/details/143788872

相关文章

  • 【简单的基于循环神经网络(RNN)的模型(深度学习经典代码实现)】
    importtorch#Code–Parametersinput_size=4hidden_size=4num_layers=1batch_size=1seq_len=5#Code–PrepareDataidx2char=['e','h','l','o']x_data=[1,0,2,2,3]y_data=[3,1,2,3,2]one_hot......
  • 【基于PyTorch的简单多层感知机(MLP)神经网络(深度学习经典代码实现)】
    importtorchfromtorchvisionimporttransformsfromtorchvisionimportdatasetsfromtorch.utils.dataimportDataLoaderimporttorch.nn.functionalasFimporttorch.optimasoptim#准备数据集batch_size=64transform=transforms.Compose([transforms.......
  • C++builder中的人工智能(28):FANN: Fast Artificial Neural Networks快速人工神经网络(ANN
    这篇文章全面介绍了快速人工神经网络(ANNs)的世界,探讨了它们在现代计算智能中的重要地位、核心特点、应用领域以及未来发展。快速人工神经网络库(FastArtificialNeuralNetworkLibrary,简称FANN)是一个免费的开源神经网络库,它使用C语言实现了多层人工神经网络,并支持全连接和稀疏......
  • 深度神经网络
    深度神经网络这是一个深度神经网络用\(L=4\)表示神经网络层数,用\(n^{[l]}\)表示第\(l\)层神经元数量,有\(n^{[1]}=n^{[2]}=5\),\(n^{[3]}=3\),\(n^{[4]}=n^{[L]}=1\),\(n^{[0]}=n_x=3\)。对于前向传播有:\[z^{[l]}=\omega^{[l]}a^{[l-1]}+b^{[l]}\\a^{[l]}=g^{[l]}(......
  • 【Pytorch】神经网络介绍|激活函数|使用pytorch搭建方法
    神经网络神经网络介绍概念神经网络人工神经网络ANN也称神经网络NN是一种模仿生物神经网络结构和功能的计算模型人脑可以看作是一个生物神经网络,由众多神经元连接而成,神经网络可以看作是模拟生物神经元的过程输入层inputLayer:输入x的那一层输出层output......
  • 神经网络架构参考:2-2 卷积篇
    densenet结构层名称类型输入大小(HxWxC)输出大小(HxWxC)核尺寸步长参数数量InitialConvConv2D224x224x3112x112x647x729,408MaxPoolingMaxPool2D112x112x6456x56x643x320DenseBlock1Composite56x56x64......
  • 神经网络架构参考:2-1 卷积篇
    提示词:给出{xxx}的网络结构表格,包含层名称、类型、输入大小(HWC),输出大小(HWC)、核尺寸、步长、参数数量AlexNet层名称类型输入大小(HWC)输出大小(HWC)核尺寸步长参数数量输入层输入227x227x3---0Conv1卷积层227x227x355x55x9611x114961111*3+96=34......
  • 【打破传统授信模型:基于深度神经网络 DNN模型的精确授信额度计算方法】-附完整python
    打破传统授信模型:基于深度神经网络DNN模型的精确额度计算方法模型结构概览数据预处理1.导入必要的库2.加载数据3.数据预处理4.构建深度神经网络模型5.模型训练与调参6.模型评估7.可视化训练过程9.完整代码深度神经网络(DeepNeuralNetwork,DNN),该模型通过K......
  • 【图神经网络】 GAT原文精讲(全网最细致篇)
    GCN网络系列论文精讲部分0.摘要1引言2GAT架构2.1图注意力层2.2与相关工作的比较3评估3.1数据集3.2最新技术方法3.3实验设置3.4结果4结论5笔者总结论文精讲部分本专栏深入探讨图神经网络模型相关的学术论文,并通过实际代码实验来提高理解。读者可以根......
  • pytorch简单识别CIFAR10彩色图片的卷积神经网络
    环境:python3.11.10pytorch2.3.0一、前期准备1.设置GPUimporttorchimporttorch.nnasnnimportmatplotlib.pyplotaspltimporttorchvisiondevice=torch.device("cuda"iftorch.cuda.is_available()else"cpu")device2.导入数据使用dataset下载CI......