SACL-LSTM论文阅读笔记
论文中心思想
这篇论文是研究ERC任务的论文,发表在2023年ACL上。作者利用对比学习和对抗训练策略来完成ERC任务,采用LSTM作为基础模型,在基础模型上使用对抗训练的方法和对比学习的方法来改进ERC任务效果,是当时第一个将对抗训练引入ERC任务的工作,该项工作基于文本模态,在常用的数据集MELD、iemocap、emoryNLP上取得了SOTA的效果。
模型架构
模型以双向LSTM作为基础模型,架构如图:
前面一个LSTM网络是对原始数据进行的表示学习,后面一个是对对抗样本进行表示学习,模型采用考虑样本分布均衡的FocalLoss与软监督对比损失函数的加权和作为损失函数。
主要创新点
第一次将对抗训练引入ERC任务;
区别于标准的对抗训练将扰动添加在上下文无关层,作者提出的方法将扰动添加在考虑了上下文的嵌入层,并且以多通道的形式添加(具体来说,这里指的是在LSTM网络的多个位置都加入扰动)
代码复现
环境配置:
安装环境的时候一直报错,要先把pytorch装上,再执行pip install -r re...
python: 3.7.16
CUDA:11.8
pytorch: 1.12.1+cu116
这里我是在网上租的GPU,所以它自带的cuda是11.8,然后按照作者的readme文件,在创建了虚拟环境并激活后需要先装上pytorch,然后再安装requirements.txt文件(我直接装requirements.txt一直报错)
之后把需要的数据下载下来,就可以直接debug等等了,(数据这里我直接下载的COSMIC处理好的文件)
然后debug论文的时候别的地方还算是比较好理解,就是有一个地方我还是不太清楚,如下图,下面这一段代码是model.py文件里面对说话者信息上下文表示进行学习的代码,里面嵌套了循环比较难以理解,我大致明白它是利用说话者所说的话语信息来学习说话人的表示,但还是不是很理解(这里如果有大佬路过知道的话,望能不吝赐教,感谢~)
其他
笔记都是本人的个人意见和想法,仅供参考,如果您有任何建议也非常欢迎留言指出~
2024-10-26
的的