2021 全球人工智能技术创新大赛 医学影像报告异常检测 TOP4方案

1 写在前面

 在本次全球人工智能技术创新大赛赛道一的比赛中,我们团队水煮毛血旺以初赛第三,复赛第四的成绩进入了决赛,最终决赛排名第四。本文主要想记录一下这次比赛的方案以及分享参赛的经验

2 赛题介绍

 赛题链接:https://tianchi.aliyun.com/competition/entrance/531852/introduction

 本赛题目标是要从脱敏的医学ct描述中,提取文本中的异常区域和异常类型,简单来说就是文本的分类问题,只不过这个分类的类别有两种,一种是异常区域,另一种是异常类型,并且每种异常的都可以同时具有多个不同的异常。所以这就可以看做一个多个任务,多个标签的文本分类问题。

3 赛题难点

 本赛题的难点主要在于文本脱敏,一般来说现在nlp的竞赛都是直接bert一把梭,但是这里就失效了。而另一大难点则是多任务,多标签,虽然也有将多标签转化为二分类,多任务转化为多模型的简单处理方式,但是效果怎么样确实还有待商榷。
 另外,我们也从标签之间挖掘了一些信息,发现初赛的时候,挖掘标签关联信息提升是有的,但是到了复赛提升微乎其微。

标签关联性

这是标签关联矩阵的图,可以看到任务二的蓝色部分还是挺多的,说明在复赛阶段加入的任务二,任务关联性并不是很大。这也导致了分模型训练的效果一般来说是优于多任务学习的。

4 模型方案

4.1 传统深度神经网络

 这部分相对很简单,网上有很多开源的文本分类模型,拿过来套一下,把输出改成多任务多标签就可以直接使用。前期我们也是利用这个方案,在初赛一直保持前排。这部分我主要想分享一下自己的上分经历。

 在这个阶段,我尝试了各种不同的nn网络,确实有一些网络的基础分不够高,比如rnn。而有一些模型直接跑随机设置参数都能够有很好的效果,比如rcnn和dpcnn。但是在加入更多的操作以后,反而rnn上分是最多的,比如这个题目中,我把dropout从0.1加到0.5,还有把batch_size从128设为了16,rnn有近一个百分点的提升,而其他网络的提升则是非常小。

 除此以外,周周星的分享我也说了一部分,https://github.com/nsytsqdtn/tianchi-gaic-track1 。令我比较诧异的是,大多数人都说预训练的词向量没有提升,但在我这里提升确实比较大,另外,关于预训练词向量的训练轮数,有一些人可能设的很大,导致过拟合,因为数据确实比较少。而我始终都是采用的默认训练5轮。

4.2 seq2seq多标签学习

 对于传统方法来解决多标签学习,只能将多标签转化为多个二分类来进行,从而无法考虑标签之间的关联性,所以我们团队的lollipop97采用了seq2seq的多标签模型来挖掘多个标签之间的关联性。值得一提的是,这套模型在精细调参之前效果十分差,但是在经过调参以后,提升也是十分巨大,直接超过了上面的所有传统文本分类模型。也是我们初赛的时候单模最高的模型,甚至超过了我们复赛的主要模型BERT。

 这是seq2seq的一个整体架构:

在这里插入图片描述

具体代码见lollipop97的github:https://github.com/lollipop97/2021-GAIIC-phase1-seq2seq

4.3 预训练模型

 对于脱敏文本,直接使用预训练肯定是不行了,所以我们最终还是考虑使用了预训练,重新训练一个bert。但是刚开始的效果始终很差,虽然MLM任务的loss看上去很低,但是实际微调效果却非常离谱。关于这个问题,主要还是预训练的参数问题,刚开始学习率这些都是用的默认参数,后面则是加入了weight_decay和warmup,以及调大学习率,微调后的结果不说有多高,但是明显是一个正常的分数了。

 预训练的任务很简单,主要就是动态MASK和N-gram MASK,其他操作的效果在我这里并不好。主要上分点还是微调模型的修改

 关于我们复赛阶段采用的bert模型,主要的框架大致是这样的。

在这里插入图片描述

 这部分其实也主要是队友在做(主要方案都是队友的,我只是调包调参的搬运工)。左边这部分其实就是一个rcnn,听队友说加在bert上是有提升的。另外用到的主要trick还是任务一和任务二交替训练,以及在微调中加入标签进行训练。另外,有前排队伍提到在预训练中加入标签训练,似乎提升更大。

5 总结

 对于本次比赛,我认为收获最大的就是了解了脱敏文本的处理方式吧,以后在面对这类问题的时候,可以直接无脑BERT了。当然也验证了在脱敏文本的问题上,传统深度模型的效果是能和bert比一比的。并且不同方案建模的融合收益也是巨大的,我们能进决赛主要就是靠的融合,单模的话我们效果其实不算太好,但融合收益实在太高,两个模型融合就能上5个千分点,只能说确实运气也是有点好。

 最后,再感谢一下我的队友贡献了这么多的方案,带我进决赛拿了奖金。