OOD现象和OOD检测在分类任务中已经被广泛研究:
在conditional language model(CLM)任务(主要是summarization,translation)中,而由于language generation主要是通过auto-regressive的方式,错误更容易积累,因此OOD问题可能更严重。
本文的主要贡献:
如果直接套用classification任务中使用MSP作为OOD score的话,那么对于NLG问题我们就应该采用perplexity(ppx),然而作者实验发现使用ppx的效果很不好:
从上图可以看到,不用domain来源的数据,其ppx的分布重叠程度很高;甚至有些明明是OOD的数据,但其综合的ppx比ID的数据还要低。因此ppx对ID vs OOD的区分能力很差。
如何使用CLM自身的embedding来得到OOD score?
直觉上讲,当一个样本的输入/输出的embedding跟我训练样本的embedding分布距离很远的话,就很可能是OOD样本。
因此,可以先用训练数据集,对输入和输出空间拟合一个embedding的高斯分布:
然后,就可以使用马氏距离(Mahalanobis distance,MD)来衡量新来的embedding跟训练集embedding的距离:
马氏距离是基于样本分布的一种距离。物理意义就是在规范化的主成分空间中的欧氏距离。(维基百科)
然而,已有一些研究表明,使用相对马氏距离(即增加一个background distribution来作为一个参照),可以更好地进行OOD检测。于是对上述公式改进为:
其中MD_0(z_{test})是衡量test input跟一个background高斯分布的距离,这个background分布,是使用一个通用语料拟合出来的,比方使用C4语料库。
而对于CLM这种需要成对语料的任务,通用语料中一般是没有的,所以使用通用文本通过CLM decode出来的 outputs来拟合分布:
这样一来,RMD scores实际上可能为正也可能为负:
因此,RMD score可以直接作为OOD detection的指标。
上面是一种无监督的办法,作者还提出了一种有监督的办法,使用training samples和general samples作为两个类别的数据,使用embedding作为feature来训练一个logistic regressive model,使用background类的logits作为OOD score:
以summarization为例,实验所用数据为:
实验结论:
当检测到OOD时,一个最保守的做法就是直接拒绝给出输出,从而避免潜在的风险。但是,我们依然希望当模型的输出质量足够高时,即使是OOD也能输出。
当有参考答案时,如何衡量输出文本的质量?
能否找到一个指标,不需要参考答案也能衡量文本质量?
实验发现,对于in-domain数据,ppx跟质量有比较好的相关性,但是对于OOD数据,相关性很差。
但是OOD score可以跟ppx互相补充,从而形成一个比较好的对应指标:
单独只考察ppx或者RMD OOD score的话,难以区分质量的高低,但是同时考察二者,就有较高的区分度。究其原因,作者这么解释:
因此二者是互补的关系。
那么二者如何结合呢:
可以看出,这种二者结合的方法,比各种只用单个指标的baselines都能更好地反映生成的质量。
在selective generation阶段,设定一个遗弃比例\alpha,然后把quality score最低的那部分丢弃。
Key takeaways:
写作不易 如果觉得有所收获的话
大家就点一个赞吧 :)
2022年的第14/52篇原创笔记 和我一起挖掘有趣的AI研究吧!