Article

文献题目:Efficient Symptom Inquiring and Diagnosis via Adaptive Alignment of Reinforcement Learning and Classification

摘要

  • 医疗自动诊断系统旨在模拟人类医生在真实的诊断过程中。该任务被表述为具有症状查询和疾病诊断的顺序决策问题。近年来,许多研究人员使用强化学习方法来处理这项任务。然而,最近的工作忽略了区分症状询问和疾病诊断动作,并将它们混合到一个动作空间中。这导致强化学习方法在该任务上的表现不令人满意。此外,缺乏包含各种疾病和相应信息的公共评估数据集。为了解决这些问题,我们首先提出了一种新的医学自动诊断方法,将症状查询和疾病诊断分别制定为强化学习任务和分类任务。我们还提出了一种稳健且自适应的方法,以使用分布熵作为媒体来对齐这两个任务。然后,我们创建一个从 MedlinePlus 知识库中提取的新数据集。该数据集包含更多的疾病和更完整的症状信息。用于实验的模拟患者更加真实。实验评估结果表明,我们的方法在不同的数据集上优于三种最近的最先进的方法,通过在很少的查询回合中实现更高的医疗诊断准确性。

引言

  • 医疗自动诊断(MAD)或医疗自动诊断对话系统(DSMAD)是人工智能在医疗保健中应用的主要研究领域之一。 MAD 系统旨在模仿人类医生并与患者互动,收集他们的症状信息并给出自信的诊断。 目前,很多人在网上搜索自我诊断; 但是,在这些搜索中获得的许多结果可能不准确或不相关。 此外,在实际临床接触中,由于医疗资源有限,许多农村地区的诊断准确率可能较低。 因此,完善的 MAD 系统在支持临床诊断决策、提高诊断准确性和帮助患者自我诊断方面具有巨大潜力。
  • MAD过程被表述为一个顺序决策问题,主要包括三个步骤[Ledley and Lusted, 1991]:(1)患者报告最初的症状或不适,称为自我报告; (2) 系统作为医生向患者询问与症状相关的问题或为患者分配医学检查,例如实验室检查或诊断程序(例如 X 射线); (3)当系统收集到足够的信息时,它会给出疾病的最终诊断。随着强化学习 (RL) 在解决各个领域的顺序决策问题方面的巨大潜力,研究人员越来越有兴趣将 RL 应用于 MAD,将整个诊断过程制定为马尔可夫决策过程 (MDP) [于等人,2020]。例如,许多以前的工作开发了这样的系统,并专注于在线自诊断 [Tang et al., 2016;彭等人,2018;高等人,2018;廖等人,2020]。这些 MAD 系统被称为症状检查器。
  • 虽然更多的信息总是有利于诊断的准确性,但问太多问题会降低患者的体验,而进行太多检查会增加医疗成本。 MAD 的目标不仅是实现高诊断准确性,而且还降低收集症状信息的成本。 诊断过程涉及各种疾病、症状和医学检查,这导致了很大的决策空间。 此外,每个患者只有几个症状,因此用于诊断的可用信息很少。 MAD 的这些特性为 RL 方法学习诊断推理的逻辑设置了障碍。
  • 最近的许多工作将症状查询和诊断动作结合到一个共同的动作空间中(例如,[Peng et al., 2018; Xu et al., 2019])。这种组合忽略了这两种动作之间的区别。症状询问动作旨在以尽可能少的步骤(或其他类型的成本)获得信息性症状,而诊断动作是一步,旨在在每个诊断过程结束时获得准确的诊断。前者动作可能落入RL框架,而后者自然是分类问题。强制诊断作为 MDP 的一部分增加了代理的搜索空间,不仅限制了诊断的准确性,而且限制了症状查询的效率。很少有工作将这两种行为分开处理 [Lin et al., 2020;林等人,2021a]。他们设计了不同的机制来整合两个动作。然而,他们的方法仅在包含很少疾病的数据集上进行测试。他们的方法尚未在具有各种疾病和症状的更复杂情况下进行评估。
  • 在我们的工作中,我们分别处理两种动作,使用 RL 执行症状查询部分和将诊断部分视为分类任务。 我们设计了一种巧妙的方法来合并两个模型。 在实际诊断过程中,当收集的信息提供足够的信心并排除其他可能性时,人类医生将得出结论。 在信息论中,熵是对不确定性的度量。 因此,在我们的工作中,我们监控疾病分类器给出的熵。 当熵低于某个阈值时,将终止症状查询过程,并给出诊断。 然而,熵阈值很难确定给定不同的疾病分布,阈值选择不当将导致 MAD 系统的性能不理想。 为了解决这个问题,我们提出了一种自适应方法来选择合适的阈值。
  • RL 方法的训练必须根据不同患者的已知症状状态探索不同的动作,考虑到安全和隐私,无法在真实患者或病史上训练 RL 方法。 因此,以前的工作评估了他们对通过医学知识库或医学对话历史模拟的合成患者的方法。 然而,先前工作的不足之处在于现有数据集要么包含很少的疾病,要么具有不完整的症状信息。 因此,模拟患者会导致不切实际的情况。 针对这个问题,我们探索了公共在线医学知识库,并提出了一个新的数据集来模拟更真实的患者。 建议的数据集包含各种疾病和更完整的症状信息。
  • 这项工作的主要贡献如下:
  • 我们发布了一个带有相应症状和医学检查的新疾病数据集,以模拟合成患者。 与其他广泛使用的数据集相比,所提出的数据集包含更全面的疾病信息。
  • 我们提出了一种新的 MAD 方法,它结合了 RL 代理和分类器。 我们设计了一个包含疾病分类熵的复合奖励,以激励信息症状查询。
  • 与之前使用固定阈值的工作 [Xia et al., 2020] 不同,我们提出了一种有效的方法来自适应地确定适当的熵阈值。 阈值随着 RL 代理和分类器的训练而动态变化。
  • 通过大量实验,我们展示了与其他 MAD 方法相比,该方法的效率和优越性能。 我们还展示了阈值选择方法的稳健性和奖励设计的有效性。

相关工作

  • 自动医学诊断或临床诊断推断在医疗保健研究中引起了广泛关注。以前的研究大多使用结构化或非结构化医学数据来开发疾病分类系统。已经使用了大量的机器学习或深度学习方法来构建这样的系统 [Kononenko, 1993;Kononenko,2001;Lin,2009; Mullenbach 等人,2018]。例如,[Choi et al., 2016] 和 [Choi et al., 2017] 开发了基于递归神经网络 (RNN) 的方法,以根据患者的病史和当前状况进行鉴别诊断。 [Hosseini et al., 2018] 基于医学历史和知识图谱,使用图神经网络进行疾病诊断。最近的一些作品受到了 TREC-CDS 任务的启发。他们应用深度 RL 从具有外部知识库(例如,维基百科)的临床叙述中检索医学疾病概念 [Ling et al., 2017a;Ling 等人,2017b]。然而,这些方法只能在有丰富病史的情况下做出诊断。在真实的临床环境中,医生可能会遇到没有临床病史且初始症状信息非常有限的患者。这些方法在这种情况下会失败。
  • 先前的研究还开发了对话系统来与患者互动并提供更个性化的医疗指导 [Li et al., 2021; ling 等人,2021b]。 然而,这些方法侧重于自然语言处理,只能提供基于真实对话历史的与患者的一步对话交互。 我们的工作不是为了产生全面的对话或只给出一次指示,而是旨在处理真实诊断过程的内部决策逻辑,以更少的症状查询成本实现更高的诊断准确性。
  • 与我们的任务类似,一些工作为 RL 的在线医疗保健服务开发了症状检查器。 [Tang et al.,2016] 将疾病和相关症状分为 11 个解剖部位,并在每个部位应用深度 Q 学习 (DQN) 方法来查询症状。 [Wei et al., 2018] 也使用 DQN 方法进行推理诊断。 [Kao et al., 2018] 和 [Liao et al., 2020] 使用分层 RL:分配一个主代理来决定下层的哪个解剖部分代理询​​问症状以及何时给出诊断。 [Kao et al., 2018] 还添加了患者的上下文信息(例如,性别和年龄),以通过贝叶斯方法提高诊断准确性。将疾病分成几个解剖部分可以降低任务的复杂性。通过适当的联合策略训练,上述工作优于简单的 DQN 方法。 [Xu et al., 2019] 提出了一种称为 KR-DQN 的方法,将实体关系嵌入到 DQN 代理中。代理输出中添加了一个可训练的相关矩阵,以帮助查询相关症状并进行诊断。 [Peng et al., 2018] 提出了一种基于策略梯度法的方法,称为 REFUEL。他们设计了辅助奖励,并使用双重神经网络架构重建了患者的稀疏特征,以帮助更快地发现阳性症状。以上所有工作都将症状询问和疾病诊断结合到同一个动作空间中。此外,他们忽略了阴性症状也包含丰富的信息并且对实际临床决策至关重要的事实。 [Xia et al., 2020] 和 [Lin et al., 2020; Lin et al., 2021a] 将这两种动作分开。他们使用 RL 方法来查询症状,并使用另一个神经网络根据当前症状信息进行诊断。 [Xia et al., 2020] 使用生成对抗网络 [Goodfellow et al., 2014] 框架来平衡症状询问和疾病诊断,还设计了基于熵的奖励来引导代理询问信息性和理性的问题。他们的方法在达到最大查询步长或疾病分布的熵小于固定阈值时给出诊断;但是,可能很难为不同的疾病选择这样的阈值。 [Lin et al., 2021a] 提出了一种称为 INS-DS 的方法,包括两个协作模块:症状查询模块和内省模块。内省模块干预询问的潜在反应,如果这些干预的诊断保持不变,则决定给出诊断。 [Lin et al., 2020] 设计了一个标准,当首选疾病的概率超出其他疾病概率的 6σ 置信区间上限时,模型给出诊断。置信区间是通过引导分类器来估计的。然而,上述三项工作仅在疾病较少的数据集上测试了他们的方法,而实际临床环境中存在各种疾病和症状。
  • 与此诊断决策任务有关,最近的一项工作提出了一种非 RL 竞争二分框架工作,称为 FIT,使用多模态变分自动编码器模型和疾病预测的两步抽样策略 [He et 等,2021]。 他们报告了不同数据集的最新结果。

方法

  • 通常,DSMAD或MAD系统是指包括两个部分的系统: 1)自然语言生成(NLG)部分,对患者的输入语言进行解析和分析,并将询问问题输出给患者; 2)对话管理(DM)部分,根据患者的当前信息决定询问哪些症状以及何时给出诊断。 我们的工作侧重于 DM,因为从患者的反应中提取症状并生成问题是由自然语言处理或模板处理的,而不是临床决策的一部分。
  • 图 1 说明了我们提出的模型的架构概述,伪代码如算法 1 所示。该模型由症状查询代理、疾病诊断模块和停止标准组成。症状查询代理是一个策略网络,根据模型已知的症状查询患者的症状;疾病诊断模块是一个神经网络分类器,根据当前已知的症状输出疾病分类;停止标准用于决定何时停止询问症状并给出诊断。在每个对话回合,疾病诊断模块接收当前患者的症状信息向量并预测当前疾病分布。然后,计算分布的熵以确定是否给出诊断。当熵低于动态阈值时,这意味着我们已经有足够的信息进行准确诊断,然后症状查询代理停止询问更多症状,分类器将给出诊断。如果给出了正确的诊断,动态阈值会根据最终疾病分布的熵进行更新。

符号

  • 我们将所有症状的数量表示为 NNN,将所有疾病的数量表示为 MMM。我们基于 RL 框架设计了症状查询代理。症状查询部分是一个有限范围的 MDP,具有状态空间 SSS、动作空间 AAA 和策略 πφπ_φπφ​。每个状态 s∈Ss ∈ Ss∈S 是一个长度为 NNN 的稀疏向量,向量的每个条目表示对应症状的状态。症状的状态可以是阳性、阴性或未知,分别用 1、-1 和 0 表示。每个动作 a∈Aa ∈ Aa∈A 是一个整数,表示要查询的症状。动作空间的大小为 NNN。疾病诊断部分被制定为分类任务。神经网络分类器 fψf_ψfψ​ 接收当前患者的状态 sss 作为输入,并输出表示为 pψ(d∣s)p_ψ(d|s)pψ​(d∣s) 和 pψ(d∣s)=fψ(s)p_ψ(d|s) = f_ψ(s)pψ​(d∣s)=fψ​(s) 的疾病分布,其中 ddd 表示疾病。然后,计算 pψ(d∣s)p_ψ(d|s)pψ​(d∣s) 的熵 Hψ(s)H_ψ(s)Hψ​(s) 以检查停止标准,制定症状询问代理的奖励并更新动态阈值。

疾病诊断模型

  • 疾病诊断模型是 MLP 分类器。 给定患者在时间步 ttt 的状态 sts_tst​,将状态向量馈送到分类器以生成疾病分布。 然后,疾病分布的熵计算如下:
  • 如果熵 Hψ(st)H_ψ(s_t)Hψ​(st​) 小于阈值,则模型返回具有最高概率的诊断。 否则,症状查询代理会查询症状以收集更多信息。
  • MLP 分类器与 RL 代理一起以有监督的方式进行训练。 在每个查询轮次,当前状态向量与真实疾病标签配对形成训练样本 (st,di)(s_t, d_i)(st​,di​)。 然后,我们使用这些收集到的具有交叉熵损失的样本来训练分类器。 因此,分类器习惯于用部分症状信息来预测疾病。

症状询问代理

  • 症状查询代理 πφπ_φπφ​ 使用 MLP 策略网络。 在时间步 ttt,代理在给定当前患者的状态 sts_tst​ 时生成症状查询动作。 RL 的目标是最大化预期的累积奖励

    其中 γγγ 是折扣因子。 代理应询问最有价值的症状以获得准确的诊断。 我们采用策略梯度法来优化网络参数φφφ。
  • 症状询问者应该发现患者的症状,尽可能少询问,因为在实际临床中,询问过多的阴性症状是浪费时间,进行过多的医学检查是浪费医疗资源并给患者带来额外的成本甚至身体伤害。为了解决这个问题,当代理询问症状时,会为代理分配负奖励。如果查询的症状为阳性,则额外增加一个阳性奖励,如果为阴性,则给予较小的阳性奖励。实际上,医生不会询问已知的症状,但没有限制,代理人可能会反复询问相同的症状。为了避免这种现象,如果代理询问已知症状,则不会给予额外的积极奖励。收集症状信息的目的是提供可信诊断。因此,当我们的方法给出正确的诊断时,将提供另一个额外的正奖励,而当该方法给出不正确的诊断或未能在最大步长 TTT 内诊断时,则添加额外的负奖励。这部分奖励,记为 rpr_prp​,旨在激励代理询问阳性症状,避免重复询问,并给出正确的诊断。
  • 受 [Xia et al., 2020] 的启发,我们的工作还引入了互信息来提高代理的性能。 在现实世界的诊断过程中,医生经常询问信息性和鉴别性症状以识别疾病。 这些症状对患者来说不一定是阳性的。 这样的症状可以帮助排除一些候选疾病。 在信息论中,熵衡量信息的水平或分布的不确定性。 理想情况下,分类器给出的熵将随着患者状态向量中已知的更多症状而减少。 信息量更大的症状是导致疾病分布熵更大程度降低的症状。 为了使症状查询代理学会查询更多信息症状,我们将熵差作为训练奖励的一部分。 熵差奖励公式为:
  • ΔHψΔH_ψΔHψ​ 是两个连续时间步长之间的熵差,用于测量来自查询症状的信息增益。 熵差计算如下:
  • 其中 sts_tst​ 是当前状态向量,st+1s_{t+1}st+1​ 表示下一个状态向量。 Hψ(s0)H_ψ(s_0)Hψ​(s0​) 是基于患者初始自我报告的疾病分布熵。 它作为一个标准化术语,使熵差异奖励在不同患者之间保持一致,因为给定不同患者的自我报告,熵差异可以从非常大到小变化。 随着诊断过程的进行,症状信息逐渐变得完整。 熵应该是单调递减的,熵差应该一致大于0。而在实践中,由于分类器不完善,特别是在早期训练阶段,存在负熵差。 因此,奖励取归一化熵差与 0 之间的最大值。
  • 因此,训练症状查询代理的总体奖励是 rpr_prp​ 和 rHr_HrH​ 的加权组合:
  • 其中 μμμ 和 ννν 是两种奖励的权重。
  • 我们还在目标函数中引入了熵正则化项 以帮助症状查询代理在训练阶段开始探索高回报行为并摆脱局部最优。 新目标下的参数更新规则为:
  • 其中 ααα 是学习率,βββ 是权重参数,R(s,a)R(s, a)R(s,a) 是状态 sss 和动作 aaa 下的累积奖励。

停止标准

  • 直观地说,当疾病分布熵低于某个阈值时,应该停止询问症状; 然而,所需的阈值因不同的疾病症状数据集而异,并且难以手动选择。 为此,我们的方法提出了一种自适应方法来自动找到合适的阈值。
  • 在训练开始时,我们随机初始化一个合理的阈值。 在每个训练集中,如果熵低于阈值或达到预设的最大步长 TTT,我们的方法会给出诊断。 如果给出了正确的诊断,则使用疾病分布熵根据以下等式调整阈值:
  • 其中 KKK 是动态阈值,sfins_{fin}sfin​ 表示最终患者的状态向量,λλλ 是控制阈值更新速度的 Polyak 参数。 随着训练的进行,分类器变得更加准确,输出熵将正确反映诊断置信度。 通过上述更新方案,自动找到合适的阈值,实现症状查询阶段的提前停止。

实验

数据集

  • 由于医疗数据的高度敏感性和对其使用的严格法律,很难访问有关患者症状、检查和诊断的真实数据集。 因此,我们使用两个医学知识源 SymCat 和 MedlinePlus 来评估我们的方法,以生成合成患者。 模拟合成患者包含一种疾病和一组相关症状或医学检查。 我们注意到有几个早期的工作(例如,[Xia et al., 2020; Xu et al., 2019; Lin et al., 2021a])在两个公共医疗对话数据集上评估了他们的方法,即 MuZhi Medical 对话数据集 [Wei et al., 2018] 和 Dxy Medical Dialogue Dataset [Xu et al., 2019]。 然而,这两个数据集仅包含少量疾病(Dxy 包含 5 种疾病,MuZhi 包含 4 种疾病),并且不适合用于真实患者模拟的基准,因为真实的临床遭遇更加复杂。

SymCat

  • 我们遵循 [Kao et al., 2018] 和 [Peng et al., 2018] 使用 SymCat 数据集来模拟患者。 SymCat 包含 801 种疾病和 474 种症状。对于 SymCat 中的每种疾病,都有相应的症状、上下文信息(例如,性别、年龄)及其发生概率。患者模拟程序首先对疾病进行统一采样。然后,通过使用个体概率对每个相应症状进行伯努利试验来生成症状,并将其中一个采样症状指定为患者的自我报告。我们还生成每个患者的上下文信息,包括性别和年龄。年龄被编码成几个二进制值,每个值代表一个不重叠的年龄范围。性别和年龄范围是使用 SymCat 中的概率生成的。编码的上下文信息被连接到状态向量。为了将我们的方法与其他基线进行比较,我们随机抽取 200、300 和 400 种疾病,形成 3 个不同的疾病集。此外,SymCat 还提供疾病类别。我们提取属于“常见疾病”类别的疾病以形成另一个疾病集。对于每个疾病集,我们抽取 106、105 和 105 名合成患者进行训练、开发和测试。在上述模拟设置下,每个合成患者平均有大约 3 个症状。

MedlinePlus

  • SymCat 数据集中的症状信息不完整。 SymCat 中的某些疾病没有足够的症状信息。 例如,“食道癌”只有“疲劳”、“呕吐”等肤浅的、模棱两可的症状描述,症状的边际概率很低。 这将导致一种异常情况,即患有“食道癌”的综合患者只有 1 或 2 个无信息症状。 此外,该数据集没有与疾病相关的体检信息。 因此,使用 SymCat 模拟的患者对于测试临床 MAD 系统来说不够现实。
  • 为了生成更真实的患者,我们提出了一个从 MedlinePlus 中提取的新数据集。 MedlinePlus 是一个公共医学知识库,其中包含许多与疾病相关的文章。每篇文章都包含有关症状和体检的小节。我们使用 MedType [Vashishth et al., 2021] 从文章中识别症状和医学检查实体,并手动检查提取的实体。生成的数据集包含 618 种疾病、614 种症状和 514 种体检。每种疾病大约有 12 种相关症状和 5 种相关医学检查。为了模拟患者,我们从疾病集中统一采样疾病。然后,对于每种疾病,我们对症状进行抽样,症状的数量根据泊松分布确定。一些抽样症状被分配给患者的自我报告。体检被视为疾病的晚期症状,并添加到患者的整体症状中。通过这个模拟过程,每位患者大约有 13 种症状,其中 3 种是平均自我报告的。我们为每个训练时期模拟 105 名患者,我们分别模拟 105 名患者进行开发和测试。

训练细节

  • 我们使用以下设置训练我们的模型。最大步长 TTT 设置为 15。每个查询的成本设置为 -1,对未知的阴性症状提供额外的 0.7 奖励,为阳性症状提供额外的 1.7 奖励。正确诊断的额外奖励为 1,而错误诊断或在最大步数限制之前未能给出诊断的奖励为 -1。奖励权重 μμμ 和 ννν 的系数分别设置为 1 和 2.5。初始熵阈值设置为1,更新阈值的Polyak系数λ为0.99。我们以符合政策的方式训练我们的症状查询代理。策略和分类器网络的动态阈值和参数每 200 集更新一次。收集的样本用于训练两个神经网络。使用给出正确诊断的事件的平均最终熵来更新熵阈值。我们使用 Adam 作为优化器 [Kingma and Ba, 2017]。策略网络的学习率为 2 × 10−5 ,疾病分类器的学习率为 10−4 。折现率参数 γγγ 设置为 0.99,熵正则化项的参数 βββ 最初设置为 0.01,随着时间的推移逐渐减小到 0。

结果

  • 我们将我们的方法与三个基线进行比较,即 RE FUEL [Peng et al., 2018]、FIT [He et al., 2021] 和 INS DS [Lin et al., 2021a]。 REFUEL 是 SymCat 上最先进的 RL 方法。 FIT 在由不同数据集模拟的合成患者上实现了最先进的准确性。 INS-DS 是最近提出的一种方法,它也将症状查询和疾病诊断操作分开,并使用不同的停止标准。 INS-DS 在 Dxy 和 MuZhi 数据集上表现出最佳性能。 但是,这三部之前的作品都没有提供开源代码。 因此,我们根据他们论文中描述的细节重新实现了 REFUEL 和 INS-DS。 FIT 没有为重新实现提供足够的细节。 因此,我们将他们论文中报告的结果用于其性能。
  • 一个好的 MAD 系统应该达到很高的诊断准确性,并尽可能少地提出症状询问。 因此,我们使用诊断准确性和查询轮次来评估我们的方法。 我们还报告了以前作品使用的匹配率作为另一个评估指标。 匹配率是每轮平均查询的阳性症状,并衡量该方法击中阳性症状的能力。 然而,如前所述,高阳性症状匹配率是一个有偏见的指标,因为阴性症状也可能有助于排除其他潜在疾病。
  • 三个指标的结果如表 1、2、3 所示。在 SymCat 的不同疾病集上,我们的方法达到了最佳精度,显着优于其他方法。尽管随机选择的 200、300 和 400 个疾病集与 FIT 论文中使用的不完全相同,但我们的方法大大超过了 FIT 报告的结果。 REFUEL 获得了最佳匹配率结果,由于其特征重建技巧,在查询阳性症状方面表现出出色的能力。 REFUEL收集了更多患者的阳性症状信息,但该方法在提高准确性方面仍面临障碍。如前所述,将症状询问和疾病诊断动作结合起来将提高学习两个动作空间良好行为的难度。代理可能无法仅通过最大化预先设计的奖励来学习两个动作之间的联系,并且询问的阳性症状可能包含有限的诊断信息。 INS DS实现了最小查询次数,但该方法实际上既不查询阳性症状也不查询信息性症状,其准确性主要取决于患者的自我报告。 INS-DS 的失败很可能是由于奖励设计不当,过于强调诊断行为的重要性,而对重复查询没有惩罚。这种奖励设计可能只适用于小型疾病组。 INS-DS 的另一个缺点在于它的停止标准是代理可能会询问不相关的症状,并且给定症状的阳性或阴性状态,分类器会得出相同的诊断。这种情况可能会误导做出错误诊断动作的方法;因此,IND-DS 无法完成诊断过程。


  • 在 MedlinePlus 数据集上,我们的方法在诊断准确性和匹配率方面优于所有基线。 INS-DS 也实现了最小的询问次数,但未能获得鉴别症状,仅根据患者的自我报告进行诊断。 尽管 REFUEL 发现了几个阳性症状,但它没有给出诊断动作,并且一直在查询症状直到最大步骤。 因为在 MedlinePlus 的大联合行动空间中,患者有许多可能的症状,而只有一种疾病,所以代理比诊断更容易从询问中获得积极的回报。 达到最大步长的惩罚相对较小。 通过这种不恰当的奖励设计,REFUEL 没有学会根据症状信息做出诊断。 通过仅获取症状直到步数限制来获得奖励需要保守的策略。

奖励设计的消融研究

  • 在我们的方法中,我们提出了一个复合奖励来指导我们的 MAD 模型。 为了进一步证明我们的奖励设计的有效性,我们进行了消融研究以显示奖励的两个部分的重要性。 我们在三种不同的疾病集上仅使用奖励 rpr_prp​ 或 rHr_HrH​ 训练我们的方法:我们提出的 MedlinePlus 疾病集、400 SymCat 疾病集和常见的 SymCat 疾病集。 我们使用与上述相同的训练设置。 结果如表 4 所示。从表中可以看出,使用复合奖励的训练效果最好。 这种奖励设计引导模型查询阳性和信息性症状,并实现高诊断准确率。

自适应熵阈值的鲁棒性

  • 为了进一步说明我们的自适应熵阈值更新方案的稳健性,我们在 MedlinePlus 数据集上进行了更多实验。一个稳健的熵阈值更新方案有望在具有不同起始值的情况下保持该方法的相似最终值和诊断精度。在这个实验中,我们选择不同的熵阈值起始值,并在 MedlinePlus 数据集上重复实验,保持其他训练设置相同。我们选择 6 个不同的起始值 0.3、0.8、1、2、3 和 4,并使用相同的训练步骤对每个值进行训练。在图 2 和图 3 中,我们展示了初始 10000 个训练步骤的熵阈值和准确度变化曲线。如图所示,熵阈值首先增加,然后逐渐收敛到相同的值。阈值在早期训练阶段增加,因为分类器不够好并且产生了相对平滑的疾病分布,导致高熵。不同起始值的动态阈值和精度变化曲线具有基本相同的轨迹。这表明我们的阈值更新方案对起始值的选择不敏感,并且可以稳健地找到适当的熵阈值。

结论

  • 在这项工作中,我们提出了一种新的 MAD 方法,该方法可以通过更有效的症状查询来实现更高的准确性。 我们的方法将症状询问和疾病诊断动作分开处理,并设计了一种强大的机制,通过疾病分布的熵自适应地协作两个动作。 我们的奖励设计帮助模型学习查询信息丰富的和有区别的症状,以获得高诊断准确性。 我们还提出了一个用于模拟真实患者的新数据集。 我们提出的数据集可以作为更好的评估数据集,因为它包含更全面和完整的疾病信息。 使用多种基线方法对不同数据集进行的实验评估证实了我们提出的方法的优越性和有效性,该方法实现了准确高效的自动医学诊断,需要更少的训练时间。

【医疗人工智能】通过强化学习和分类的自适应对齐进行有效的症状查询和诊断相关推荐

  1. 关于人工智能中强化学习的扫盲

    https://www.toutiao.com/a6666688293163237896/ 前言 对一个认知科学家来说,一个最基本的问题是"如何学习新知识?".回答这样一个问题的i ...

  2. 强化学习和知识图谱实体对齐

    <Deep Reinforcement Learning for Entity Alignment>精读 在本文中,作者将实体对齐建模为一个顺序决策任务,其中agent(智能体)根据实体的 ...

  3. 人工智能ai 学习_人工智能中强化学习的要点

    人工智能ai 学习 As discussed earlier, in Reinforcement Learning, the agent takes decisions in order to att ...

  4. 2019年上半年收集到的人工智能强化学习干货文章

    2019年上半年收集到的人工智能强化学习干货文章 从0到1-强化学习篇 关于人工智能中强化学习的扫盲 强化学习简介 深度强化学习 探索强化学习算法背后的思想起源! 强化学习基础 什么是强化学习?强化学 ...

  5. 强化学习——强化学习的算法分类

    1. 算法分类 现代强化学习算法分类 ---图片来自Open AI Spinning up 项目--- 由于强化学习是一个更新速度非常快的领域,所以准确地全面地分类是相当困难的,Spinning up ...

  6. 深度强化学习(DRL)简介与常见算法(DQN,DDPG,PPO,TRPO,SAC)分类

    简单介绍深度强化学习的基本概念,常见算法.流程及其分类(持续更新中),方便大家更好的理解.应用强化学习算法,更好地解决各自领域面临的前沿问题.欢迎大家留言讨论,共同进步. (PS:如果仅关注算法实现, ...

  7. 人工智能 java 坦克机器人系列: 强化学习_人工智能 Java 坦克机器人系列: 强化学习 | 学步园...

    本文中,我们将使用强化学习来实现一个机器人.使用强化学习能创建一个自适应的战斗机器人.这个机器人能在战斗中根据环境取得最好的策略,并尽力使战斗行为最佳.并在此过程中不断学习以完善自身不足. Roboc ...

  8. 人工智能 java 坦克机器人系列: 强化学习_Java坦克机器人系列强化学习

    <Java坦克机器人系列强化学习>由会员分享,可在线阅读,更多相关<Java坦克机器人系列强化学习(13页珍藏版)>请在人人文库网上搜索. 1.Java 坦克机器人系列 强化学 ...

  9. 人工智能 java 坦克机器人系列: 强化学习_人工智能 Java 坦克机器人系列: 强化学习...

    人工智能 Java 坦克机器人系列: 强化学习 发表于:2007-05-24来源:作者:点击数: 本文中,我们将使用强化学习来实现一个机器人.使用强化学习能创建一个自适应的战斗机器人.这个机器人能在战 ...

最新文章

  1. 从IoT World 2019看全球IoT九大发展趋势
  2. TikTok玩家,路在何方?
  3. zblog php标签,201502200101 zblogphp调整“显示常用标签”个数方法
  4. ASP.Net MVC 在ajax接收controller返回值为Json数据
  5. .NET(C#):浅谈程序集清单资源和RESX资源
  6. RxSwift之深入解析如何创建Observable序列
  7. CentOS7.x以上版本配置DNS失效解决办法
  8. Ribbon负载均衡原理,Feign是如何整合Ribbon的?
  9. mysql 服务账号_MySql 账号管理
  10. mac下安装mysql-pyhon_mac下安装MySQL-python模块
  11. matlab与vc混合编程指导书.doc,vc与matlab混合编程—基于com.doc
  12. x86_64 Linux 运行时栈的字节对齐
  13. 【文本分类】 特征抽取之信息增益
  14. img atl和a title
  15. Spark源码学习1.6——Executor.scala
  16. 网上好用的大数据支持的舆情分析系统工具整合
  17. python调用鼠标驱动_python_selenium_鼠标操作
  18. linux shell 中各种符号的含义
  19. JavaScript运算规则
  20. 人脸识别解锁能用照片绕过?华为、三星、小米、HTC等均上榜

热门文章

  1. cad lisp 示坡线_示坡线画法详解
  2. [转]GIS 克隆 IClone
  3. 详解信道估计的发展与最新研究进展(MIMO)
  4. JavaScript制作音乐播放器
  5. java seqlist_java编程中SeqListString list=new SeqListString(number);需要符号?什么意思?...
  6. 调用阿里云短信接口,报InvalidTimeStamp.Expired : Specified time stamp or date value is expired.错误
  7. CSS - 护眼模式
  8. GiliSoft USB Lock(电脑usb锁定软件)官方中文版V10.2.1 |电脑软件U盘锁下载
  9. Windows Server 2008 系统加固
  10. 计算机学科评估b是水平,学科评估C是什么水平?学科评估B值得读吗?