介绍
we propose an OODresistant Prototypical Network to tackle this zero-shot OOD detection and few-shot ID classification task.
设计一种OOD-限制的原型网络去解决0样本OOD检测和少样本ID数据分类任务。
相关知识
OOD检测
阐述了OOD检测的俩种思路,1.将OODtask定义为一个类目的分类问题,后使用SVM或者深度模型去解决 2提出基于auto-encoder方法解决。也有人同时使用ID分类和OOD检测,但没有运用在少数据的环境下,这也是本文的一大亮点。
少样本学习
少样本学习可以同时满足OOD检测和ID分类任务。目前在cv领域使用的少样本学习的方法包括:1.使用度量标注学习,具体指在输入样本间构建好的相似度度量标准;2.合理使用元学习框架,并使用梯度下降法,运用在新的数据上,去解决ood问题。
也有一些方法可以运用去解决nlp问题,包括文本分类、关系抽取等。
方法
模型
核心就是:
1.模型框架基于原型网络
2.encoder方式采用一般的cnn或者lstm即可
3.三组重要的数据包括s集、Xin、Xout分别对应support集合、训练输入集合、ood集合,后使用encoder解析成向量,在构建一个合理的LOSS 进行反向传播。
框架
具体可见原论文,这里主要分成以上7步。
粗略的表述就是:先构建训练样本、ood样本,通过encoder方式将样本转化成向量,再构建合理的损失函数,进行训练,达到ood检测和ID分类任务。
损失函数
以上公式1是标准原型网络的损失函数,可以用来实现ID分类任务,但无法解决ood 检测,所以考虑加入公式2的荷叶损失函数,但加入Lood后,会让模型更关注ood数据,而忽略ID,所以加入了Lgt损失,构成了最终四式的损失函数
训练数据和试验
主要采用Amazon Review和Conversation Dataset训练数据,考虑ood和Low-Resource情况,模型效果。
对比四个基础模型,paper中的这个思路在2个测试集上的指标效果都有提升。
结论
本篇基于原型网络思想,加上一些参数,实现模型可以同时解决ood问题和ID分类问题,更重要的是训练数据都特别稀少,同时效果仍然可观,妙!
可以借鉴的点:
1.OOD问题在已有模型(原型网路)上是如何加入的
2.OOD和ID分类问题可以同时解决的新思路
链接
https://github.com/SLAD-ml/few-shot-ood