捷比信高精密电阻EE / RX / RJ 电阻产品与技术资料联系业务人员

研究语言模型和对抗训练

论文:AdversarialTrainingforLargeNeuralLangUageModels源代码:https://github.com/namisan/mt-dnnTL;DR本文使用了对抗训练的预训练和微调阶段。对抗训练的方法旨在通过最大化损失和最小化对抗与模型损失对峙来嵌入空间,并在下游任务上取得一致的效果改善。有趣的是,这种对抗训练方法不仅可以在BERT上进行改进,而且可以在RoBERTa的预训练模型上进行改进,这表明对抗训练确实可以帮助模型纠正容易出错的点。方法:ALUM(大型神经语言模型的高级训练)实施:在嵌入空间中添加干扰,以最大程度地提高抵抗力的损失。应用:预训练或微调任何基于Transformer的语言模型的预知识。 BPE编码为了解决词汇以外的单词问题,请使用字节对编码(BPE)(Sennrichetal。,2015年)或其变体(Kudo和Richardson,2018年)将标签划分为子单词单元,以生成一个固定大小的子单词词汇表,用于紧凑地表示训练文本语料库中的单词。 BPE词汇表同时具有字符级字符和单词级单词。通过BPE获得了更合适的词汇。该词汇表可能会显示一些不是单词的组合,但这本身就是一种有意义的形式。处理:确定子词词汇的大小并计算每个连续字节对的出现频率,并将其保存为code_file。这是git中Learn-bpe的完成,它可以将单词拆分为一系列字符,并在其后添加后缀“”。最后,然后根据code_file合并新的子字,并首先合并频率最高的字节对。例如,生日这个词分为[' b',' i',' r',' t& #39;,',' d',' y'],检查code_file并找到' th'出现次数最多,然后合并为[&#39' i',' r',th&#39 ;,',' a& #39;' y'],最后,将字符序列合并到[' birth',' day']中。然后删除''成为[' birth',' day'],然后将这两个单词添加到词汇表中。这是通过apply-bpe完成的。重复第3步,直到达到第2步中设置的子词词汇量或出现频率为1的下一个最高频率字节对。型号:ALUM基于几个关键思想:干扰嵌入空间比直接将其应用到输入文字打扰。通过虚拟对抗训练将正规化项目添加到标准目标中。其中,由于最大化操作,预训练阶段和微调阶段是昂贵的。这有利于标签在嵌入邻域中的平滑。文章中的观点:虚拟对抗训练比传统对抗训练更好,尤其是在标签可能嘈杂的情况下。例如,BERTpretraining使用掩码字词作为自我监督的标签,但是在许多情况下,可以将它们替换为其他字词以形成完全合法的文本。但是在BERT中,替换单词的标签全都是负数。该算法首先使用标准目标(1)训练模型;然后使用虚拟对抗训练(3)继续训练。第4-6条线寻求最大梯度步长,以找到使对抗损失最大化的干扰(反局部平滑度)。 K越大,近似值越高,但是成本越高。为了在速度和性能之间取得良好的平衡,本文对K = 1进行了实验。通用性和鲁棒性文章指出,通过使用ALUM进行对抗性预训练,可以改善各种NLP任务的通用性和鲁棒性(如稍后所述的实验结论所示)。先前的许多研究发现,对抗训练会削弱泛化能力。先前关于泛化和鲁棒性之间的冲突的工作通常集中在有监督的学习环境上。调和两者的一些初步结果也使用了未标记的数据,例如自我训练(Raghunathan等人,2020年)。另外,假定嵌入空间而不是输入空间受到干扰,则NLP中的对抗训练可能会不经意地偏向流形扰动而不是规则性扰动。流形学习的观点是什么:我们观察到的数据实际上是从低维流形映射到高维空间的。由于数据内部特性的限制,某些高维数据将具有维冗余。实际上,只要t