小样本语言理解任务的新突破
研究背景
像Alexa这样的语音助手在接收新指令时,首先需要对其意图进行分类——比如播放音乐、获取天气信息、控制智能家居设备等。随着新技能的开发和旧技能的扩展,需要不断添加新的意图分类。由于新意图通常对应新设想的用例,训练数据往往很稀疏。在这种情况下,能够利用现有的意图分类能力,仅通过少量样本(如5个或10个)学习新意图将非常有用。
研究方法
原型网络(ProtoNets)
原型网络用于元学习,即学习如何学习。通过原型网络,机器学习模型被训练来嵌入输入,或将输入表示为高维空间中的点。训练的目标是学习一种嵌入,能够最大化不同类别实例点之间的距离,同时最小化同类实例点之间的距离。
原型网络通过批次进行训练,每个批次包含多个不同类别的实例。在每个批次处理后,使用随机梯度下降调整模型参数以优化嵌入之间的距离。这种方法不需要每个批次都包含模型将看到的所有类别实例,使得原型网络在类别数量和每个类别的实例数量方面都非常灵活。
数据增强(ProtoDA)
我们在基本流程中增加了数据增强,以实现原型之间更好的分离(因此我们的模型命名为ProtoDA)。在小样本学习过程中,每个新类别的嵌入样本会传递给基于神经网络的生成器,该生成器会产生额外的嵌入样本,并标记为与输入样本属于相同类别。
我们使用与训练原型网络相同的损失函数来训练样本生成器。也就是说,生成器学习生成新样本,当这些新样本与真实样本结合时,能够最大化不同类别实例之间的分离,并最小化同类实例之间的分离。
实验设计
在实验中,我们将样本生成器放置在网络中的两个不同位置:
- 在语义编码器和原型网络之间:句子编码器输出768维的语义嵌入
- 在原型网络和分类层之间:原型网络输出128维的类别嵌入
实验结果
- 在没有数据增强的情况下,原型网络在5样本和10样本场景下的F1分数分别比传统迁移学习方法高出约1%和5%
- 添加神经数据增强后,相比使用标准噪声添加数据增强的原型网络,我们的模型在5样本情况下减少了8.4%的F1错误,在10样本情况下减少了12.4%的F1错误
- 最佳性能出现在生成器接收原型网络产生的嵌入作为输入时
技术优势
我们相信,原型网络空间的较低维度(128个特征而非768个特征)以及接近训练目标函数(原型网络损失)的位置有助于提高性能差异。这种方法为小样本学习在意图分类任务中的应用提供了有效解决方案。
应用价值
这项研究对于语音助手等需要不断适应新意图的应用具有重要意义,使得系统能够从极少的样本中快速学习新的语言理解任务,大大提高了系统的适应性和扩展性。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码
