【论文精读】Detecting Out-of-Distribution Examples with Gram Matrices 使用Gram矩阵检测分布外实例

news2025/1/19 10:40:18

文章目录

  • 一、文章概览
    • (一)Gram矩阵
      • 1、Gram(格朗姆)矩阵的定义
      • 2、Gram矩阵计算特征表示
      • 3、风格迁移中的Gram矩阵
    • (二)ood检测
    • (三)核心思路:扩展 Gram 矩阵以进行分布外检测
    • (四)研究成果
  • 二、模型细节
    • (一)符号定义
    • (二)Gram 矩阵和高阶 Gram 矩阵
    • (三)预处理
    • (四)计算分层偏差
    • (五)测试图像的总偏差
    • (六)阈值
    • (七)计算复杂度
    • (八)与 Mahalanobis 检测的关系
  • 三、实验
    • (一)实验配置
    • (二)实验结果
    • (三)消融实验
  • 四、局限性和未来的工作
    • (一)近分布异常值
    • (二)改进的 δl
    • (三)隐式置信度预测


一、文章概览

(一)Gram矩阵

1、Gram(格朗姆)矩阵的定义

n维欧式空间中任意k个向量之间两两的内积所组成的矩阵,称为这k个向量的格拉姆矩阵(Gram matrix)。它的行列式则称为Gram(格朗姆)行列式。
在这里插入图片描述
Gram矩阵是两两向量的内积组成,所以Gram矩阵可以反映出该组向量中各个向量之间的某种关系。

2、Gram矩阵计算特征表示

  • 输入图像的feature map为[ ch, h, w]。
  • 经过flatten(即是将h*w进行平铺成一维向量)和矩阵转置操作,可以变形为[ ch, h*w]和[ h*w, ch]的矩阵。
  • 再对两个作内积得到Gram Matrices。 (蓝色条表示每个通道flatten后特征点,最后得到 [ch *ch ]的G矩阵):

在这里插入图片描述
在feature map中,每一个数字都来自于一个特定滤波器在特定位置的卷积,因此每个数字就代表一个特征的强度,Gram矩阵中的元素表示了两两特征之间的相关性,哪两个特征是同时出现的,哪两个是此消彼长的等等,对角线上的元素就体现了每个特征在图像中出现的量。

3、风格迁移中的Gram矩阵

Gram矩阵实际上是矩阵的内积运算,在风格迁移算法中,其计算的是feature map之间的偏心协方差(即没有减去均值的协方差矩阵)。在feature map 包含着图像的特征,每个数字表示特征的强度,Gram矩阵代表着特征之间的相关性,因此,Gram矩阵可以用来表示图像的风格,要度量两个图像风格的差异,只需比较他们Gram Matrix的差异即可。

深度学习中经典的风格迁移大体流程是:

  • 准备基准图像和风格图像;
  • 使用深层网络分别提取基准图像(加白噪声)和风格图像的特征向量(或者说是特征图feature map);
  • 分别计算两个图像的特征向量的Gram矩阵,以两个图像的Gram矩阵的差异最小化为优化目标,不断调整基准图像,使风格不断接近目标风格图像。

(二)ood检测

ood:标记不包含训练分布中建模的任何类的测试示例。

之前旨在改进 OOD 检测的工作可以大致分为几个主题:

  • 贝叶斯神经网络
  • 使用带有 OOD 示例的任何预先训练的 softmax 深度神经网络
  • 替代训练策略
  • 生成模型

(三)核心思路:扩展 Gram 矩阵以进行分布外检测

通过联合考虑输出层分配的类和中间层的活动模式来识别分布外的示例。 例如,如果图像被预测为狗,但中间活动模式在某种程度上与网络在训练期间看到的其他狗图像的活动模式不同,那么这就是 OOD 示例的有力指标。这有效地使我们能够检测网络做出的预测与其到达该预测的路径之间的不一致。

使用Gram矩阵描述中间特征表示。 为了描述激活路径,我们需要描述中间特征表示,并且作为描述这些表示的代理,我们使用格拉姆矩阵,因为它们不仅描述各个通道的激活,还总结通道之间的成对相互作用。另外,通过简单地将每个值与其在训练数据上观察到的各自范围进行比较,就可以识别出 Gram 矩阵中的异常情况。

(四)研究成果

通过 Gram 矩阵表征活动模式并识别 Gram 矩阵值中的异常可以产生较高的 OOD 检测率。

这个方法的优势在于:

  • 通过简单地将每个值与其在训练数据上观察到的各自范围进行比较,就可以识别出 Gram 矩阵中的异常情况。
  • 可以与任何预先训练的 softmax 分类器一起使用,既不需要访问 OOD 数据来微调超参数,也不需要访问 OOD 数据来推断参数。
  • 我们凭经验证明了跨各种架构和视觉数据集的适用性,并且对于检测远不分布示例的重要且令人惊讶的艰巨任务,它通常表现优于或等于最先进的 OOD 检测方法(包括那些假设可以访问 OOD 示例)。

二、模型细节

一种不需要访问任何 OOD 示例、不引入需要调整的超参数并且跨架构工作的方法。

Gram 矩阵可用于计算成对特征相关性,并且通常在 DNN 中用于编码纹理和图案等风格属性(Gatys 等人,2016)。我们扩展这些矩阵,如下所述,然后使用它们来计算网络多层特征相关性的类条件边界。从预先训练的网络开始,我们仅在训练集上计算这些边界,然后在测试时使用它们来有效地区分分布内样本和分布外样本。与其他 SOTA 算法不同,我们不需要“查看”任何分布外的样本来调整任何参数;唯一需要调整的是归一化因子,我们使用(分布内)测试集的随机选择的验证分区来计算该因子。

(一)符号定义

考虑的深度卷积网络有 L L L 层,第 l l l 层有 n l n_l nl 个通道,考虑 ∑ 1 < = l < = L n l ∗ ( n l + 1 ) 2 \sum_{1<=l<=L}\frac{n_l ∗(n_l +1)}{2} 1<=l<=L2nl(nl+1) 对特征图之间的特征共现。

  • F l ( D ) F_l(D) Fl(D):输入图像D的第l层特征图,存储在维度为 n l × p l n_l × p_l nl×pl 的矩阵中,其中 n l n_l nl 是第 l l l 层的通道数, p l p_l pl(每个通道的像素数)是特征图的高度乘以宽度。
  • D c , f ( D ) D_c , f (D) Dc,f(D): 输入图像 D 的预测类别
  • T r Tr Tr:所有训练示例的集合
  • V a Va Va:所有验证示例的集合。随机选择训练中未使用的 10% 的示例作为验证示例。

所有测试示例的集合与平常一样与 Tr 和 Va 不相交。并且假设只有测试集可能包含分布外示例。

(二)Gram 矩阵和高阶 Gram 矩阵

计算第 l l l层活动的Gram 矩阵d:( F l F_l Fl是之前定义的 n l ​​ × p l n_l ​​× p_l nl​​×pl 矩阵。) G l = F l F l T G_l=F_lF_l^T Gl=FlFlT
计算具有更突出的特征图激活的高阶Gram 矩阵:
G l p = ( F l p F l p T ) 1 p G_l^p=(F_l^p{F_l^p}^T)^{\frac{1}{p}} Glp=(FlpFlpT)p1

(三)预处理

预处理计算特定于类别的相关性的最小值和最大值:
在这里插入图片描述

(四)计算分层偏差

给定 NS 特征相关性的特定于类的最小值和最大值,我们可以计算测试样本与训练时看到的图像相对于每一层的偏差。为了考虑值的范围,我们将偏差计算为相对于特征共现的最大值或最小值的百分比变化;观察到的相关值与训练期间观察到的最小和最大相关值的偏差可以计算为:
在这里插入图片描述
测试图像相对于给定层 l l l的偏差是相对于每个 Σ p ∈ P 1 2 n l ( n l + 1 ) Σ_{p∈P}\frac{1}{2}n_l(n_l + 1) ΣpP21nl(nl+1) 相关值的偏差总和:
在这里插入图片描述

(五)测试图像的总偏差

测试图像的总偏差通过取分层偏差的总和来计算。然而,层向偏差的规模随着每一层的变化而变化,具体取决于层中的通道数、每个通道的像素数以及层中包含的语义信息。因此,我们将偏差归一化。
在这里插入图片描述
此外,我们可以通过将上述项除以 MSP 来考虑最大 softmax 概率 (MSP)。在某些情况下,这会略微提高检测率。

(六)阈值

作为标准,用于区分分布外数据和分布内数据的阈值 τ 计算为测试数据总偏差的第 95 个百分位数 (Δ(D) )。换句话说,计算阈值使得95%的测试样例的偏差小于阈值τ;基于阈值的判别器为:
在这里插入图片描述

(七)计算复杂度

对于单个示例,提取上对角线元素需要 O ( Σ l n l ( n l + 1 ) 2 ) O( Σ_l \frac{n_l (n_l +1)}{2}) O(Σl2nl(nl+1)) 。因此,偏差的预处理和测试时间计算都是通道数量的二次方。为了减少计算时间并使其与通道数量呈线性关系,我们实际上可以基于行总和而不是单个元素来计算偏差。

(八)与 Mahalanobis 检测的关系

共同点:两种算法都根据类条件分层偏差计算总偏差:
在这里插入图片描述

区别:

  • Mahalanobis 算法使用通道均值作为分层激活 Fl 的描述,我们使用高阶 Gram 矩阵作为 Fl 的(更紧密耦合)描述。
  • 计算缩放值和分层偏差的方式不同。

三、实验

(一)实验配置

  • 模型:DenseNet 和 ResNet
  • 数据集:各种计算机视觉基准数据集(例如:CIFAR-10、CIFAR-100、SVHN、TinyImageNet、LSUN 和 iSUN)
    • 在 CIFAR-10、CIFAR-100 数据集上训练的 ResNet34 和 DenseNet3 模型,分布外数据集为:TinyImagenet、LSUN 、SVHN和 iSUN。
    • 在 SVHN 数据集上训练的 ResNet34 和 DenseNet3 模型,分布外数据集为:TinyImagenet、LSUN 、CIFAR-10 和 iSUN。
  • 指标:
    • TNR@95TPR:当真阳性率 (TPR) 高达 95% 时,正确识别 OOD(负)示例的概率
    • 检测精度:区分分布内和分布外示例时在所有可能阈值上的最大可能分类精度。如果为分布内示例分配较高分数,即为: m a x τ 0.5 P i n ( f ( x ) ≥ τ ) + 0.5 P o u t ( f ( x ) < τ ) max_τ {0.5P_{in}(f (x) ≥ τ ) + 0.5P_{out}(f (x) < τ )} maxτ0.5Pin(f(x)τ)+0.5Pout(f(x)<τ);如果为分布内示例分配较高分数,即为: m a x τ 0.5 P i n ( f ( x ) ≤ τ ) + 0.5 P o u t ( f ( x ) > τ ) max_τ {0.5P_{in}(f (x) ≤τ ) + 0.5P_{out}(f (x)> τ )} maxτ0.5Pin(f(x)τ)+0.5Pout(f(x)>τ)
    • AUROC:TPR 与 FPR 图下面积的度量。例如,对于那些为分布内示例分配较高分数的方法,这测量了 OOD 示例比分布内示例分配较低分数的概率。

(二)实验结果

表中显示了模型架构和训练数据集的所有组合的 OOD 检测性能比较。 ODIN 的超参数以及 Mahalanobis 的超参数和参数是使用 OOD 数据集的随机样本进行调整的。

  • 在总共 32 种组合中,作者所提出的方法在其中 22 种中优于之前的竞争方法, 7 场比赛达到标准杆,其中 3 场比赛取得第二高成绩。
  • 如果使用 FGSM 对抗性示例而不是真实的 OOD 示例对 Mahalanobis 和 ODIN 算法的超参数和/或参数进行微调,则它们的性能会下降。
    在这里插入图片描述

(三)消融实验

  • Q1 如果考虑严格对角元素或严格非对角元素而不是完整的Gram格拉姆矩阵会怎样?
  • Q2 如果偏差是根据平均值而不是极值计算的,会发生什么?
  • Q3 如果我们在聚合时不对分层偏差进行归一化,会发生什么情况?

为了回答Q1-Q3,作者进行了12个实验:Q1的3个选择×Q2的2个选择×Q3的2个选择。研究结果发现,虽然没有一条规则是不被例外打破的,但我们提出的组合——即使用完整的 Gram 矩阵、使用最小/最大度量以及使用归一化,通常比我们尝试过的任何其他组合都更稳健。

在回答 Q4 和 Q5 时,我们考虑通过回答 Q1-Q3 确定的最稳健的设置。

  • Q4 哪些层表示最有用?

    • 较低级别的表示在区分分布内和分布外数据集方面提供了更多信息。
    • Cifar-100 的高级表示和低级表示之间的检测能力差异比 Cifar-10 更大。
      在这里插入图片描述
  • Q5 哪些阶的 Gram 矩阵最有用?

    • 高阶 Gram 矩阵在区分分布内和分布外方面提供更多信息
    • 忽略阶数大于 4 时的变化,我们发现 TNR @ 95TPR 随着阶数的增加而增加,最终饱和。
      在这里插入图片描述

四、局限性和未来的工作

(一)近分布异常值

近分布异常值与远分布异常值的区分: 遵循 Hendrycks 等人的惯例,CIFAR10 与 CIFAR100 任务可以被视为近分布异常值,其余任务视为远分布异常值。然而,近分布异常值和远分布异常值们之间的区别并没有明确定义。 “Near-OOD”往往隐含地用来指代那些与训练集非常相似的示例,如果不了解分布内示例的结构,就不可能检测到它们。

研究现状:

  • 传统上,OOD 检测算法是通过考虑远分布离群值来评估的。并且,由于提出一种通用算法来检测这些远离分布的例子一直具有挑战性,促使早期的论文对远离分布的例子的来源做出假设。
  • 检测近分布异常值的任务比检测远分布异常值更具挑战性。

本文的方法也是在检测远分布分类器,并且与几乎所有其他当前远 OOD 检测器一样,它对于近 OOD 示例表现不佳。

(二)改进的 δl

高阶 Gram 矩阵估计与改进的 δl 估计相结合,将来可能有助于获得更好的结果。比如说均值偏差在某些特定情况下会有优势:对于ResNet和DenseNet结构,考虑偏离均值可将SVHN vs CIFAR-10任务的TNR@TPR95提高到94%。

(三)隐式置信度预测

softmax 预测(使用 OE 训练时)和分层偏差包含互斥的信息,此外,使用经过异常值暴露训练的网络的度量与使用经过交叉熵损失训练的网络获得的结果相当。鉴于使用内部特征表示可靠地检测 OOD 示例而不对数据源做出任何假设的可行性已被证明,未来一个自然的研究问题是训练程序和/或网络架构的修改是否可以隐式产生对异常更敏感的可靠置信度估计在中间特征表示中。

参考:
格拉姆矩阵(Gram matrix)详细解读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1572064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Google视觉机器人超级汇总:从RT、RT-2到AutoRT、SARA-RT、RT-Trajectory

前言 随着对视觉语言机器人研究的深入&#xff0c;发现Google的工作很值得深挖&#xff0c;比如RT-2 ​想到很多工作都是站在Google的肩上做产品和应用&#xff0c;​Google真是科技进步的核心推动力&#xff0c;做了大量大模型的基础设施&#xff0c;服 故有了本文&#xf…

【优选算法专栏】专题十六:BFS解决最短路问题---前言

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

Redis Desktop Manager可视化工具

可视化工具 Redis https://www.alipan.com/s/uHSbg14XmsL 提取码: 38cl 点击链接保存&#xff0c;或者复制本段内容&#xff0c;打开「阿里云盘」APP &#xff0c;无需下载极速在线查看&#xff0c;视频原画倍速播放。 官网下载&#xff08;不推荐&#xff09;&#xff1a;http…

mysql知识点梳理

mysql知识点梳理 一、InnoDB引擎中的索引策略&#xff0c;了解过吗&#xff1f;二、一条 sql 执行过长的时间&#xff0c;你如何优化&#xff0c;从哪些方面入手&#xff1f;三、索引有哪几种类型&#xff1f;四、SQL 约束有哪几种呢&#xff1f;五、drop、delete、truncate的区…

ES学习日记(八)-------ik安装和简易使用

一、下载和安装 https://github.com/infinilabs/analysis-ik.git 网络不好可以用这个地址,注意:ik版本要和es版本保持一致 现成地址 注意es用户操作或给es用户权限 plugins新建ik文件夹,并把压缩包解压到ik unzip elasticsearch-analysis-ik-7.4.2.zip /bin目录启动es: 二…

游戏攻略|基于Springboot和vue的游戏分享平台系统设计与实现(源码+数据库+文档)

游戏攻略分享平台目录 基于Springboot的在线考试管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台&#xff1a; 2、后台 5.2.1管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; …

练手项目层中阶2—《详解动态版本——通讯录管理系统》

文章目录 &#x1f3f3;‍&#x1f308;前言&#x1f50a;项目需求&#x1f4dd;项目知识点包含&#x1f9e9;项目框架&#x1f511;框架拆解分析&#x1f4da;Struct_Book1.h头文件分析&#x1f4da;Struct_Book1.c源文件分析&#x1f4da;test_book.c源文件分析 &#x1f3a5…

MySql并发事务问题

事务 事务概念&#xff1a; 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 事务的特性&#xff1a;ACID&#xff1a; 小…

【Leetcode每日一题】模拟 - 外观数列(难度⭐⭐)(51)

1. 题目解析 题目链接&#xff1a;38. 外观数列 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 所谓“外观数列”&#xff0c;其实只是依次统计字符串中连续且相同的字符的个数。依照题意&#xff0c;依次模拟即 可。…

java小项目(2)--求数组的和,平均数,大于平均数的值(第二遍)

题目&#xff1a; 代码&#xff1a; import java.util.Scanner; public class Nain{public static void main(String[] args){Scanner hhh new Scanner(System.in); //输入前的准备int n hhh.nextInt(); //输入nint[] value new int[n]; //创建数组并定义数组的大小S…

【yolov8】修改保存设置,SETTINGS

可以手动修改这个地方&#xff0c;也可以用代码来控制 from ultralytics.utils import SETTINGS print(SETTINGS["runs_dir"]) print(SETTINGS) update_params {runs_dir: runs} SETTINGS.update(update_params) print(SETTINGS)

【数学推理】蓝桥杯第十四届---阶乘的和

题目描述 给定 n 个数 &#xff0c;问能满足 m! 为 的因数的最大的 m 是多少。其中 m! 表示 m 的阶乘&#xff0c;即 1 2 3 m。 输入格式 输入的第一行包含一个整数 n 。 第二行包含 n 个整数&#xff0c;分别表示 Ai&#xff0c;相邻整数之间使用一个空格分隔。 输…

文献学习-28-Endora: 用于内镜仿真的视频生成模型

Endora : Video Generation Models as Endoscopy Simulators Authors: Chenxin Li, Hengyu Liu, Yifan Liu, Brandon Y. Feng, Wuyang Li, Xinyu Liu, Zhen Chen, Jing Shao, Yixuan Yuan Keywords: Medical Generative AI Video Generation Endoscopy Abstract 生成模型有…

Win安装SSH教程

在Windows操作系统上安装和配置SSH&#xff08;Secure Shell&#xff09;可以让你通过加密的方式远程连接和管理其他计算机或服务器。以下是安装和配置SSH的简单教程&#xff1a; 下载OpenSSH for Windows&#xff1a; 访问OpenSSH for Windows的官方网站&#xff08;https://g…

云备份day03

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;C云备份项目 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 主要内容介绍了第三方库httplib的一些内容&#xff0c;以及实现…

「 典型安全漏洞系列 」10.跨域资源共享CORS漏洞详解

跨域资源共享&#xff08;Cross-origin Resource Sharing&#xff0c;CORS&#xff09;是一种浏览器机制&#xff0c;可以对于给定域之外的资源进行受控访问。它扩展并增加了同源政策&#xff08;Same-origin Policy&#xff0c;SOP&#xff09;的灵活性。然而&#xff0c;如果…

蓝鲸6.1 CMDB 事件推送的开源替代方案

本文来自腾讯蓝鲸智云社区用户&#xff1a;木讷大叔爱运维 背景 在蓝鲸社区“社区问答”帖子中发现这么一个需求&#xff1a; 究其原因&#xff0c;我在《不是CMDB筑高墙&#xff0c;运维需要一定的开发能力&#xff01;》一文中已经介绍&#xff0c;在此我再简单重复下&#…

吴恩达机器学习笔记:第 6 周-11机器学习系统的设计(Machine Learning System Design)11.1-11.5

目录 第 6 周 11、 机器学习系统的设计(Machine Learning System Design)11.1 首先要做什么11.2 误差分析11.3 类偏斜的误差度量11.4 查准率和查全率之间的权衡11.5 机器学习的数据 第 6 周 11、 机器学习系统的设计(Machine Learning System Design) 11.1 首先要做什么 在接…

Docker简单介绍、特点、与虚拟机技术的区别、核心概念及在CentOS 7 中安装卸载Docker

目录 一、什么是Docker 二、特点 三、Docker与虚拟机技术的区别 四、Docker的核心概念 Docker仓库与仓库注册服务器的区别 五、CentOS7在线安装Docker 安装配置 卸载 一、什么是Docker Docker是一个开源的容器化平台&#xff0c;用于打包、部署和运行应用程序。它利用…

移动端适配方案总结之vw

1、vw/vh是什么&#xff1f; vw是&#xff1a;viewport width 视口宽度单位 vh是&#xff1a; viewport height 视口高度单位 实际开发中我们基本用vw&#xff1b; 2.相对视口的尺寸计算结果 1vw 1/100视口宽度 1vh 1/100视口高度 例如&#xff1a; 当前屏幕视口是 375像素…