如何构建一个辅助诊断疾病模型
辅助诊断疾病模型旨在根据病历或者病情描述给出诊断疾病的提示。这款模型用到了人工智能领域的深度学习方法,构建的过程用到了大量的真实病历。学习过的病历数越多,模型的准确度通常会越高,超越传统的通过规则和统计的辅助诊断方法。
传统的通过规则和统计的辅助诊断疾病方法,其原理是识别关键信息。以规则为例,该方法通常采用是一套复杂的决策体系,是一套大量的存在何种情况就走哪条判别路径的规则系统,典型的就是以《临床指南》作为原始规则素材,将与或非逻辑转换为代码,写成一套系统。以统计为例,该方法通常采用贝叶斯方法,识别病历中的关键词,例如症状等,通过计算这些关键词在全量病历中对应哪种诊断最多,给出概率最大的诊断。以上两种传统方法都有明显的不足。规则方法过于死板,规则难以穷尽,规则之间错综复杂的关系难以梳理,并固定为程序。统计方法最多只能统计有限个关键词,对于表述的多样性无能为力,而且常用的朴素贝叶斯方法有一个独立事件的强假设与现实世界不相符。
本篇报告提出一种辅助诊断疾病模型的构建方法,利用到了深度学习在自然语言处理领域的成果。该方法的核心是深度神经网络中的文本分类算法。这种方法已经被证明在准确率上远超传统的统计方法和传统的机器学习方法。同时,这种方法需要远超传统方法的数据用于学习,通过对海量数据的学习,模型就会具备见多识广的能力。采用这种方法,不需要堆砌大量的诊断规则,不仅便于维护,而且节省人力。采用这种方法,避免了独立事件的强假设,不仅能够学习到不同诊断之间的相关性,还能对各类诊断都给出一个基于大数据分析的概率。
下文将着重阐述该模型构建的过程和方法。为此,首先下文对本模型将会所运用到的深度学习算法核心做一个介绍。
本模型所运用到的深度学习算法核心是循环神经网络模型。神经网络是为了模仿人类大脑构建的一种模型结构。模型内部有一到多层,每一层有大量被称为神经元的节点,每一层的神经元与前后层的神经元有信息传递,就好像高等动物神经系统内的突触,信息传递就好像突触发出信号。神经网络模型能够计算这些信号,依赖于神经网络能够对神经元之间的前馈传递和反向传递进行运算。最终神经网络能够就在不断地前馈和反向传递中调整每个神经元的参数,最终这些神经元的组织结构和所带的参数就是神经网络模型。
循环神经网络模型是深度神经网络的一种(图1)。该模型适合用于文本序列,不仅能学习到文本的结构特征,而且还能学习到文本的语义关系。循环神经网络模型中也有神经元,原始文本序列传递信号给神经元,神经元输出隐藏状态,神经元之间可前后传递信息。循环神经网络通过计算这些传递的信息,调整每个神经元的参数,最终那一条神经元的组织结构和所带的参数就是循环神经网络模型。
Figure 1 循环神经网络模型
长短时记忆模型是循环神经网络模型的一个变种(图2)。这是本篇报告将采用的循环神经网络模型的具体形式。长短时记忆模型能解决标准循环神经网络模型在长时记忆上的不足。长短时记忆模型将循环神经网络模型中的那一串神经元转换为一串细胞单元。在细胞之间,传递着细胞状态和前文信息的隐藏状态。每个细胞内部通过计算新节点的输入信息,先前节点逐渐遗忘后的信息,前一个细胞的细胞状态,得出新的隐藏状态,以及新的细胞状态。每个细胞内部通过循环结构,将三个输入信息发生交互,通过一系列非线性结构,生成两个输出信息。长短时记忆模型通过对原始文本序列的学习,不断调整每个细胞内部的参数,会逐渐学习到前文中哪些字符所代表的信息是可以