©PaperWeekly 原创 · 作者|李东明
学校|香港中文大学(深圳)本科生
研究方向|文本生成
论文标题:
Generating Radiology Reports via Memory-driven Transformer
论文链接:
https://arxiv.org/pdf/2010.16056.pdf
代码链接(含数据集):
https://github.com/cuhksz-nlp/R2Gen/
主要贡献
利用医疗影像报告的特点,在 Transformer 的解码端中加入记忆模块,从而使得模型在建模全局信息的同时更好地刻画影像报告中的局部结构,提升生成的医疗影像报告的质量。
任务与挑战
医疗影像报告生成是一类特殊的图像到文本生成任务,目的是根据医疗影像(本文使用的为胸片影像)生成其诊断报告,可以视为 image captioning 在医疗领域上的应用。但是,区别于传统的 image captioning,影像报告生成的特点/挑战是一般待生成文本都较长。
传统的 image captioning 通常是生成短的句子,对图像进行简单的描述,而影像报告则是由多个句子构成的段落,一般较长,如下图所示。
为了解决影像报告长度长的挑战,现有研究方法使用了层次循环神经网络,包含句子级别循环神经网络和单词级别循环神经网络,句子级别循环神经网络用于生成每个句子的表征向量,单词级别循环神经网络用于使用每个句子的表征生成单词。
通过层级循环神经网络可以更好地建模长文本信息,从一定程度上解决长文本生成的问题。然而,它们没有很好地利用到医疗影像报告生成任务的特点。
尽管这项任务存在着这些挑战,它还是有自身的特征,医疗影像报告往往具有模式化的特点,即不同的影像报告间存在着相似的行文模式,这种模式化信息可以有效地帮助影像报告生成。
因此,作者没有使用层级循环神经网络,而是基于 Transformer 模型,引入关联记忆网络(Relational Memory,RM),从而能够使用 Transformer 建模影像报告长距离信息的同时,建模其中的模式化信息。
为了将 Relational Memory 引入到 Transformer 中,作者还提出了基于记忆的层归一化(Memory-driven Conditional Layer Normalization,MCLN),使模型达到更好的效果。
模型结构
模型上使用的是编码器-解码器框架,由三个模块构成,分别是视觉提取器、编码器和解码器。视觉提取器使用的是预训练的卷积神经网络,编码器和解码器是基于 Transformer 骨架,本文提出的创新点关注于解码器部分,编码器上使用是标准的 Transformer 编码器。
视觉编码器使用的是预训练的卷积神经网络。医疗影像经过视觉编码器后得到一个 width x height x dim 的特征,将二维图像特征 flatten 之后得到一个(width x height) x dim的序列特征作为编码器的输入。之后,编码器的输出将输入给解码器。
关于解码器部分,最自然的想法是直接用标准的 Transformer 解码器,但论文作者尝试后发现简单地使用 Transformer 不能完全解决生成报告长度短和生成内容准确性不足的问题,于是引入了 RelationalMemory 模块,改进了层归一化模块。
Relational Memory 旨在学习影像报告的模式化信息,把 Relational Memory 引入层归一化,使得影像报告生成时,用 Memory 控制 Transformer 输出特征的均值和方差,从而深度利用了影像报告的模式化信息。
Relational Memory
Memory 是一个 slots x dim 的矩阵。在生成的过程中,每次生成一个字时,Memory 需要用上一时刻生成的字进行更新。具体更新规则如下:
给定上一时刻的 Memory 以及上一时刻生成的字的词向量 ,它们将输入给多头注意力(Multi-head Attention,MhA),具体而言,