0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用CLM自身的embedding来得到OOD score?

深度学习自然语言处理 来源:SimpleAI 作者:郭必扬 2022-12-05 10:12 次阅读

背景

OOD现象和OOD检测在分类任务中已经被广泛研究:

OOD score:maximum softmax probability(MSP),K个类别中最大的概率来作为衡量OOD的指标

selective classification:对于OOD score太低的输入,模型拒绝输出

在conditional language model(CLM)任务(主要是summarization,translation)中,而由于language generation主要是通过auto-regressive的方式,错误更容易积累,因此OOD问题可能更严重。

本文的主要贡献:

提出一中轻量的、准确的基于CLM的embedding的OOD检测方法

发现perplexity(ppx)不适合作为OOD检测和文本生成质量评估的指标

提出了一套用于OOD检测和selective generation的评测框架

CLM中的OOD detection

如果直接套用classification任务中使用MSP作为OOD score的话,那么对于NLG问题我们就应该采用perplexity(ppx),然而作者实验发现使用ppx的效果很不好:

14e26546-73b4-11ed-8abf-dac502259ad0.jpg

从上图可以看到,不用domain来源的数据,其ppx的分布重叠程度很高;甚至有些明明是OOD的数据,但其综合的ppx比ID的数据还要低。因此ppx对ID vs OOD的区分能力很差。

如何使用CLM自身的embedding来得到OOD score?

15036304-73b4-11ed-8abf-dac502259ad0.jpg

input embedding: encoder最后一层所有hidden states平均

output embedding: decoder最后一层所有hidden states平均(ground truth对应的位置)

151ae920-73b4-11ed-8abf-dac502259ad0.png

1. 使用两个分布的距离来判断——RMD score

直觉上讲,当一个样本的输入/输出的embedding跟我训练样本的embedding分布距离很远的话,就很可能是OOD样本。

因此,可以先用训练数据集,对输入和输出空间拟合一个embedding的高斯分布:

input embedding distribution:

output embedding distribution:

然后,就可以使用马氏距离(Mahalanobis distance,MD)来衡量新来的embedding跟训练集embedding的距离:

马氏距离是基于样本分布的一种距离。物理意义就是在规范化的主成分空间中的欧氏距离。(维基百科)

1535180e-73b4-11ed-8abf-dac502259ad0.jpg

然而,已有一些研究表明,使用相对马氏距离(即增加一个background distribution来作为一个参照),可以更好地进行OOD检测。于是对上述公式改进为:

155ad0d0-73b4-11ed-8abf-dac502259ad0.jpg

其中是衡量test input跟一个background高斯分布的距离,这个background分布,是使用一个通用语料拟合出来的,比方使用C4语料库

而对于CLM这种需要成对语料的任务,通用语料中一般是没有的,所以使用通用文本通过CLM decode出来的 outputs来拟合分布:

1574380e-73b4-11ed-8abf-dac502259ad0.png

这样一来,RMD scores实际上可能为正也可能为负:

当RMD score < 0 时,说明 test example跟training distribution更接近

当RMD score > 0 时,说明 test example跟background更接近,因此更有可能是OOD的

因此,RMD score可以直接作为OOD detection的指标

2. 基于embedding训练一个detector

上面是一种无监督的办法,作者还提出了一种有监督的办法,使用training samples和general samples作为两个类别的数据,使用embedding作为feature来训练一个logistic regressive model,使用background类的logits作为OOD score:

Input Binary logits OOD score

Output Binary logits OOD score

3. OOD detection实验

以summarization为例,实验所用数据为:

In-domain:10000条 xsum 样本

General samples:10000条 C4 样本

OOD datasets:near-OOD数据集(cnn dailymail,newsroom)和far-OOD数据集(reddit tifu,forumsum,samsum)

OOD detection衡量指标:area under the ROC curve (AUROC)

159cb46e-73b4-11ed-8abf-dac502259ad0.jpg

实验结论:

本文提出的RMD和Binary classifier都比baseline有更好的OOD检测能力

能更好地对near-OOD这种hard cases进行检测

15c68082-73b4-11ed-8abf-dac502259ad0.jpg

Selective Generation

当检测到OOD时,一个最保守的做法就是直接拒绝给出输出,从而避免潜在的风险。但是,我们依然希望当模型的输出质量足够高时,即使是OOD也能输出。

当有参考答案时,如何衡量输出文本的质量?

对于translation问题,使用BLEURT作为衡量指标;

对于summarization,常见是使用ROUGE score,但由于不同数据集的摘要模式差别很大,所以只使用ROUGE还不够,作者使用亚马逊众筹平台来对一批数据进行人工质量打标。

能否找到一个指标,不需要参考答案也能衡量文本质量?

实验发现,对于in-domain数据,ppx跟质量有比较好的相关性,但是对于OOD数据,相关性很差。

15e4d44c-73b4-11ed-8abf-dac502259ad0.jpg

但是OOD score可以跟ppx互相补充,从而形成一个比较好的对应指标:

15fe93c8-73b4-11ed-8abf-dac502259ad0.jpg

单独只考察ppx或者RMD OOD score的话,难以区分质量的高低,但是同时考察二者,就有较高的区分度。究其原因,作者这么解释:

ppx反映的是由于内部噪音/模糊造成的的不确定性

RMD score反映的是由于缺乏训练数据所造成的不确定性

因此二者是互补的关系。

那么二者如何结合呢:

训练一个linear regression

或者直接使用二者的某种“和”:,其中PR代表percentile ranks

1622261c-73b4-11ed-8abf-dac502259ad0.jpg

可以看出,这种二者结合的方法,比各种只用单个指标的baselines都能更好地反映生成的质量。

在selective generation阶段,设定一个遗弃比例,然后把quality score最低的那部分丢弃。

Key takeaways:

在生成模型中,ppx无论是作为OOD detection还是quality evaluation都是不太好的选择

基于模型的extracted feature来做OOD detection更好,文中的RMD score就是一个例子。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • msp
    msp
    +关注

    关注

    0

    文章

    153

    浏览量

    35267

原文标题:CMU&Google提出:条件语言模型中的OOD检测与选择性生成

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    发电机失磁对发电机自身的影响有哪些

    发电机失磁是指发电机转子磁场的消失或减弱,导致发电机无法正常工作。失磁现象对发电机自身的影响是多方面的,包括对发电机本身、电力系统以及设备安全等方面的影响。 1. 对发电机自身的影响 1.1 转子
    的头像 发表于 09-26 18:14 920次阅读

    怎么才能得到LM3886的输出阻抗?

    等于P=U*U*I?,然后减去LM3886的输出阻抗所产生的功率损耗P0, 得到的“P1=P-P0“是不是就是提供给负载的功率了? 3、怎么才能精确计算出LM3886自身的功率损耗?(已知输出电流I和供电电压±U) 4、怎么才能得到
    发表于 08-22 07:25

    MAX31855测温不准,冷端温度受自身发热影响

    补偿,最后出来的才是SPI的温度读数,但是在实测时,发现芯片自身发热比较大,冷端温度能去到40-50℃,热电偶温度读数比实际温度高了好几度,这个差异是不是因为冷端温度偏高导致的?温度偏高的问题要怎么解决?下边放个测试数据图表,T1-t是热电偶温度,T1-j是冷端温度
    发表于 08-07 11:23

    INA237的内部I2C是否支持timeout将自身reset?

    想请问下论坛大佬,最近在设计中会用到INA237,且设计中有可能存在I2C总线死锁的情况,想请问下INA237是否有timeout机制,超时后主动将自身reset,恢复总线的功能;
    发表于 07-29 08:02

    CYW4373E的两个clm_blob文件有何不同?

    \"cypress-firmware-v5.10.9-2022_0511.tar.gz\" zip 中有两个不同的 clm_blob 文件,用于 CYW4373E 芯片组
    发表于 05-31 15:32

    无法将blob文件下载到evb,为什么?

    无线网络 :murata 1LV M.2 主要消息息 命令控制台 函数 whd_download_wifi_clm_image 在第 66 行失败 checkres = 33556433 函数
    发表于 05-27 08:17

    请问CYW4373是否支持Wi-Fi Enhanced Open (OWE)?

    请问 CYW4373(村田 2AE 模块)是否支持 Wi-Fi Enhanced Open (OWE)? 操作与 STA 相同。 固件和 CLM 如下: WLAN 固件 : wl0: Aug 1
    发表于 05-20 06:37

    一种多重汗液传感贴片,实现精准的汗液分析

    无需刺破手指,只要贴一枚轻薄的汗液传感贴片,就可以轻松监测血液中的葡萄糖水平。这种全新的血糖监测模式,或将在不久的将来得到应用。
    的头像 发表于 05-07 16:40 740次阅读
    一种多重汗液传感贴片,实现精准的汗液分析

    如何用ST32自身的cAN接口接收程序给自已升级呢?

    如何用ST32自身的cAN接口接收程序给自已升级?
    发表于 04-07 06:16

    基于掩码模型的LiDAR感知模型预训练策略

    对于每个被掩码的网格,计算此网格中的点云数量,并通过将点云数量除以其在3D空间中的占用体积来得到对应的密度真值。
    发表于 04-06 04:33 603次阅读
    基于掩码模型的LiDAR感知模型预训练策略

    如何实现SysTick中断的嵌套自身

    当前 MSR XPSR,R7 MOV PC, R6 ;BXLR ENDP END 我想通过SysTick的嵌套自身,实现任务的抢占式调度,请问有人知道要怎么弄吗? 上面的汇编是我直接伪造返回现场让
    发表于 03-25 06:20

    stm32外部中断存在自身内部的消抖吗?

    请问stm32外部中断存在自身内部的消抖吗? 若存在请问如何配置
    发表于 03-11 06:15

    云天半导体突破2.5D高密度玻璃中介层技术

    随着人工智能的兴起,2.5D中介层转接板作为先进封装集成的关键技术,近年来得到迅猛发展。
    的头像 发表于 03-06 09:44 1331次阅读
    云天半导体突破2.5D高密度玻璃中介层技术

    电感上的电流大小,与自身电压随时间变化率成正比吗

    电感是一种储存和释放电能的元件,在电磁学和电路中起着重要的作用。电感的电流大小与自身电压的变化率之间存在一定的关系,但并不是简单的正比关系。本文中将详细讨论电感上的电流大小与自身电压随时间变化率
    的头像 发表于 02-27 10:16 1943次阅读

    深度解析大语言模型的位置编码及其外推性

    我们先来回顾一下绝对位置编码的问题。绝对位置编码通过可学习的 Positional Embedding 来编码位置信息,这种方案直接对不同的位置随机初始化一个 postion embedding,然后与 word embedding
    发表于 01-16 11:37 838次阅读
    深度解析大语言模型的位置编码及其外推性