2021SC@SDUSC 项目名称:文本分类半监督学习问题 问题描述: 输入少量具有类别标记Yl={y1l,y2l,…,yml}的文本集合Xl={x1l,x2l,…,xml},以及大量无标记文本Xu={x1u,x2u,…,xnu}。训练半监督文本分类模型。预测输出对于无标记文本集合Xtest的类别标记Ytest。 评价指标:预测结果的准确率。 ? ? 任务:使用如下解决半监督文本分类问题的已开源模型,在给定 IMDB、 AG-news、DBpedia、中文专业主观题数据集上进行训练和测试。
PDF:https://arxiv.org/pdf/1810.04805.pdf。技术:基于transformer的预训练语言模型,直接对标记样本进行监督训练。 文档Link:BERT — transformers 4.11.1 documentation
https://proceedings.neurips.cc/paper/2020/file/44feb0096faa8326192570788b38c1d1-Paper.pdf。技术: 运用回译等技术,对无标记数据进行数据增强,进行一致性训练,对有标记数据进行监督训练。平衡有监督和无监督信号的 TSA 技术;基于熵最小化的锐化技术;无标签数据的二次筛选。 https://github.com/SanghunYun/UDA_pytorch
MixText: Linguistically-Informed Interpolation of Hidden Space for Semi-Supervised Text Classification (aclanthology.org)。技术:Tmix:使用BERT将文本映射到隐空间之后,再使用 MixUp 的方式,进行数据增强。通过回译获得无标记样本的增强样本后使用熵最小化和锐化技术获取标签用于训练。https://github.com/GT-SALT/MixText 我们通过小组会议经过讨论首先确定了小组成员对项目的具体分工和合作方案,具体如下: 吴泽昊(组长):使用Bert对文本进行投射,运用文本隐藏插值方法对数据进行增强,加权平均的方法以及锐化技术进行标签预测,插值正则技术,一致性损失,了解TMix 模型,TMix中不同的混合层组测试。 刘敬炜: tf-idf数据增强方法 ,kl散度损失函数 ,在有标签的数据集上进行训练(防止过拟合)防止过拟合的TSA技术,锐化预测(Confidence-based masking)。 熊静飞:回译数据增强方法 ,交叉熵损失函数,使用经过训练的模型来预测无标签数据的标签创造伪标签结合出新的训练数据,锐化预测(Softmax temperature controlling)。 张致晏:运用Mixup方法对数据进行增强,熵最小化进行标签预测,监督损失,了解Mixtext模型,模型的结果分析,移除MixText不同部分。 ? 第一周先各自为电脑搭建需要的相关环境,本人基于win10搭建pytorch及其相关环境。 首先第一步应该是anaconda的安装搭建,由于之前搭建Python环境已安装,不做赘述,直接使用。 ? 打开cmd输入conda回车出现以上情况说明anaconda安装成功。 接下来是CUDA和cuDNN的安装搭建: 首先在NVIDIA控制面板中查看自己配置是GeForce GTX 1650,在CUDA和cuDNN官网可以找到每个配置所对应的版本号,根据自己的情况下载,我对应的版本是CUDA11.2。(注意:先装CUDA再装cuDNN)根据CUDA的版本可以找到对应的CuDNN版本并下载。 ? 官网下载相对应的CUDA: (https://developer.nvidia.com/cuda-toolkit-archive) 在cmd中输入nvcc -V查看是否出现以下信息,出现表示成功。 ? cuDNN下载:https://developer.nvidia.com/rdp/cudnn-download 下载cuDNN需要登录注册,下载完之后将里面的文件复制粘贴到CUDA安装的目录中,重复的部分替换,打开cmd输入以下内容: 出现了Result = PASS 说明cuDNN安装成功。 接下来配置pytorch环境:这部分比较常规,不做赘述。 验证pytorch是否安装完成就在pycharm里先install pytorch这个pkg再看代码里import torch是否报错就可以。 ? |