Adversarial Training Methods For Semi-Supervised Text Classification 虚拟对抗训练思路指引

       模型搞到这时候,就是要以不断提升泛化力和鲁棒性,当今两个主流的方法是(1)知识蒸馏;(2)对抗学习

本节主要说对抗训练,它是一种能够有效提高模型鲁棒性和泛化能力的训练手段,基本原理:在原始输入上增加对抗扰动,得到对抗样本,再利用对抗样本进行训练,从而提高模型表现。

在自然语言处理中,这个任务处理的就是离散数据,所以一般会把对抗扰动添加到嵌入层中,为了最大化对抗样本的扰动能力,使用梯度上升方式生成对抗样本。

可以看2017年的论文《Adversarial Training Methods For Semi-Supervised Text Classification》,虽然这篇文章不是那么新,但这个思路可以作为当今训练的一个手段,提升你模型2-3%也是不错的。

列出一些资料供大家学习参考:

paper:   https://arxiv.org/abs/1605.07725

1.https://tobiaslee.top/2017/10/16/Adversarial-Training-Methods-For-Semi-Supervised-Text-Classification-%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/

2.源码参考:https://github.com/tensorflow/models/blob/master/research/adversarial_text/data/document_generators.py

posted @ 2020-03-03 17:17  今夜无风  阅读(1187)  评论(0编辑  收藏  举报