LayoutLM: Pre-training of Text and Layout for Document Image Understanding稿

背景介绍

  预训练技术在图片领域和文字领域都有很多的应用。对于图像来说,一般浅层的网络里都是最基本的内容,因此可以复用。用的最多的就是在ImageNet上预训练好的resnet,之后再针对你特定的任务进行finetune。但是何凯明也提出过无需预训练,也能达到一样效果的结论。是否使用见仁见智。对NLP来说,最近两年的巨大进步都是来自BERT这个预训练模型的提出。在大量的预料上训练后来辅助后续的下游任务。这篇文章也是基于BERT预训练模型的改进。
  这里的图片理解指的是对于图片,理解图片的类型,检测出文本的位置,分析文本的内容属性和提取关键信息。在现实生活中,许多公司都需要花费人力和时间来做这种工作,因此这个任务还是有意义的。
  这篇论文作者主要针对的是扫描文本。这是一些不同的布局,不同类型的文档。

预训练

  过去很多的方法设计都是针对特定任务设计之后,在特定任务上训练的。而这些特定任务的训练集的数据并不足够,于是使用和BERT一样的预训练方式就提供了很好的解决方案,这样就可以充分地利用海量信息。预训练的模型就是BERT,输入的embedding和BERT的有所不同,bert是只有1维的位置位置和词向量,而在这里,为了更加好地将空间信息考虑进去,输入的是2维的位置向量。由于输入的图片大小不同,因此把位置向量按比例归一化到0-1000,取整。获取这些位置向量的方式就是nn.Embedding。(代码中还有高度差和宽度差,原本的一维position也在,还有一个token_type的向量。)
  预训练的中有两个任务,一个任务和BERT完全一样,预测mask掉的内容。随机选择15%的输入单词,其中80%用mask替代,10%用另一个单词替代。还有10%的概率不变。另一个任务则是预测文档的属性。每个输入的文档都有一个类型,通过预测这个文档的类型来优化网络。
  预训练使用的是IIT-CDIP数据集,有600万文档和1100万的扫描文档图片。图片中文字的位置和内容都是通过一个Tesseract的OCR引擎获得的。当然会有点错误存在,但是对于大量的数据来说,只是九牛一毛问题不大。

下游任务

  预训练好之后,需要做的就是针对特定的下游任务进行finetune。为了更加好地结合图片的信息,在这里可以加入了经过fasterrcnn网络中的提取出来的图片embedding。第一个classification的位置加入的就是整张图片的embedding。
  RVL-CDIP是之前用来预训练这个模型的子集。finetune的方式也很简单,给后面接一个全连接,做softmax判断文档的类别就行。有16类类型。
  FUNSD和SROIE的任务都是NER任务。只不过FUNSD的任务还有关系提取,LayoutLM的网络结构是无法做这个任务的。对于FUNSD来说,蓝色的是问题,绿色是回答,橙色的是标题,紫色的是其他。而SROIE提取的就是商店地址日期和总价格。做法就是对于每个向量之后接全连接和softmax来预测label。

results

  对于FUNSD这个数据集来说,可以很明显地发现是否使用2Dembedding和文档类数据集的预训练会带来效果的提升,加入MDC会带来提升。但是作者最好的结果是没有用这个loss的。更多的数据量,更多的epoch,图片信息的加入带来了更好的效果。如果使用RoBERTa(更大的数据,更大的batch_size,取消了NSP的预测,训练长序列,动态mask,使用BPE字符编码,减少了出现UNK的情况)的话,效果会更加的好。
   这是同一个模型,在不同的参数量和训练epoch上的对比。得出的结论和上面的相同。
  这是在SROIE上的结果。
  这是在RVL-CDIP这个数据集上的结果。单纯文本信息效果一般,和VGG差不多的结果。结合了图片信息,提升很大。

总结

  总结一下这篇文章。提出了将版式信息和文本信息结合的预训练网络。在下游任务中更好地结合多模态的信息。大量的算力带来大的提升。

新的感触

  为什么这篇文章的效果会比把bert或者roberta拿过来直接finetune好的原因除了添加了更多的位置信息,此外相当于在票据这个领域预训练了。这样就相当于我在使用bert的时候,首先在我这个任务的域进行预训练,之后再针对这个任务进行finetune,这样会带来更好的效果。
acl 2020 《Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值