Fork me on GitHub

华为云苏嘉:如何整合预训练模型和知识图谱做医疗推理?

图片

分享嘉宾:苏嘉博士 华为云
编辑整理:熊丹妮 武汉天喻信息
出品平台:DataFunTalk

导读: 随着人工智能技术特别是深度学习的普及,医疗行业也迎来一波革命的热潮,本文将讨论如何利用AI技术将领域知识融入到医疗推理任务当中,为AI+医疗提供一种行之有效的解决方案。主要内容包括:

  • 智慧医疗现状
  • 核心问题
  • 领域知识
  • 融合知识的推理

01

智慧医疗现状

首先和大家介绍一下智慧医疗的现状:

1. 前景

图片

通过统计数据我们能看到,中国医疗软件市场呈逐年上升的趋势,每年基本保持在50%的增长率。基于统计预测到2025,全球的智慧医疗市场将会达到275亿美元的规模,其中中国和美国是发展得最好的两个国家。

我国存在着医疗资源不均衡的问题,迫切的需要人工智能的助力。当前的人工智能处于从感知到认知的过渡期,在这个过程中诞生了一大批以感知分类为主的医学影像类的AI应用,如癌症的筛查等。新冠疫情的刺激也加速了智慧医疗行业的发展,政府也制定了一系列的利好政策,各大厂商和独角兽公司也都开始在AI医疗产业开始发力。其中华为云在云计算领域有着天然的优势。

2. 场景应用

图片

目前比较成熟的智慧医疗的落地项目包括:医学影像诊断、疾病的筛查和预测、临床辅助决策、智慧病案等,这也说明“AI+医疗”在资本市场是一个愈演愈热的态势。从左图近几年的投融资频次分布也可以看出医疗一直是一个比较热门的领域。这其中涉及到的AI技术主要包括:计算机视觉、NLP、语音识别(如病例录入功能)、机器学习等。如右图,随着近些年深度学习技术的日益成熟,神经网络类的算法在医学文献中出现的频次是比较高的。

3. 重要事件

图片

上图展示了智慧医疗发展的重要事件时间线。早在上个世纪60年代,人们就开始尝试构建知识库来模拟医生的诊疗过程。我国78年由北京中医医院研发了“关幼波肝病”诊疗程序;2000年时“达芬奇手术机器人”获批用于腹腔镜手术;2011年IBM带来了“Watson医生”。近些年随着技术的成熟和市场的活跃,“AI+医疗”产品也如雨后春笋不断涌现。

02

核心问题

下面将对智慧医疗行业的核心问题进行分析,将分为以下3个部分进行介绍:

  • 行业限制
  • 数据
  • 算法&算力

1. 行业限制

图片

首先是行业限制问题,医疗行业本身和其他行业就存在差异,它的特殊性就在于它和大家的健康甚至性命相关,使得行业内慎之又慎,导致智慧医疗发展尚不成熟。这些年国家也在积极的进行政策布局,提出要在2023年前在医疗领域初步建立人工智能的标准体系。当前医疗行业存在着强烈的“马太效应”,即大城市、三甲医院会吸引很多的资源,如医生、护士、国家政策、资金各个方面,这样会形成一个叠加效应,它(大城市、三甲医院)会越来越好,偏远地区就相反,这就迫切需要AI在其中发挥作用。如何把庞大的复杂的医疗领域知识,具有差异性的专家知识融合到AI算法当中,并带来实用的可落地的产品,是一个比较关键的问题。这其中还要处理好各方的利益分配问题。

2. 数据

图片

接下来我们会讨论数据问题。我国相较于美国等发达国家在健康数据的管理上稍微落后,整体还是存在着一些差距。国家出台了一些政策来保护用户的健康数据,比如在数据获取上,需要和数据管理者、患者签署“安全使用协议”;同时还必须经过数据管理者(如医院)的道德委员会审批,获取伦理证明,并且数据使用大多以科研为目的。此外,还需要面对获取数据后的隐私保护、质量、以及数据的存储和保护等问题。

3. 算法&算力

图片

在算法、算力层面,AI一直被看作近似黑盒的东西,尤其像深度学习模型本身在可解释性方面就存在着先天不足,而医生希望AI给出推理证据链,患者也希望结果有出处。并且在数据不充分的情况下,算法难以给出微小、差异化的输出。此外,近期大模型的刷榜、算力的消耗和硬件的更新,所有这些都是摆在智慧医疗产业要落地的研究者/产业人员面前的问题。

从技术角度来看,正如前面提到的行业知识的重要性,如何将行业知识融入到医疗推理任务中,让知识参与到计算当中,是我们接下来要讨论的内容。

03

领域知识

从领域知识的表现上来看,医疗知识图谱和医疗预训练模型都是绕不开的话题。下面将先介绍医疗知识图谱。

1. 医疗知识图谱

图片

医疗知识图谱的构建从方法论上来说和常规的图谱构建没有什么区别,构建过程主要包括:医疗知识本体的设计,医疗文本的获取,实体及属性的抽取,关系抽取以及知识对齐。

图片

在知识的抽取方法上,大致经历了以下4个阶段:

  • 规则阶段:基于规则、字典
  • 传统机器学习阶段:如CRF、SVM在当年都是非常热门的方法,对当下某些特定的场景也是比较适用的
  • 深度学习阶段
  • 预训练模型阶段

图片

图中展示了剩下的2种实体和属性抽取的方法:左图展示了基于深度学习的方法在中文电子病历中对风险因素实体及其属性抽取的工作;右图展示了基于预训练模型进行的抽取工作。

图片

对于关系的抽取,上图分别展示了我们的三个工作成果:第一个是将实体的位置信息加入到CNN的模型编码中;第二个是将句法树结合到BiLSTM-RNN的建模框架中;第三个是通过改变抽取范式,将关系抽取转变成实体识别的任务。

图片

在知识对齐的方法中,基于预训练的知识对齐是当前的研究热点。左图是通过计算预训练模型编码后的实体表示和字典中的标准化实体表示的相似度来进行对齐;右图是剑桥大学和亚马逊的研究工作,其核心思想是:语义相似的词经过预训练模型编码后的相似度比其他词要高,研究将UML数据作为训练集,通过预训练模型进行编码。

图片

这里列举了一些比较有影响力的中/英文医疗知识图谱。中文中比较有影响力的包括CMeKG、OMAHA。华为云和浙大在去年也构建了“新冠基本信息图谱”(英文),该图谱主要考虑了基因和蛋白的关系。英文上还有一个影响力比较大的评测任务——I2b2,它率先开展了一系列的实体(包括通用医疗实体(疾病、症状)、药物、时间)和实体间关系的评测任务。

2. 医疗预训练模型

图片

从2018年BERT诞生以来,预训练模型的研究热潮日益高涨。领域预训练模型也凸显了其在下游任务中的能力。BioBERT是生物医学领域的预训练模型,它以医学文本作为预训练数据训练得到的。相较于通用模型,BioBERT在下游任务上有不俗的表现,如在实体识别、关系抽取、问答等任务上都有着比较明显的提升。

图片

MC-BERT是阿里开源的领域预训练模型。通过对医学实体以及医学短语的全遮盖来构建预训练模型的学习任务,并公开了预训练模型和下游任务的Benchmark数据集。

图片

MT-BERT是将多个医疗下游任务组合来对预训练模型进行微调,多任务学习在预训练模型中也有一定的效果。

图片

BERT-MK是华为诺亚实验室的一项工作,它将知识图谱中学习得到的蕴含语义信息,通过实体作为中间纽带传到预训练模型中,来指导预训练模型的参数学习。

华为云和诺亚也提出了一个融合知识的医疗预训练模型,该模型充分利用了知识的两个重要元素:实体和关系,联合实体的mask任务和关系的分类任务来学习预训练模型的参数。

04

融合领域知识推理技术

下面将介绍如何将领域知识融合到医疗推理任务中。

1. 医疗知识计算

图片

在AI推理过程中通常包含两个方面:

① 知识的推理,即生成新知识

在这个过程中要求有完整的证据链,并且具有可解释性。如明尼苏达团队提出的基于传统的知识补全算法,如TransE、RotatE等方法,对新冠图谱进行补全,用来发现图谱中对新冠的治疗关系,辅助新冠治疗。

② 模型训练结束后的预测

图片

医疗图谱的数据一般会比较稀疏,因为医疗数据相对于通用数据来说是比较珍贵的。如何对稀疏的数据进行知识补全,上图研究提出基于预训练模型的领域知识推理,将关系推理转换成数值计算,通过数据计算的方式来进行知识推理的工作。

图片

模型训练结束后的预测相对来说更加实用一些,如问答、医疗文献检索、推荐等排序类问题。左图是复旦大学和美国德州农工根据维基百科关键词构建包含疾病知识的句子,来对BERT重新进行训练,以此来提高在下游QA任务上的效果。右图展示了亚马逊针对于新冠科学文献构建了图谱,并学习了节点表示,根据文献的标题、作者、关键词等构建文章的表示,并计算相似度来检索文献。

图片

在医疗推理任务中还有一个常见问题为分类问题,如疾病预测、疾病诊断。左图是郑州大学联合鹏城实验室提出的一个基于产科知识图谱的疾病诊断分类。通过抽取病例中的实体,对齐到产科图谱中,根据图谱中的共现概率计算候选疾病,结合预训练模型对疾病进行诊断分类。右图是得克萨斯大学联合鹏城实验室提出的基于2000多万患者病历来学习的领域预训练模型——Med-BERT,在下游任务,如心衰、胰腺癌的并发症预测上有比较明显的提升效果。

图片

此外,治疗建议也是医疗AI落地的常用场景。图中展示了美国一家生物制药公司联合IBM提出的基于“GNN+预训练模型”的药物建议方法,通过对每次问诊的药物和疾病的表示学习,仿照BERT的language model mask和next sentence prediction,设计了预训练学习目标——药物或疾病进行mask和用药预测这2个任务,实现了预训练模型的学习和用药的预测。

图片

华为也提出了一种融合预训练模型和知识图谱的医疗推理任务的框架:其中预训练模型对患者的健康文本进行语义编码,构建患者健康文本的上下文表示;结合知识图谱学习实体表示,对患者的健康文本进行实体抽取,构建患者健康文本的实体表示;结合上下文表示和实体表示,对患者整体进行语义信息的建模/整合,以此来构建患者下游任务的模型。

图片

上图展示了临床决策支持任务的实验结果,包括治疗推荐和疾病诊断,将有100M参数的BERT作为baseline,对比了自研的领域BERT模型(Domain-Bert)的效果,可以看出结合了领域知识的预训练模型在下游任务上有着比较好的表现。

05

精彩问答

Q:请问Domain-Bert是如何训练的?模型结构有什么变化吗?数据集有什么需要注意的地方?

A:领域预训练模型大体采用了RoBERTa这样的框架来训练。模型结构上没有太大变化,主要结合了中文医疗数据的特征。

Q:请问客户年龄和过敏情况对预测用药有作用吗?

A:这个问题我们是有做过实验的,特别是年龄、性别对用药是有提升的。在我们的数据集上有3个百分点左右的改变。

Q:预训练时,模型召回率达到多少算比较好?预训练样本量如何确定比较好?

A:目前我们的模型召回率在70%-80%,不过召回率的大小还是需要看具体的任务,也要看数据质量,是否有做精细的清洗、预处理工作。关于样本量的问题,一般领域内都会有一些先例,会对照先例的数据量,比他们大一个量级会比较好。

Q:预训练的GPU资源大概有多少台?

A:我们使用了8台V100(32G)。

Q:请问数据清洗是使用预训练模型清洗吗?

A:不是,数据经过清洗以后再用于模型训练。会使用一些模版/规则对数据进行清洗,也会用机器学习的方法进行清洗,如MC-BERT,可以通过弱标注等方式来训练数据质量分类模型,用于判别数据的质量。

分享嘉宾:

图片


本文地址:https://www.6aiq.com/article/1638494486035
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出