百分点认知智能实验室出品:智能问答中的对抗攻击及防御策略
其中x为候选词,c为原错词,d为词表,为候选词的词频,为候选词与原错词的拼音相似度数,为对应的词表字典的权重。对所有候选词按照分值从大到小进行排序。取前N(这里取N为10)个,如果存在候选词与错词的编辑距离小于等于1,则优先返回这个候选词,否则返回所有候选词分值最高的词。 方法三:将测试样本中两个句子中的同音字或形近字相互替换。当句A中连续两个字的读音与句B中连续两个字的读音相同时,可以用B中的同音字替代A中同音字,构造句A',那么A'与B即可组成样本[A',B]。同理可以构造[A,B'],它们与[A,B]共同组成一组测试样本,用训练好的模型预测这组测试样本,预测结果只要存在一个正样本,即认为原测试样本为正样本。 通过上面的方式,对测试集进行纠错,预测结果的宏F1值有约2~3个百分点的提升。 5.3 Focal Loss 在给出的训练集中,正负样本比例较不平衡,适合采用Focal Loss作为损失函数。Focal Loss公式如下: ![]() 通过设定α的值来控制正负样本对总的loss的共享权重,α取比较小的值来降低多的那类样本的权重,通过设置γ来减少易分类样本的权重,从而使得模型在训练时更专注于难分类的样本。 实验表明,使用Focal Loss相比于不使用FocalLoss作为损失函数,验证集预测结果的宏F1值有约0.5个百分点的提升。 5.4 Fast Gradient Method 对抗训练采用的是Fast Gradient Method(FGM),其目的是提高模型对小的扰动的鲁棒性,扰动添加在bert模型的字向量上。对于分类问题,具体做法就是添加一个对抗损失: ![]() 上式表达的意思即,对样本x加入的扰动radv是可以使得预测为分类y的损失最大,radv的定义如下: ![]() 在具体训练时采取的损失,是原始损失与对抗损失的组合。实验表明,使用FGM训练的模型和没有使用的模型相比,验证集的宏F1值能有约0.5~1个百分点的提升。 5.5 各种方法的效果 总结上面提到的几种方法,在该任务上的效果如下表: 方法 效果 数据增强 ↑ 1.5%~2% 智能纠错 ↑ 2%~3% Focal Loss ↑ 0.5% Fast Gradient Method ↑ 0.5%~1% (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |