基于层次化强化学习的任务型对话诊断系统 Task-oriented Dialogue System for Automatic Disease Diagnosis via HRL

复旦大学的这篇工作继续延续了NIPS RL workshop 2016上的神经症状检查器的想法,并借鉴AAAI2018的工作[15],将层次化强化学习引入到对话诊断系统中该工作比较大的贡献依然是公开了数据集和源代码,但是创新性上尚有改善空间,另外就是诊断性能的问题了,从表3和表4的结果可以看到,本文方法与基于隐性症状和显性症状的SVM模型依然存在显著的性能差距。本文于2020年放到ArXiv上后投稿多次,近期又遭ICLR2022拒稿。该工作的具体实现方法我们在下文中对该工作进行详细介绍。

目录

摘要

1. 引言

2. 基于层次化强化学习的疾病诊断

2.1 用于疾病诊断的强化学习形式化

2.2 两层次的层级化策略

2.3 奖励形成

 2.4 训练

3. 数据集

3.1 真实数据集

3.2 仿真数据集

4. 实验与结果

4.1 实现细节

4.2 对比模型

4.3 整体性能

4.4 进一步分析

5. 相关工作

层次化强化学习

基于RL的疾病诊断方法

6. 总结和未来工作

参考文献


摘要

本文中重点研究在任务型对话设置下,如何利用强化学习(RL)方法进行自动疾病诊断。与传统的RL任务不同,疾病诊断(即症状)的动作空间一般很大,尤其是当疾病数量增加时。然而,目前解决这一问题的方法大部分采用了平级化的RL策略,该策略通常在简单任务中效果良好,但在疾病诊断等复杂场景中存在重大挑战。为此,我们建议在对话政策学习中纳入两个层次的分层策略。高层次策略由一个名为master的模型组成,该模型负责触发低层次的策略模型,低层次策略由几个症状检查器和一个疾病分类器组成。在自己构建的真实数据集和仿真数据集上的实验结果表明,与现有系统相比,我们的分层框架在疾病诊断方面实现了更高的准确性。此外,数据集(http://www.sdspeople.fudan.edu.cn/zywei/data/Fudan-Medical-Dialogue2.0)和代码(https://github.com/nnbay/MeicalChatbot-HRL)都可获取。

1. 引言

随着电子健康记录(EHRs)系统的发展,研究人员探索采用不同机器学习方法来进行自动诊断[1]。尽管在各种疾病诊断[2,3]方面取得了令人印象深刻的结果,但它们依赖于建立完善的EHR,而EHR是劳动密集型的。此外,针对一种疾病训练的监督模型很难转移到另一种疾病,因此,需要面向每种疾病建立EHR。

为了缓解构建EHR的压力,研究人员[4,5]引入了任务型对话系统,自动向患者问诊症状以进行疾病诊断。他们将任务描述为马尔可夫决策过程(MDP),并采用基于强化学习(RL)的方法对系统进行策略学习。现有框架使用了一套平等对待疾病和所有相关症状的平级化策略。尽管基于RL的方法在症状获取方面取得了积极的效果,但当涉及到现实环境中的数百种疾病时,设置平级化策略是非常不切实际的。

一般来说,一种特定的疾病与一组特定的症状有关。也就是说,一个患病的人往往会同时出现一些相应的症状。如图1所示,我们展示了疾病和症状之间的相关性。x轴代表症状,y轴代表相关疾病的比例。我们可以很容易地确定一些模式。换句话说,每种疾病都有一组相应的症状,不同症状组之间的重叠是有限的。这促使我们根据医院的科室设置将疾病分为不同的组,并为症状获取和疾病诊断设计层次化结构。

图1:真实世界数据集中疾病在不同症状上的分布(见第3.1章节)。x轴代表症状,y轴代表比例。每个长条描述了给定症状的疾病分布。

近期,采用多层策略训练进行决策的分层强化学习(HRL)[6,7]已经成功地应用于不同的场景,包括课程推荐[8]、视觉对话[9]、关系提取[10]等。目标任务的自然层次可以手动或自动建模。受这些研究的启发,我们探索通过HRL来利用疾病的聚类信息来处理大动作空间的问题。

在本文中,我们将疾病分为几个组,并建立了一个具有两层次的对话系统,用于使用HRL方法进行自动疾病诊断。高层次策略由一个名为master的模型组成,低层次策略由几个名为worker和一个疾病分类器组成。master负责触发低层次模型。每个worker负责问诊与某一组疾病相关的症状,而疾病分类器负责根据worker收集的信息进行最终诊断。提出的框架模拟了来自不同科室的多学科会诊(MDT,Multi-Disciplinary Treatment)。其中,每个worker的行为就像来自特定科室的医生,而master的行为就像一个委员会,指定某科室医生与患者进行交互。当从worker那里收集的信息足够时,master会激活一个单独的疾病分类器进行诊断。为了更好地诊断疾病,这两个层次的模型都经过了联合训练。我们构建了一个大型的真实数据集和一个仿真数据集来评估我们的模型。实验结果表明,在这两个数据集上,我们的分层框架性能优于其他最先进的方法。

2. 基于层次化强化学习的疾病诊断

在本节中,我们将介绍用于疾病诊断的强化学习框架。我们先介绍平级化策略设置,然后介绍两层次的层级化策略。我们通过奖励成形技术进一步改进了模型的性能。

2.1 用于疾病诊断的强化学习形式化

对于基于RL的自动诊断模型,AI智能体的动作空间\mathcal{A}=D\cup S、 其中D是所有疾病集合,S是与这些疾病相关的所有症状集合。给定第t个对话轮的状态s_t\in S,AI智能体根据当前策略a_t\sim \pi (a|s_t)执行动作,并从环境(患者/用户)处获得即时奖励r_t=R(s_t,a_t)。如果a_t\in S,AI智能体选择一个症状问诊患者/用户。然后,患者返回三种可能的答复,包括true/false/unknown,相应的症状将通过三维的one-hot向量b\in\mathbb{R}^3进行表征。如果a_t\in D,AI智能体将相应的疾病作为诊断结果通知用户,并且对话终止,并根据诊断正确性标记对话成功或失败。状态s_t=[b^T_1,b^T_2,...,b^T_{|S|}]^T,即每个症状的one-hot状态拼接在一起,以及在第t个对话轮之前未问诊的症状都被编码为b=[0,0,0]

AI智能体的目标是找到一个最优策略,使其能够最大化预期的累积未来折扣奖赏R_t=\sum\nolimits_{t'=t}^{T} {\gamma ^{t'-t}r'_t},其中\gamma \in[0,1]是折扣因子,T是当前对话的最大轮数。Q值函数Q^\pi(s,a)=\mathbb{E}[R_t|s_t=s,a_t=a,\pi]是在状态s根据策略\pi执行动作a的预期奖赏。

最优Q值函数是所有可能策略中的最大Q值:Q^*(s,a)=\mathop{max}\nolimits_{\pi}Q^{\pi}(s,a)。它遵循贝尔曼方程:
Q^*(s,a)=\mathbb{E}_{s'}[r+\gamma \mathop{max}\limits_{a'\in \mathcal{A}}Q^*(s',a')|s,a]

当且仅当对于每个状态和动作Q^{\pi}(s,a)=Q^{*}(s,a)时,策略\pi是最优。然后,该策略可以确定地减少\pi(a|s)=argmax_{a\in\mathcal{A}}Q^*(s,a)

2.2 两层次的层级化策略

为了减少动作空间过大的问题,我们将上述RL公式扩展到具有两层次策略的层次结构,以实现自动诊断。遵循options框架[7],我们的框架设计如图2所示。包含五个组件:Master、Worker、疾病分类器、内部评价器和用户模拟器。

 图2:具有两层策略的层级化强化学习模型框架。

具体来说,我们将D中的所有疾病分为h个子集D_1,D_2,...,D_h,其中对于任何i\neq ji,j=1,2,...,h来说,D_1\cup D_2\cup {...}\cup D_h=D,并且D_i\cap D_j=\O。每个D_i都对应一组症状集合S_i\subseteq S,其中的症状与D_i中的每个疾病有关。而worker w_i负责从患者那里收集有关S_i集合中的症状信息。

在第t个对话轮,master决定是从用户那里收集症状信息(选择一名worker与用户进行交互)还是将诊断结果告知用户(选择疾病分类器输出预测的疾病)。图3展示了诊断过程以及模型之间在两个层次上的相互作用。至于内部评价者,它负责将内部奖励返回给worker,并告诉被调用worker的子任务是否完成。此外,用户模拟器与我们的模型进行交互并返回外部奖励。

图3:模型诊断过程的说明,模型之间在两个层次上进行交互。w_i是调用worker w_i的操作,d是调用疾病分类器的操作。

Master组件

Master的动作空间\mathcal{A}^m=\{w^i|i=1,2,...,h\}\cup \{d\}。动作w_i表示激活worker w_i,而d表示激活疾病分类器的初始动作。在每一个对话轮数t,master以对话状态s_i \in \mathcal{S}作为输入,并基于策略\pi^m(a^m_t|s_t)中执行动作a_t^m\in \mathcal{A}^m。外部奖励r^e_t将从环境中返回给master。

master的决策过程不是标准的MDP。一旦master激活一个worker,该worker将与用户进行N轮交互,直到子任务终止。只有在那之后,master才能采取新的行动,观察新的对话状态。正如[7]所指出的,master的学习问题可以表述为一个半马尔可夫决策过程(SMDP),在这个过程中,用户和所选worker之间的交互过程中返回的外部奖励可以累积为master的即时奖励[11]。也就是说,在master采取动作a_t^m后,对master的奖励r_t^m可以定义为:

r_t^m = \left\{ \begin{array}{l} \sum\nolimits_{t' = 1}^N {​{\gamma ^{t'}}r_{t + t'}^e,} \\ r_t^e, \end{array} \right.\begin{array}{*{20}{c}} {if}\\ {if} \end{array}\begin{array}{*{20}{c}} {a_t^m = {w^i}}\\ {a_t^m = d} \end{array}

其中,i=1,...,hr_t^e是第t轮对话由环境产生的外部奖赏,\gamma是master的折扣因子,N是worker的原始动作数。我们可以将master的Bellman方程写成如下:

{Q_m}(s,{a^m}) = {r^m} + {\mathbb{E}_{\{ s',{a^m}^\prime \} }}[{\gamma ^N}{Q_m}(s',{a^m}^\prime )|s,{a^m},{\pi ^m}]

其中,s'是master在采取动作a_m后观察到的对话状态,{a^m}^\prime是状态为s'时的下一个动作。master的目标是通过SMDP最大化外部回报,因此我们可以编写master的损失函数如下:

\mathcal{L}({\theta _m}) = {\mathbb{E}_{s,{a^m},{r^m},s' \sim {B^m}}}[(y - {Q_m}(s,{a^m};{\theta_m}))^2]

其中,y=r^m+\gamma^Nmax_a^{m\prime}Q_m(s',{a^{m\prime}};{\theta_m})\theta_m是当前迭代步的网络参数,\theta^-_m是前一迭代步的网络参数,\mathcal{B}^m是master样本的固定长度缓冲区。

Worker组件

worker w^i对应于一组疾病D_i和一组症状S_i。worker w_i的动作空间是:\mathcal{A}^w_i=\{\text{request}(symptom)|symptom\in S_i)\}。在第t轮对话,如果调用了worker w_i,则master的当前状态s_t将传递给worker w^i,然后worker w^i将从s_t中提取s_t^i作为输入,并生成动作a^i_t\in \mathcal{A}^w_i。状态抽取函数如下所示:

s^i_t=ExtractsState(s_t,w^i)=[b^{i\text{T}}_{(1)},b^{i\text{T}}_{(2)},...,b^{i\text{T}}_{(k_i)}]^\text{T}

其中,b^i_{(j)}是症状symptom_{(j)}\in S_i的表示向量。

采取动作a^i_t\in \mathcal{A}^w_i之后,对话状态更新为s_{t+1},worker w_i将从内部评价器模块获得内在奖励r^i_t。因此,worker的目标是最大化预期的累计折扣内在奖赏。worker w_i的损失函数可以写成:

\mathcal{L}(\theta^i_w)=\mathbb{E}_{s^i,a^i,r^1,s^{i\prime}\sim \mathcal{B}^w_i}[(y_i-Q^i_w(s^i,a^i;\theta^i_w))^2]

其中,y_i=r^i+\gamma_wmax_{a^{i\prime}}Q^i_w(s^{i\prime},a^{i\prime};\theta^{i-}_w)\gamma_w是所有worker的折扣因子,\theta_m是当前迭代步的网络参数,\theta^{i-}_w是前一迭代步的网络参数,\mathcal{B}^m_i是worker w^i样本的固定长度缓冲区。

疾病分类器组件

一旦疾病分类器被master激活,它将以master状态s_t作为输入并输出向量{\bf{p}} \in \mathbb{R}^{|D|}来代表所有疾病的概率分布。概率最高的疾病将作为诊断结果返回给用户。本文采用两层的多层感知机(MLP)进行疾病诊断。

内部评价器

在第t轮对话采取行动后,内部评价器负责向worker w^i生成内在奖励r^i_t。如果worker问诊了用户患有的症状,r^i_t为+1。如果worker w^i生成了重复动作,或者子任务对话轮数达到T^{sub}, r^i_t将为-1。其他情况, r^i_t将为0。

内部评价器还负责判断worker的终止条件。在我们的任务中,当生成重复动作或子任务轮次达到T^{sub}时,worker被判定为失败。而当用户对AI智能体问诊的症状做出true的响应时,worker会被判定为成功并终止。这意味着当前worker通过收集足够的症状信息来完成子任务。

用户模拟器

遵循文献[4]和[5],我们使用用户模拟器与AI智能体进行交互。在每个对话会话开始时,用户模拟器从训练集中随机抽取一个用户目标样本。采样用户目标的所有显式症状都用于初始化对话进行主诉。在对话过程中,模拟器根据用户目标并遵循一些规则与AI智能体进行交互。如果AI智能体做出正确的诊断,一个对话将被成功终止。如果告知的疾病不正确或对话轮数达到最大轮数T,则对话将被终止为失败。为了提高交互效率,当系统重复动作时,对话将被终止。

2.3 奖励形成

实际上,患者所患症状的数量远小于症状集的大小,这导致特征空间稀疏。换句话说,AI智能体很难找到用户真正患有的症状。为了鼓励master选择一个能够发现更多阳性症状的worker,我们遵循文献[12],并使用奖励形成方法在保持最佳强化学习策略不变的情况下,在原有外部奖励的基础上添加辅助奖励。

从状态s_t到状态s_{t+1}的辅助奖励函数定义为f({s_t},{s_{t + 1}}) = \gamma \phi ({s_{t + 1}}) - \phi ({s_t}),其中,\phi ({s})是势函数如下:

\phi (s) = \left\{ \begin{array}{l} \lambda \times |\{ j:{b_j} = [1,0,0]\} |,\\ 0, \end{array} \right.\begin{array}{*{20}{c}} {if~s \in \mathcal{S}/{\mathcal{S}_ \bot }}\\ {otherwise} \end{array}

其中,\phi ({s})统计给定状态s的情况下症状为true的数量。\lambda>0是一个超参数,它控制奖赏形成的幅值,另外\mathcal{S}_ \bot是终止状态集合。因此,master的奖励函数将更改为R^\phi_t=r_t+f(s_t,s_{t+1})

 2.4 训练

master策略\pi^m和每个worker的策略\pi^m_i都是通过深度Q网络(DQN)进行参数化的[13,14]。在DQN中,动作通常按照\epsilon-贪婪策略进行选择。在我们的层次化结构框架中,master和worker都遵循自己的\epsilon-贪心策略进行训练和贪心策略进行测试。在训练过程中,我们将(s_t,a^m_t,r^m_t,s_{t+N})存储在\mathcal{B}^m中,将(s^i_t,a^m_t,r^i_t,s^i_{t+N})存储在\mathcal{B}^m_i中。在每个训练过程中,我们执行经验回放,分别更新\mathcal{B}^m\mathcal{B}^m_i中master和worker的当前网络,而目标网络在经验回放期间是固定的。仅当一次经验重放结束时,才会更新目标网络(替换为当前网络)。在每个步骤中,将在训练集上评估当前网络,仅当当前网络的成功率优于以前任何版本时,才会刷新经验缓存区。因此,先前迭代中生成的样本将从经验缓存区中移除,这将加快训练过程。对于疾病分类器,master模型每训练10轮,就会更新一次结束状态和相应的疾病标签。

3. 数据集

我们构建了两个数据集来评估我们的模型。一个是现有真实世界数据集的扩展版本。另一个是仿真数据集。

3.1 真实数据集

有一个从现实世界收集的现有数据集,用于评估任务型疾病诊断对话系统[4]。我们按照原始数据集的标记策略对其进行扩展。新构建的真实世界数据集(RD)包含1490个用户目标,这些目标属于4种疾病,即上呼吸道感染(URI)、儿童功能性消化不良(CFD)、婴儿腹泻(ID)和儿童支气管炎(CB)。原始数据收集自中国在线医疗社区(http://muzhi.baidu.com/)的儿科板块。

每个用户记录由用户提供的自述和患者与医生之间的对话文本组成。我们聘请具有医学背景的专家来识别症状表达,并用三个标签(“true”、“false”或“UNK”)标记它们,以表明用户是否患有这种症状。然后,专家手动将每个症状表达与SNOMED CT(https://www.snomed.org/snomed-ct)上的一个概念联系起来。请注意,自述和对话都有标签。从自诉中提取的症状被视为显性症状,从对话中提取的症状被视为隐性症状。真实数据集统计见表1。

表1:真实世界数据集(RD)概述。\sharp of user goal是每种疾病的对话轮数;ave. \sharp of ex.sym.和 ave. \sharp of im. sym.分别是用户目标的显性症状和隐性症状的平均值;\sharp of sym.是与疾病相关的症状总数。 

3.2 仿真数据集

除了真实世界的数据集之外,我们遵循文献[15]还构建了一个仿真数据集。它是基于症状-疾病数据库SymCat(http://www.symcat.com/)构建的。数据库中有801种疾病,我们根据国际疾病分类(ICD-10-CM)(https://www.cdc.gov/nchs/icd/)将其分为21个科室(组)。我们根据疾病控制和预防中心(CDC)数据库中的发病率从数据库中选择了9个具有代表性的科室,每个科室包含前10种疾病。

在CDC数据库中,每种疾病都与一组症状相关联,其中每个症状都有一个概率,表明该症状被识别为该疾病的可能性有多大。基于概率分布,我们为每个目标疾病逐个生成电子记录。给定一种疾病及其相关症状,用户目标的生成遵循两个步骤。首先,对于每个相关症状,我们对症状的标签进行采样(true或false)。其次,从所有真实症状集中随机选择一个症状作为显性症状(与从RD中的自诉中提取的症状相同),其余真实症状被视为隐性症状。SD数据集的生成记录如表6所示。SD数据集的描述如表2所示。我们构建的仿真数据集包含30000个用户目标,其中80%用于训练,20%用于测试。

表2. 仿真数据集(SD)概述。每个用户目标仅包含一个明确的症状。组id与ICD-10-CM中的章节相对应;\sharp of diseases是该组中包括的疾病数量。

4. 实验与结果

4.1 实现细节

master和所有Worker的\epsilon均设置为0.1。对于主人来说,最大对话回合T设置为20,如果主人告知正确的疾病,它将获得+1的外在奖励。否则,如果对话回合达到最大回合或通知错误的疾病,它将获得-1的外在奖励。在非终点转弯时,外在奖励为0。此外,奖励成形中的超参数λ设置为+1,工人完成的一个子任务上的外部奖励(奖励成形后)之和将成为对大师的奖励。每个工人的最大对话回合T sub设置为5。对于master和所有Worker来说,DQN的神经网络是一个三层网络,具有两个退出层,隐层大小为512。大师和工人的贴现率γ均设置为0.95,学习率设置为0.0005。所有参数均按经验设置,两个数据集的设置相同。此外,在硕士培训过程中,所有工人每10个时期都要接受一次培训。对于疾病分类器,神经网络是一个两层网络,具有一个脱落层,隐层大小为512,学习率设置为0.0005。在master的训练过程中,每10个训练轮进行一次疾病分类器的训练。

4.2 对比模型

我们与一些最好的用于疾病诊断的强化学习方法进行了对比,具体包括:

  • Flat-DQN:这是来自文献[4]的AI智能体,它有一层策略和一个同时包含症状和疾病的动作空间。
  • HRL-pretrained:这是一个来自文献[15]的层级化模型。设置与我们的类似,但是,先对低层级策略进行预训练,然后再对高层级策略进行训练。此外,该模型没有专门用于疾病诊断的疾病分类器,诊断由worker进行。

值得注意的是,对于RL场景,用户目标由显性症状初始化,而隐性症状只能通过对话获得。此外,我们还遵循监督学习设置实现了两个模型,将自动诊断视为一个多分类问题。我们实验种报告了这两个模型的结果,以供参考。

  • SVM ex&im:该模型以症状表示b_j的串联做为输入,其中j=1,2,····,S,进行目标疾病预测。使用显性和隐性症状作为输入,使用SVM进行分类。由于该模型从用户那里获得所有隐性症状,因此可以将其视为基于RL的模型的上界。
  • SVM-ex:该模型仅将明确的显性症状作为输入,并使用SVM进行分类。它可以被视为基于RL模型的基线。

4.3 整体性能

对于RD数据集和SD数据集,80%的样本用于训练,20%的样本用于测试。我们使用三个指标来评估[4]和[5]之后的对话系统,即成功率、平均奖励和每个对话的平均轮数。请注意,在RD数据集上没有预训练HRL的结果,因为每组中只有一种疾病,并且实现疾病诊断的多分类模型非常重要。

表3:RD数据集的整体性能。实验分5次进行,最终结果由5次实验的平均值和标准误差组成。

表4:SD数据集的整体性能。实验分5次进行,最终结果为5次实验的平均值和标准误差。

 表3和表4分别显示了不同模型在RD数据集和SD数据集上的总体性能。我们有以下发现:

  • SVM-ex&im在两个数据集上都优于SVM-ex,这表明隐性症状可以显著提高诊断准确率。此外,由于不同疾病之间的症状重叠程度较低,SD数据集上SVM-ex&im与SVM-ex之间的差距远远大于RD数据集上的差距。
  • 由于需要额外的隐性症状,平级化DQN模型、HRL预训练模型和我们的HRL模型在这两个数据集上均获得比SVM-ex更好的诊断准确性。通过引入基于强化学习模型,证明了该方法的有效性。
  • 与基线模型相比,我们的HRL模型需要更多的轮数来与用户进行交互,以便能够收集更多关于其隐性症状的信息。随着更多关于隐性症状的信息,我们的HRL模型在诊断成功率方面明显优于其他基线。

4.4 进一步分析

为了评估不同工作者和疾病分类器的性能,我们基于我们的HRL模型进行了一些额外的实验。

疾病分类器性能

为了更深入地分析AI智能体告知错误疾病的用户目标样例,我们收集了所有错误告知的用户目标,并在图4中给出了错误矩阵。显示了所有9组疾病的预测结果。我们可以看到对角方块的颜色比其他方块的颜色暗,这意味着大多数错误告知的用户目标都是在同一组中告知疾病的。这是合理的,因为同一组中的疾病通常具有相似的症状,因此更难区分。

图4:在我们的HRL模型上,对不同组疾病分类器进行误差分析,与真实组i和预测组j的方块表示疾病分类器将组i中的疾病错误分类为组j,颜色越深,值越高。

不同worker的性能

我们根据成功率、平均内在奖励和匹配率来评估worker的性能。匹配率是指请求用户具有隐性症状的动作比例。结果见表5。我们可以看到,平均内在奖励与匹配率之间存在正相关,这意味着worker向用户要求的隐性症状越多,其表现越好。

表5:我们HRL模型中不同worker的性能表现

对话样例分析

为了比较基于强化学习模型之间的性能,我们在SD数据集的测试集中选择一个用户目标并输出对话内容。我们选择的用户目标如表6所示:

表6:SD数据集中选定的用户目标。此用户目标总共包含1个显性症状和4个隐性症状。此外,相应的疾病在第6组。

首先,根据训练好的平级化DQN模型输出用户目标中的对话,如下表所示。

表7:平级化DQN模型的输出对话。它只进行了一轮对话就结束了。

从表7中,我们可以看到,AI智能体在第一个对话轮就将疾病告知用户,而不要求任何症状,这导致在收集足够的信息之前做出了错误预测。

然后,根据HRL预训练模型输出用户目标中的对话,如下表所示。

表8:HRL预训练模型的输出对话。它要求用户提供9种症状,并最终告知疾病。

从表8可以看出,HRL预训练模型比平级化DQN模型有更多的对话轮数。此外,AI智能体总共向用户请求9个症状,而用户只有一个真正的症状。从worker id列中,每个对话轮选择的worker id变化很大,而worker 6显示得最多,这也是用户目标中的组id。在最后一个回合,即使AI智能体选择了正确的worker,它也不没有将正确的疾病告知患者,这导致对话失败。

最后,根据我们训练好的HRL模型输出用户目标中的对话,如表9所示。

表9:我们HRL模型的输出对话。它激活两个不同的worker,并向用户问诊了8个症状。最后,它将正确的疾病告知患者。

从表9可以看出,与平级化DQN模型相比,我们的模型与用户交互的轮数更多。与HRL预训练模型相比,我们的模型要求用户提供了更多的真实症状,从而得到更准确的诊断。从worker id列中,master智能体分别激活了worker 5和worker 6。尽管一开始激活的是错误worker,但它仍会收集一些信息,然后在第四个对话轮激活正确的worker。在第9轮,疾病分类器被激活,并将正确的疾病输出给用户。

5. 相关工作

本论文涉及两个主要研究领域,即层次化强化学习和基于RL的疾病诊断方法。

层次化强化学习

HRL具有层次化策略,被提出用于解决行动空间大的问题。HRL的一个经典框架是options框架[7],它涉及对动作空间的抽象。在每个步骤中,AI智能体选择一步“基本”操作或“多步”操作(选项)。文献[13] 提出了一种层次化DQN,将深度Q学习与HRL相结合,可以同时学习不同层次的策略。HRL已成功应用于不同的任务,并在不同领域取得了令人鼓舞的结果[8,16,9,17,10,18]。现有的大多数工作都是手动将相应的任务分解为两个步骤,第一步由高层级策略完成,第二步由低层级策略完成。特定于任务的设计限制了HRL对复杂任务的泛化。文献[19]提出了一个通用框架,该框架首先在环境中学习有用的技能(高级策略),然后利用所获得的技能在下游任务中更快地学习。此外,还有一些文献提出在训练两个层次的策略时自动生成或发现目标的方法[20,21,22]。

基于RL的疾病诊断方法

之前有一些工作将基于平级化的RL方法应用于医疗对话系统中[4,5,23,15,12],并产生了积极的结果。在文献[4]和[5]中,症状和疾病都被视为行动,并使用统一的策略来选择行动。考虑到不同疾病之间的分组,文献[23]根据解剖学将疾病分为不同的组,并为每组疾病制定策略。此外,在与患者交互时,使用基于规则的方法来选择策略。本文在文献[23]和[15]的基础上训练策略,同时固定不同组的策略,以取代基于规则的方法。由于高层次和低层次策略的单独训练,整个系统可能会达到次优解。此外,本文向用户告知疾病的动作是由低层级策略而不是高层级策略执行的,高级策略只能根据一些有限的信息进行诊断。

6. 总结和未来工作

在这项工作中,我们将疾病诊断描述为一个层次化的策略学习问题,其中症状获取和疾病诊断被分配给层次结构较低级别不同类型的worker。master模型在较高级别设计,负责触发较低级别模型。我们扩展了一个真实世界的数据集,并构建了一个仿真数据集来评估我们的层次化模型。据我们所知,这是第一次将这两种数据集用于模型评估,我们将这两种数据集公开。在两个数据集上的实验结果表明,我们的分层模型优于单层策略模型,也优于另一个HRL模型。未来,我们将在三个方向继续我们的研究。首先,我们希望通过引入更多的疾病,为构建真实世界的数据集做出贡献。其次,我们将研究对话系统中的自然语言理解和生成模块,以完成整个过程。第三,继续为在线自我诊断中的应用程序生成报告的任务将是很有意思的。

参考文献

[1] Chaitanya Shivade, Preethi Raghavan, Eric Fosler Lussier, Peter J Embi, Noemie Elhadad, Stephen B Johnson, and Albert M Lai. A review of approaches to identifying patient phenotype cohorts using electronic health records. Journal of the American Medical Informatics Association, 21(2):221–230, 2013.
[2] Siddhartha R Jonnalagadda, Abhishek K Adupa, Ravi P Garg, Jessica Corona-Cox, and Sanjiv J Shah. Textmining of the electronic health record: An information extraction approach for automated identification and subphenotyping of hfpef patients for clinical trials. Journal of cardiovascular translational research, 10(3):313–321, 2017.
[3] Finale Doshi-Velez, Yaorong Ge, and Isaac Kohane. Comorbidity clusters in autism spectrum disorders: an electronic health record time-series analysis. Pediatrics, 133(1):e54–e63, 2014.
[4] Zhongyu Wei, Qianlong Liu, Baolin Peng, Huaixiao Tou, Ting Chen, Xuanjing Huang, Kam-Fai Wong, and Xiangying Dai. Task-oriented dialogue system for automatic diagnosis. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), volume 2, pages 201– 207, 2018.
[5] Lin Xu, Qixian Zhou, Ke Gong, Xiaodan Liang, Jianheng Tang, and Liang Lin. End-to-end knowledge routed relational dialogue system for automatic diagnosis. arXiv preprint: arXiv:1901.10623, 2019.
[6] Ronald Parr and Stuart J Russell. Reinforcement Learning with hierarchies of machines. Advances in neural information processing systems, 1998.
[7] Richard S Sutton, Doina Precup, and Satinder Singh. Between mdps and semi-mdps: A framework for temporal abstraction in reinforcement learning. Artificial Intelligence, 1999.
[8] Jing Zhang, Bowen Hao, Bo Chen, Cuiping Li, Hong Chen, and Jimeng Sund. Hierarchical reinforcement learning for course recommendation in moocs. Psychology, 5(4.64):5–65, 2019. 
[9] Jiaping Zhang, Tiancheng Zhao, and Zhou Yu. Multimodal hierarchical reinforcement learning policy for task-oriented visual dialog. In Proceedings of the 19th Annual SIGdial Meeting on Discourse and Dialogue, pages 140–150, 2018.
[10] Jun Feng, Minlie Huang, Yijie Zhang, Yang Yang, and Xiaoyan Zhu. Relation mention extraction from noisy data with hierarchical reinforcement learning. arXiv preprint arXiv:1811.01237, 2018.
[11] Mohammad Ghavamzadeh. Hierarchical reinforcement in continuous state and multi-agent environments. 2005.
[12] Yu-shao Peng, Kai-Fu Tang, Hsuan-Tien Lin, and Edward Y Chang. Refuel: Exploring sparse features in deep reinforcement learning for fast disease diagnosis. 2018.
[13] Tejas D. Kulkarni, Karthik R. Narasimhan, Ardavan Saeedi, and Joshua B. Tenenbaum. Hierarchical deep reinforcement learning: Integrating temporal abstraction and intrinsic motivation. arXiv preprint: arXiv:1604.06057, 2018.
[14] Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Andrei A Rusu, Joel Veness, Marc G Bellemare, Alex Graves, Martin Riedmiller, Andreas K Fidjeland, GeorgOstrovski, et al. Human-level control through deep reinforcement learning. Nature, 518(7540):529, 2015.
[15] Hao-Cheng Kao, Kai-Fu Tang, and Edward Y Chang. Context-aware symptom checking for disease diagnosis using hierarchical reinforcement learning. 2018.
[16] Xin Wang, Wenhu Chen, Jiawei Wu, Yuan-Fang Wang, and William Yang Wang. Video captioning via hierarchical reinforcement learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4213–4222, 2018.
[17] Ryuichi Takanobu, Tianyang Zhang, Jiexi Liu, and Minlie Huang. A hierarchical framework for relation extraction with reinforcement learning. arXiv preprint arXiv:1811.03925, 2018.
[18] Jiaxian Guo, Sidi Lu, Han Cai, Weinan Zhang, Yong Yu, and Jun Wang. Long text generation via adversarial training with leaked information. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018. 
[19] Carlos Florensa, Yan Duan, and Pieter Abbeel. Stochastic neural networks for hierarchical reinforcement learning. arXiv preprint: arXiv:1704.03012, 2017.
[20] Ofir Nachum, Shixiang Gu, Honglak Lee, and Sergey Levine. Data-efficient hierarchical reinforcement learning. arXiv preprint: arXiv:1805.08296, 2018.
[21] Carlos Florensa, David Held, Xinyang Geng, and Pieter Abbeel. Automatic goal generation for reinforcement learning agents. 2018.
[22] Da Tang, Xiujun Li, Jianfeng Gao, Chong Wang, Lihong Li, and Tony Jebara. Subgoal discovery for hierarchical dialogue policy learning. arXiv preprint arXiv:1804.07855, 2018.
[23] Kai-Fu Tang, Hao-Cheng Kao, Chun-Nan Chou, and Edward Y Chang. Inquire and diagnose: Neural symptom checking ensemble using deep reinforcement learning. In Proceedings of NIPS Workshop on Deep Reinforcement Learning, 2016
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值