用于对冠状动脉疾病进行全自动评估的多任务学习框架的制作方法

文档序号:31500754发布日期:2022-09-14 08:47阅读:58来源:国知局
用于对冠状动脉疾病进行全自动评估的多任务学习框架的制作方法

1.本发明总体上涉及对冠状动脉疾病的全自动评估,并且特别地涉及用于根据计算机断层摄影血管造影术图像对冠状动脉疾病进行全自动评估的多任务学习框架。


背景技术:

2.cad(冠状动脉疾病)的特征是由于心脏动脉中的斑块的积聚所致的去往心脏的血流减少。cad是最常见的心脏病类型。在当前的临床实践中,对疑似患有cad的患者执行冠状动脉cta(计算机断层摄影血管造影术)成像,以进行风险分层和诊断。
3.常规地,通过单独地训练基于机器学习的模型来自动地执行根据冠状cta成像对cad的评估,该基于机器学习的模型用于执行诸如医学成像分析任务,例如病变检测和分类、伪影检测、狭窄分级和管腔分割。然而,用于对cad进行自动评估的这种常规方法在每个个体医学成像分析任务与总体结果之间缺乏一致性。此外,在一个医学成像分析任务中遇到的错误可能会传播到下游的医学成像分析任务。


技术实现要素:

4.根据一个或多个实施例,提供了用于对脉管进行自动评估的系统和方法。接收患者的脉管的一个或多个输入医学图像。使用基于机器学习的模型来执行用于评估脉管的多个脉管评估任务,所述基于机器学习的模型是使用多任务学习来训练的。所述多个脉管评估任务是由所述基于机器学习的模型基于从所述一个或多个输入医学图像中提取的共享特征来执行的。输出所述多个脉管评估任务的结果或所述多个脉管评估任务的结果的组合。
5.在一个实施例中,所述多个脉管评估任务包括对脉管中的狭窄的基于图像的狭窄分级,并且对脉管中的狭窄的基于图像的狭窄分级是在不使用脉管的管腔分割结果的情况下执行的。
6.在一个实施例中,所述多个脉管评估任务包括对脉管中的狭窄的基于图像的狭窄分级和根据所述一个或多个输入医学图像的管腔分割,并且基于图像的狭窄分级的结果和管腔分割的结果是一致的。在另一个实施例中,所述多个脉管评估任务包括对一个或多个血液动力学指数的确定和根据所述一个或多个输入医学图像的管腔分割,并且对一个或多个血液动力学指数的确定的结果和管腔分割的结果是一致的。
7.在一个实施例中,所述多个医学成像分析任务包括以下各项中的至少一个:对脉管中的疾病的检测和分类、对所述一个或多个输入医学图像中的伪影的检测和分类、对所述一个或多个输入医学图像中的异常的检测和分类、对脉管中的狭窄的基于图像的狭窄分级、以及根据所述一个或多个输入医学图像的管腔分割。对脉管中的疾病的检测和分类可以包括将疾病分类为钙化、未钙化、混合钙化和未钙化、以及高风险中的一个。对所述一个或多个输入医学图像中的伪影的检测和分类可以包括将伪影分类为成像伪影和图像处理伪影中的一个。对所述一个或多个输入医学图像中的异常的检测和分类可以包括将异常分
类为心肌桥和来自先前介入的异常中的一个。
8.在一个实施例中,所述基于机器学习的模型是使用未经注释的临床报告来训练的。所述多个脉管评估任务的结果可以包括针对所述多个脉管评估任务中的每一个的热图。
9.在一个实施例中,确定所述多个脉管评估任务的结果的置信度量(confidence measure)或所述多个脉管评估任务的每一个结果的置信度量。
10.通过参考以下具体实施方式和附图,本发明的这些和其他优点对本领域普通技术人员将是明显的。
附图说明
11.图1示出了根据一个或多个实施例的用于对脉管进行自动评估的方法;图2示出了根据一个或多个实施例的使用多任务学习来训练以执行多个脉管评估任务的基于机器学习的模型的多任务学习框架;图3示出了根据一个或多个实施例的用于多个脉管评估任务的示例性复合热图;图4示出了根据一个或多个实施例的用于将基于机器学习的模型训练成用于执行多个脉管评估任务的框架;图5示出了根据一个或多个实施例的用于将一个或多个基于机器学习的模型训练成用于狭窄分级的工作流程;图6示出了根据一个或多个实施例的用于生成合成数据的工作流程,该合成数据用于将一个或多个基于机器学习的模型训练成用于狭窄分级;图7示出了根据一个或多个实施例的用于将基于机器学习的模型训练成用于根据直径简档来生成管腔掩模的框架;图8示出了根据一个或多个实施例的用于将基于机器学习的网络训练成用于对狭窄进行分级的框架;图9示出了可以用于实现一个或多个实施例的示例性人工神经网络;图10示出了可以用于实现一个或多个实施例的卷积神经网络;以及图11示出了可以用于实现一个或多个实施例的计算机的高级框图。
具体实施方式
12.本发明总体上涉及用于对cad(冠状动脉疾病)进行全自动评估的多任务学习框架的方法和系统。本文中描述了本发明的实施例以给出对这些方法和系统的视觉理解。数字图像通常由一个或多个对象(或形状)的数字表示组成。在本文中通常在标识和操纵对象方面来描述对象的数字表示。这种操纵是在计算机系统的存储器或其他电路/硬件中完成的虚拟操纵。因此,要理解的是,可以使用存储在计算机系统内的数据在计算机系统内执行本发明的实施例。参考附图来描述本文中描述的实施例,在附图中,相同的参考数字表示相同或相似的元件。
13.本文中描述的实施例提供了一种用于对单个基于机器学习的模型进行端到端训练的多任务学习框架,该单个基于机器学习的模型用于执行用于评估cad的多个医学成像分析任务。通过利用这种单个基于机器学习的模型,确保了该多个医学成像分析任务中的
每一个的结果是一致的。此外,单个基于端到端机器学习的模型可以产生有意义的结果,而不管个体医学成像分析任务的失败。
14.图1示出了根据一个或多个实施例的用于对脉管进行自动评估的方法100。方法100的步骤可以由一个或多个合适的计算设备(诸如例如,图11的计算机1102)来执行。
15.在步骤102处,接收患者的脉管的一个或多个输入医学图像。患者的脉管可以是患者的动脉、患者的静脉、或患者的任何其他脉管。例如,脉管可以是患者的冠状动脉分支。在一个实施例中,输入医学图像包括沿着脉管采样的脉管横截面图像。然而,输入医学图像可以包括脉管的任何合适的图像,并且不限于脉管的横截面图像。在一些实施例中,输入医学图像可以包括如下特征:诸如例如脉管的重新格式化视图、脉管的几何特征(例如,到解剖界标或其他感兴趣解剖对象的距离、脉管直径的估计等)、脉管的解剖特征(例如,标识脉管的标签、脉管中的分叉的指示器等)或脉管的任何其他合适特征。
16.在一个实施例中,输入医学图像是ct(计算机断层摄影)图像,诸如例如cta(计算机断层摄影血管造影术)图像。然而,输入医学图像可以属于任何其他合适的模态,诸如例如mri(磁共振成像)、x射线、us(超声)或任何其他模态或模态组合。输入医学图像可以包括2d(二维)图像或3d(三维)体积,并且可以包括单个图像或多个图像(例如,随时间获取的图像序列)。当获取图像时,可以直接从诸如例如ct扫描仪之类的图像获取设备(例如,图11的图像获取设备1114)接收输入医学图像,或者可以通过从计算机系统的存储装置或存储器加载先前获取的图像或者从远程计算机系统接收图像来接收输入医学图像。
17.在步骤104处,使用基于机器学习的模型来执行用于评估脉管的多个脉管评估任务,该基于机器学习的模型是使用多任务学习来训练的。多个脉管评估任务是由该基于机器学习的模型基于从一个或多个输入医学图像提取的共享特征来执行的。多个脉管评估任务可以是用于评估脉管的任何合适的任务。
18.在一个实施例中,多个脉管评估任务包括对疾病(例如,冠状动脉疾病)的检测和分类,诸如例如对病变的定位和分类。病变可以被分类为例如钙化、未钙化、混合(即,钙化和未钙化)或高风险。可以基于高风险斑块特征(诸如例如,阳性重塑、低衰减、斑点状钙化和餐巾环体征)将病变分类为高风险。
19.在一个实施例中,多个脉管评估任务包括对输入医学图像中的伪影的检测和分类。例如,对伪影的检测和分类可以包括对成像伪影的定位以及将其分类为例如运动伪影(例如,由于心脏运动、呼吸运动)、金属伪影、条纹伪影、线束硬化伪影、或图像重建伪影。在另一个示例中,对伪影的检测和分类可以包括对图像后处理伪影的检测,该图像后处理伪影诸如例如中心线泄漏、或所跟踪的中心线中的捷径(shortcut)。
20.在一个实施例中,多个脉管评估任务包括对输入医学图像中的异常的检测和分类。例如,对异常的检测和分类可以包括对解剖异常的检测,该解剖异常诸如例如心肌桥、或由于先前介入(例如,支架、旁路移植等)所致的异常。
21.在一个实施例中,多个脉管评估任务包括对脉管中的狭窄的基于图像的狭窄分级。如本文中所使用的,基于图像的狭窄分级指代在不使用脉管的管腔分割结果的情况下直接根据共享特征执行的狭窄分级。狭窄可以被分级或分类为例如正常、极小、轻度、中度、重度或阻塞,或者可以被分级为百分比狭窄。
22.在一个实施例中,多个脉管评估任务包括对脉管的血液动力学指数(诸如例如,
ffr(血流储备分数)、cfr(冠状动脉血流储备)、ifr(瞬时无波形比率)等)的基于图像的确定。如本文中所使用的,对血液动力学指数的基于图像的确定指代在不使用脉管的管腔分割结果的情况下直接根据共享特征来确定血液动力学指数。
23.在一个实施例中,多个脉管评估任务包括生成符合检测到的特征的几何模型,诸如例如脉管的管腔分割和直径估计(例如,有效直径或最小直径)。例如,可以根据输入医学图像来分割脉管的管腔。脉管的管腔分割与基于图像的狭窄分级和对血流动力学指数的基于图像的确定是一致的。当基于图像的狭窄分级和对血液动力学指数的基于图像的确定将与基于管腔的分割结果所执行的狭窄分级或对血液动力学指数的确定相同或基本相似时,脉管的管腔分割与基于图像的狭窄分级和对血液动力学指数的基于图像的确定是一致的。
24.在一个实施例中,还针对多个脉管评估任务的结果来确定置信度量。置信度量可以是多个脉管评估任务作为整体的置信度量,该置信度量将指示多个脉管评估任务之间的一致性级别。置信度量也可以是针对多个脉管评估任务的每一个结果确定的置信度量。置信度量可以以任何合适的形式来表示,诸如例如置信度得分、表示置信度的热图等。
25.在一个实施例中,该基于机器学习的模型包括:1)编码器,用于将一个或多个输入医学图像编码成共享特征(即,隐特征或隐表示);以及2)多个解码器,每个解码器用于解码共享特征以执行多个脉管评估任务中的相应一个。基于经注释的训练数据在先前的离线或训练阶段期间使用多任务学习来训练该基于机器学习的模型以执行多个脉管评估任务。在一个实施例中,可以根据图4的框架400来训练该基于机器学习的模型,如下文中详细描述的那样。一旦被训练,就应用经训练的基于机器学习的模型(例如,在步骤104处)以在在线或测试阶段期间执行多个脉管评估任务。该基于机器学习的模型可以是用于执行多个脉管评估任务的任何合适的基于机器学习的模型,诸如例如dnn(深度神经网络)、cnn(卷积神经网络)、di2in(深度图像到图像网络)等。
26.图2示出了根据一个或多个实施例的使用多任务学习来训练以执行多个脉管评估任务的基于机器学习的模型的多任务学习框架200。框架200可以是在图4的步骤104处应用的基于机器学习的模型的框架。在框架200中,该基于机器学习的模型的编码器204接收患者的脉管的一个或多个输入医学图像202作为输入,并且将一个或多个输入医学图像202编码成共享特征206。该基于机器学习的模型的解码器d1 208-a、d2 208-b、d3 208-c、d4 208-d、d5 208-e和d6 208-f(统称为多个解码器208)解码共享特征206以执行相应的脉管评估任务210-a、210-b、210-c、210-d、210-e和210-f(统称为多个脉管评估任务210)。如框架200中所示,脉管评估任务210-a用于检测冠状动脉病变并且将其分类为钙化、未钙化、混合、或高风险(基于高风险斑块特征)。脉管评估任务210-b用于检测一个或多个输入医学图像202中的伪影并且将其分类为成像伪影(例如,运动伪影、金属伪影、条纹伪影、线束硬化伪影、或图像重建伪影)或后处理伪影(例如,中心线泄漏、或所跟踪的中心线中的捷径)。脉管评估任务210-c用于检测一个或多个输入医学图像202中的异常并且将其分类为肌桥异常、或由于先前介入(例如,支架或旁路移植)所致的异常。脉管评估任务210-d用于将基于图像的狭窄分级为正常、最小、轻度、中度、重度或阻塞。脉管评估任务210-e用于根据一个或多个输入医学图像202的管腔分割和/或直径估计,该管腔分割和/或直径估计符合基于图像的狭窄分级210-d的结果。脉管评估任务210-f用于根据一个或多个输入医学图像202的参考管腔壁分割和/或直径估计,该参考管腔壁分割和/或直径估计符合基于图像的狭窄
分级210-d的结果。
27.在一个实施例中,可以使用临床报告(例如,临床医生报告、实验室诊断报告等)来训练框架200。在一个实施例中,临床报告包括cadrads (冠状动脉疾病报告和数据系统)报告212。在训练阶段期间,可以首先使用训练医学图像和临床报告(没有注释)对该基于机器学习的模型进行预处理,并且然后基于手动注释对其进行精细调整以执行各种脉管评估任务(例如,ffr的确定、基于分割的狭窄分级等)。一旦被训练,该基于机器学习的模型的编码器204就接收临床报告作为输入,并且将临床报告编码成共享特征206。该基于机器学习的模型的解码器d5(图2中未示出)解码共享特征206以执行脉管评估任务。在一个实施例中,从临床报告训练的基于机器学习的模型所确定的各种脉管评估任务的结果和从手动注释的训练数据训练的基于机器学习的模型所确定的脉管评估任务的结果可以被组合,作为用于临床决策制定的多个证据。
28.在图1的步骤106处,输出多个脉管评估任务的结果或多个脉管评估任务的结果的组合。例如,通过在计算机系统的显示设备上显示多个脉管评估任务的结果或结果的组合、将多个脉管评估任务的结果或结果的组合存储在计算机系统的存储器或存储装置上、或者通过将多个脉管评估任务的结果或结果的组合传输到远程计算机系统,可以输出多个脉管评估任务的结果或结果的组合。多个脉管评估任务的结果或结果的组合可以被输入到其他系统(诸如例如,冠状动脉分析系统)中。
29.多个脉管评估任务的结果可以采用任何合适的形式。在一个实施例中,多个脉管评估任务的结果可以包括一个或多个热图。例如,多个脉管评估任务的结果可以包括:针对多个脉管评估任务中的每一个的热图、并入了针对多个脉管评估任务中的一个或多个的热图(例如,以加权的方式来滤除特定区域)的复合热图、仅具有疾病特定结果(例如,狭窄和/或斑块)的热图、仅具有非疾病特定结果(例如,运动伪影)的热图、脉管评估任务的发现在图像上的显式定位(即,没有热图)、图像上的疾病标签(没有热图或结果的显式位置)、热图到一组类别(例如,scct(心血管计算机断层摄影学会)狭窄严重性分级标度)的变换等。图3中示出了热图的示例。
30.图3示出了根据一个或多个实施例的用于多个脉管评估任务的示例性复合热图300。复合热图300可以是在图1的步骤106输出的多个脉管评估任务的结果。复合热图300示出了脉管的输入医学图像302以及多个对应热图304-314,该多个对应热图304-314分别表示在输入医学图像302上执行的多个脉管评估任务的结果。如图3所示,热图304示出了狭窄分级的结果,热图306示出了病变被分类为未钙化的结果,热图308示出了病变被分类为钙化混合的结果,热图310示出了对运动伪影的检测的结果,热图312示出了对由于支架所致的异常的检测的结果,并且热图314示出了对患病病变的检测的结果。热图304-314可以被颜色编码以表示脉管评估任务的检测、分类或其他结果的程度。在输入医学图像302中沿着脉管的水平位置对应于热图304-314的水平位置。
31.有利地,本文中描述的实施例使得能够对冠状动脉疾病进行全自动评估,同时产生其中定位了发现的脉管评估任务的可解释结果。本文中描述的实施例联合地训练用于执行多个脉管评估任务的单个基于端到端机器学习的模型。这确保了不同脉管评估任务之间的结果的一致性,以及通过在相关脉管评估任务之间的共享特征确保了改进的性能和泛化。本文中描述的实施例还使得能够通过使用相同的框架从其他形式的训练数据中学习,
以便利用大量的临床报告。
32.图4示出了根据一个或多个实施例的用于将基于机器学习的模型训练成用于执行多个脉管评估任务的框架400。在一个实施例中,框架400可以用于训练在图1的步骤104处应用的基于机器学习的模型。框架400使用多任务学习来训练该基于机器学习的模型以执行与管腔分割一致的多个脉管评估任务。如框架400中所示,该基于机器学习的模型的编码器406接收脉管的训练医学图像402和脉管狭窄的对应输入狭窄等级404作为输入。编码器406将训练医学图像402和输入狭窄等级404编码成隐表示408(即,共享特征)。该基于机器学习的模型的解码器410解码隐表示408,以用于根据输入训练医学图像402来执行管腔分割以生成管腔掩模412、以及用于执行其他脉管评估任务(未在框架400中示出)。该基于机器学习的模型是利用针对地面真值管腔掩模的重建损失来训练的。基于ai(人工智能)的狭窄分级414接收管腔掩模412作为输入,并且确定输出狭窄等级416。通过使在输入狭窄等级404与基于管腔掩模412所预测的输出狭窄等级416之间计算的损失最小化,来确保管腔分割412与输入狭窄等级404之间的一致性。
33.图5示出了根据一个或多个实施例的用于将一个或多个基于机器学习的模型训练成用于狭窄分级的工作流程500。工作流程500可以对应于图4的框架400。例如,用于执行成像任务的ai网络504可以是包括图4中的编码器406和解码器410的基于机器学习的模型,并且用于执行临床任务的ai网络508可以执行图4中的基于ai的狭窄分级414。如工作流程500中所示,ai网络504接收脉管的一个或多个横截面图像502作为输入,并且根据横截面图像502来分割管腔作为管腔掩模506。ai网络508接收管腔掩模506作为输入,并且生成脉管的狭窄等级510。ai网络504和ai网络508被训练以便优化管腔分割和狭窄分级的加权组合。ai网络508可以在具有已知地面真值狭窄等级的合成生成的管腔掩模上训练。可以根据图6来生成合成生成的管腔掩膜。在一个实施例中,可以将工作流程500修改成从合成生成的直径来学习狭窄分级和参考直径预测。
34.图6示出了根据一个或多个实施例的用于生成合成数据的工作流程600,该合成数据用于将一个或多个基于机器学习的模型训练成用于狭窄分级。可以执行工作流程600以根据图5的训练ai网络508来生成合成数据。如工作流程600中所示,狭窄和直径生成器604接收生成器参数602作为输入并且生成脉管的直径简档608,管腔掩模生成器610接收直径简档608作为输入并且生成管腔掩模612,并且狭窄分级模型614接收管腔掩模612作为输入并且生成狭窄等级616。
35.可以根据基于gan(生成性对抗网络)的方法或基于规则的方法来实现狭窄和直径生成器604,以生成直径简档608。在基于gan的方法中,gan的生成器接收生成器参数的隐向量作为输入以生成合成直径简档,并且gan的判别器接收合成直径简档和实际直径简档。判别器迫使生成器基于真实直径简档来生成逼真的合成直径简档。在基于规则的方法中,可以采用三步骤过程来生成直径简档608。在第一步骤中,通过规定脉管树的每一代处的分支数量来初始化脉管几何形状的骨架。在第二步骤中,针对脉管树的每一代来规定几何信息,诸如例如脉管半径、逐渐变细(tapering)的程度、分支长度、分叉角度等。可以在从已公布文献中得到的预先指定的范围内采样定义了该几何信息的参数。在第三步骤中,在脉管树中生成狭窄。针对主分支段,可以在0与3之间随机地采样脉管上的狭窄数量,并且针对侧分支段,可以在0与2之间随机地采样脉管上的狭窄数量。针对每个狭窄可设置的参数可以包
括:例如,半径减小的最大程度、总长度、狭窄中心的位置、具有最小半径的狭窄区域的长度、以及沿着狭窄逐渐变细的总程度。狭窄要么被放置在单个段上、要么被放置在分叉处。如果生成了分叉狭窄,则针对该分叉的父分支和子分支设置不同的狭窄参数值。一旦定义了狭窄性质,就可以例如通过采用从最大到最小到最大直径值的正弦半径变化来生成特定直径。此外,除了直径信息之外,还可以生成非圆形度值,该非圆形度值描述了例如横截面平坦化的程度。此外,可以直接基于直径信息来定义狭窄等级,并且然后一旦生成了管腔掩模,就校正或实施该狭窄等级。
36.可以基于vae(变分自动编码器)网络来实现管腔掩模生成器610以用于生成管腔掩模612。图7示出了根据一个或多个实施例的用于将基于机器学习的模型训练成用于根据直径简档来生成管腔掩模的框架700。在一个实施例中,根据框架700所训练的基于机器学习的模型可以被用于实现图6的管腔掩模生成器610。框架700使用管腔掩模的序列以及它们对应的直径简档来训练该基于机器学习的网络。在框架700中,编码器704接收管腔掩模702作为输入,并且将输入管腔掩模702编码成共享特征706。为了添加直径信息,通过如下方式来提供输入管腔直径简档708作为输入:1)在从隐空间进行采样之前由vae 710将其与特征706进行级联、以及2)在解码之前利用来自vae 710的级联特征。解码器712对级联特征和输入管腔直径简档708进行解码,以生成所预测的管腔掩模714。然后,在后处理中根据所预测的管腔掩模714来生成所预测的直径简档716。可以使用可微分函数来计算所预测的直径简档716。例如,可以确定每个管腔掩模714的面积并且计算对应的等效直径。为了验证在重建期间考虑了直径信息,计算所预测的直径简档716与输入管腔直径简档708之间的互相关损失。该基于机器学习的模型的损失由重建损失、互相关损失和kld(kullback-leibler散度)损失的总和构成。
37.参考图6,可以使用狭窄分级模型来实现狭窄分级模型614。图8示出了根据一个或多个实施例的用于将基于机器学习的网络训练成用于对狭窄进行分级的框架800。在一个实施例中,根据框架800所训练的基于机器学习的模型可以被用于实现图6的狭窄分级模型614。在框架800中,狭窄和直径生成器802生成直径简档804,并且管腔掩模生成器806根据直径简档804来生成管腔掩模808。在一个实施例中,狭窄和直径生成器802可以是图6的狭窄和直径生成器604,并且管腔掩模生成器806可以是图6的管腔掩模生成器610。根据框架800所训练的基于机器学习的网络在可以根据图7的框架700而生成的合成管腔掩模的序列上被训练。管腔掩模808被输入到编码器810中,编码器810将管腔掩模808编码成共享特征812。全连接网络814根据每个管腔掩模808的共享特征812来确定所预测的狭窄等级816。
38.在一个实施例中,用于实现图6的狭窄和直径生成器604、管腔掩模生成器610、以及狭窄分级614的该基于机器学习的模型可以使用多任务学习以端到端的方式来训练。
39.本文中描述的实施例是关于要求保护的系统以及关于要求保护的方法来描述的。本文中的特征、优点或替代实施例可以被指派给其他要求保护的对象,并且反之亦然。换句话说,可以利用在方法的上下文中描述或要求保护的特征来改进用于系统的权利要求。在这种情况下,该方法的功能特征通过提供系统的目标单元来体现。
40.此外,本文中描述的某些实施例是关于利用经训练的基于机器学习的网络(或模型)的方法和系统、以及关于用于训练基于机器学习的网络的方法和系统来描述的。本文中的特征、优点或替代实施例可以被指派给其他要求保护的对象,并且反之亦然。换句话说,
可以利用在用于利用经训练的基于机器学习的网络的方法和系统的上下文中描述或要求保护的特征来改进用于训练基于机器学习的网络的方法和系统的权利要求,并且反之亦然。
41.特别地,在本文中描述的实施例中应用的经训练的基于机器学习的网络可以通过用于训练基于机器学习的网络的方法和系统来适配。此外,经训练的基于机器学习的网络的输入数据可以包括训练输入数据的有利特征和实施例,并且反之亦然。此外,经训练的基于机器学习的网络的输出数据可以包括输出训练数据的有利特征和实施例,并且反之亦然。
42.一般而言,经训练的基于机器学习的网络模仿了人类与其他人类心智进行关联的认知功能。特别地,通过基于训练数据的训练,经训练的基于机器学习的网络能够适应新情况并且检测和推断出模式。
43.一般而言,可以借助于训练来适配基于机器学习的网络的参数。特别地,可以使用监督训练、半监督训练、无监督训练、强化学习和/或主动学习。此外,可以使用表示学习(替代术语是“特征学习”)。特别地,可以通过若干个训练步骤来迭代地适配经训练的基于机器学习的网络的参数。
44.特别地,经训练的基于机器学习的网络可以包括神经网络、支持向量机、决策树和/或贝叶斯网络,和/或经训练的基于机器学习的网络可以基于k均值聚类、q学习、遗传算法和/或关联规则。特别地,神经网络可以是深度神经网络、卷积神经网络或卷积深度神经网络。此外,神经网络可以是对抗网络、深度对抗网络和/或生成式对抗网络。
45.图9示出了根据一个或多个实施例的人工神经网络900的实施例。“人工神经网络”的替代术语是“神经网络”、“人工神经网”或“神经网”。可以使用人工神经网络900来实现本文中描述的机器学习网络。
46.人工神经网络900包括节点902-922和边932、934
……
936,其中每个边932、934
……
936是从第一节点902-922到第二节点902-922的有向连接。一般而言,第一节点902-922和第二节点902-922是不同的节点902-922,也有可能第一节点902-922和第二节点902-922是相同的。例如,在图9中,边932是从节点902到节点906的有向连接,并且边934是从节点904到节点906的有向连接。从第一节点902-922到第二节点902-922的边932、934
……
936还被表示为针对第二节点902-922的“传入边”、以及被表示为针对第一节点902-922的“传出边”。
47.在该实施例中,人工神经网络900的节点902-922可以被布置在层924-930中,其中这些层可以包括由节点902-922之间的边932、934
……
936引入的固有次序。特别地,边932、934
……
936可以仅存在于节点的相邻层之间。在图9所示的实施例中,存在仅包括节点902和904而没有传入边的输入层924,仅包括节点922而没有传出边的输出层930、以及在输入层924和输出层930之间的隐藏层926、928。一般而言,可以任意地选择隐藏层926、928的数量。输入层924内的节点902和904的数量通常与神经网络900的输入值的数量有关,并且输出层930内的节点922的数量通常与神经网络900的输出值的数量有关。
48.特别地,可以将(实数)数字作为值指派给神经网络900的每个节点902-922。在这里,x
(n)i
表示第n层924-930的第i个节点902-922的值。输入层924的节点902-922的值等同于神经网络900的输入值,输出层930的节点922的值等同于神经网络900的输出值。此外,每
个边932、934
……
936可以包括实数的权重,特别地,该权重是在区间[-1,1]内或区间[0,1]内的实数。在这里,w
(m,n)i,j
表示第m层924-930的第i个节点902-922与第n层924-930的第j个节点902-922之间的边的权重。此外,缩写w
(n)i,j
被定义为权重w
(n,n+1)i,j

[0049]
特别地,为了计算神经网络900的输出值,使输入值传播通过神经网络。特别地,可以基于第n层924-930的节点902-922的值通过下式来计算第(n+1)层924-930的节点902-922的值:。
[0050]
在本文中,函数f是传递函数(另一个术语是“激活函数”)。已知的传递函数是阶梯函数、sigmoid函数(例如,逻辑函数、广义逻辑函数、双曲正切函数、反正切函数、误差函数、平滑阶梯函数(smoothstep function))或整流函数(rectifier function)。传递函数主要被用于归一化目的。
[0051]
特别地,使这些值逐层传播通过神经网络,其中输入层924的值由神经网络900的输入给出,其中第一隐藏层926的值可以基于神经网络的输入层924的值来计算,其中第二隐藏层928的值可以基于第一隐藏层926的值来计算,等等。
[0052]
为了设置针对边的值w
(m,n)i,j
,必须使用训练数据来训练神经网络900。特别地,训练数据包括训练输入数据和训练输出数据(被表示为ti)。对于训练步骤,将神经网络900应用于训练输入数据以生成所计算的输出数据。特别地,训练数据和所计算的输出数据包括某个数量的值,所述数量等于输出层的节点数量。
[0053]
特别地,使用所计算的输出数据与训练数据之间的比较来递归地适配神经网络900内的权重(反向传播算法)。特别是,根据以下公式来改变权重:其中γ是学习率,并且如果第(n+1)层不是输出层,则可以基于δ
(n+1)j
递归地将数字δ
(n)j
计算为:并且如果第(n+1)层是输出层930,则将其计算为:其中f'是激活函数的一阶导数,并且y
(n+1)j
是输出层930的第j个节点的比较训练值。
[0054]
图10示出了根据一个或多个实施例的卷积神经网络1000。可以使用卷积神经网络1000来实现本文中描述的机器学习网络。
[0055]
在图10所示的实施例中,卷积神经网络包括1000输入层1002、卷积层1004、池化层1006、全连接层1008和输出层1010。替代地,卷积神经网络1000可以包括若干个卷积层1004、若干个池化层1006和若干个全连接层1008、以及其他类型的层。可以任意地选择这些
层的次序,通常全连接层1008被用作输出层1010之前的最后的层。
[0056]
特别地,在卷积神经网络1000内,一个层1002-1010的节点1012-1020可以被认为被布置为d维矩阵或d维图像。特别地,在二维情况下,在第n层1002-1010中用i和j索引的节点1012-1020的值可以被表示为x
(n)[i, j]
。然而,一个层1002-1010的节点1012-1020的布置对在卷积神经网络1000内执行的计算本身没有影响,这是因为它们仅由边的结构和权重所给出。
[0057]
特别地,卷积层1004的特征在于基于某个数量的核而形成卷积操作的传入边的结构和权重。特别地,选择传入边的结构和权重,使得卷积层1004的节点1014的值x
(n)k
被计算为基于前一层1002的节点1012的值x
(n-1)
的卷积x
(n)k
=kk* x
(n-1)
,其中卷积*在二维情况下被定义为:。
[0058]
在这里,第k个核kk是d维矩阵(在该实施例中是二维矩阵),该矩阵与节点1012-1018的数量相比通常较小(例如,3
×
3矩阵或5
×
5矩阵)。特别地,这意味着传入边的权重不是独立的,而是被选择成使得它们产生所述卷积公式。特别地,对于3
×
3矩阵的核而言,仅存在9个独立权重(核矩阵的每个条目对应于一个独立权重),而与相应层1002-1010中的节点1012-1020的数量无关。特别地,对于卷积层1004而言,卷积层中的节点1014的数量等于前一层1002中的节点1012的数量乘以核的数量。
[0059]
如果前一层1002的节点1012被布置为d维矩阵,则使用多个核可以被解释为添加另外的维度(被表示为“深度”维度),使得卷积层1004的节点1014被布置为(d+1)维矩阵。如果前一层1002的节点1012已经被布置为包括深度维度的(d+1)维矩阵,则使用多个核可以被解释为沿着深度维度进行扩展,使得卷积层1004的节点1014也被布置为(d+1)维矩阵,其中关于深度维度的(d+1)维矩阵的大小是在前一层1002中的大小的核数量的因子。
[0060]
使用卷积层1004的优点在于:可以通过在相邻层的节点之间强制执行局部连接性模式来、特别是通过将每个节点仅连接到前一层的节点的较小区域来利用输入数据的空间局部相关性。
[0061]
在图10所示的实施例中,输入层1002包括被布置为二维6
×
6矩阵的36个节点1012。卷积层1004包括被布置为两个二维6
×
6矩阵的72个节点1014,这两个矩阵中的每一个是输入层的值与核进行卷积的结果。等同地,卷积层1004的节点1014可以被解释为布置为三维6
×6×
2矩阵,其中最后一个维度是深度维度。
[0062]
池化层1006可以由传入边的结构和权重以及其节点1016的激活函数来表征,从而形成基于非线性池化函数f的池化操作。例如,在二维情况下,池化层1006的节点1016的值x
(n)
可以基于前一层1004的节点1014的值x
(n-1)
被计算为:。
[0063]
换句话说,通过使用池化层1006,可以通过在池化层中用单个节点1016来替换前一层1004中的数量d1
·
d2的相邻节点1014,从而减少节点1014、1016的数量,该单个节点1016是根据所述数量的相邻节点的值来计算的。特别地,池化函数f可以是最大值函数、平
均值或l2范数。特别地,对于池化层1006而言,传入边的权重是固定的,并且不通过训练来修改。
[0064]
使用池化层1006的优点在于减少了节点1014、1016的数量和参数的数量。这导致了网络中的计算量减少,并且导致了对过拟合的控制。
[0065]
在图10所示的实施例中,池层1006是最大池化,其用仅一个节点来替换四个相邻节点,该值是四个相邻节点的的值中的最大值。最大池化被应用于先前层的每个d维矩阵;在该实施例中,最大池化被应用于两个二维矩阵中的每一个,从而将节点数量从72个减少到18个。
[0066]
全连接层1008的特征在于以下事实:先前层1006的节点1016与全连接层1008的节点1018之间的大部分边、特别是所有边都存在,并且其中每一个边的权重可以被单独地调整。
[0067]
在该实施例中,全连接层1008的前一层1006的节点1016既被显示为二维矩阵,又被附加地显示为不相关的节点(它们被指示为一行节点,其中节点数量减少以获得更好的展示性(presentability))。在该实施例中,全连接层1008中的节点1018的数量等于前一层1006中的节点1016的数量。替代地,节点1016、1018的数量可以不同。
[0068]
此外,在该实施例中,通过将softmax函数应用于前一层1008的节点1018的值上,从而确定输出层1010的节点1020的值。通过应用softmax函数,输出层1010的所有节点1020的值的总和是1,并且输出层的所有节点1020的所有值是0到1之间的实数。
[0069]
卷积神经网络1000还可以包括relu(整流线性单元)层或具有非线性传递函数的激活层。特别是,relu层中包含的节点数量和节点结构等同于前一层中包含的节点数量和节点结构。特别地,通过将整流函数应用于前一层的对应节点的值来计算relu层中的每个节点的值。
[0070]
不同卷积神经网络块的输入和输出可以使用求和(残差/密集神经网络)、逐元素乘法(注意力)或其他可微分运算符来连接。因此,如果整个流水线是可微分的,则卷积神经网络结构可以是嵌套的,而不是顺序的。
[0071]
特别地,可以基于反向传播算法来训练卷积神经网络1000。为了防止过拟合,可以使用正则化的方法,例如节点1012-1020的丢弃(dropout)、随机池化、人工数据的使用、基于l1或l2范数的权重衰减、或最大范数约束。为了训练相同的神经网络,可以组合不同的损失函数,以反映联合训练目标。可以从优化中排除神经网络参数的子集,以保留在其他数据集上预训练的权重。
[0072]
本文中描述的系统、装置和方法可以使用数字电路来实现,或者使用一个或多个使用公知的计算机处理器、存储器单元、存储设备、计算机软件和其他组件的计算机来实现。通常,计算机包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。计算机还可以包括或可以耦合到一个或多个大容量存储设备,诸如一个或多个磁盘、内部硬盘和可移除磁盘、磁光盘、光盘等。
[0073]
本文中描述的系统、装置和方法可以使用以客户端-服务器关系操作的计算机来实现。通常,在这种系统中,客户端计算机位于远离服务器计算机的位置,并且经由网络进行交互。客户端-服务器关系可以由在相应客户端和服务器计算机上运行的计算机程序来定义和控制。
[0074]
本文中描述的系统、装置和方法可以在基于网络的云计算系统内实现。在这种基于网络的云计算系统中,连接到网络的服务器或另一个处理器经由网络与一个或多个客户端计算机通信。客户端计算机可以经由例如在客户端计算机上驻留和操作的网络浏览器应用与服务器进行通信。客户端计算机可以将数据存储在服务器上,并且经由网络来访问该数据。客户端计算机可以经由网络将对数据的请求或对在线服务的请求传输到服务器。服务器可以执行所请求的服务,并且将数据提供给(一个或多个)客户端计算机。服务器还可以传输被适配成使客户端计算机执行指定功能(例如,执行计算、在屏幕上显示指定数据等)的数据。例如,服务器可以传输被适配成使客户端计算机执行本文中描述的方法和工作流程的一个或多个步骤或功能(包括图1的一个或多个步骤或功能)的请求。本文中描述的方法和工作流程的某些步骤或功能(包括图1的一个或多个步骤或功能)可以由服务器或者由基于网络的云计算系统中的另一个处理器来执行。本文中描述的方法和工作流程的某些步骤或功能(包括图1的一个或多个步骤)可以由基于网络的云计算系统中的客户端计算机来执行。本文中描述的方法和工作流程的步骤或功能(包括图1的一个或多个步骤)可以由服务器和/或由基于网络的云计算系统中的客户端计算机以任何组合的形式来执行。
[0075]
本文中描述的系统、装置和方法可以使用有形地体现在信息载体中(例如,体现在非暂时性机器可读存储设备中)以供可编程处理器执行的计算机程序产品来实现;并且本文中描述的方法和工作流程步骤(包括图1的一个或多个步骤或功能)可以使用可由这种处理器执行的一个或多个计算机程序来实现。计算机程序是一组计算机程序指令,可以在计算机中直接或间接使用这些指令来执行某个活动或带来某个结果。计算机程序能够以任何形式的编程语言(包括编译或解译的语言)来编写,并且它能够以任何形式来部署,包括作为独立程序或作为模块、组件、子例程、或适合用于计算环境中的其他单元。
[0076]
图11中描绘了可以被用来实现本文中描述的系统、装置和方法的示例计算机1102的高级框图。计算机1102包括可操作地耦合到数据存储设备1112和存储器1110的处理器1104。处理器1104通过执行定义了计算机1102的总体操作的计算机程序指令来控制这种操作。计算机程序指令可以存储在数据存储设备1112、或其他计算机可读介质中,并且在期望执行计算机程序指令时被加载到存储器1110中。因此,图2的方法和工作流程步骤或功能可以由存储在存储器1110和/或数据存储设备1112中的计算机程序指令来定义,并且可以由执行计算机程序指令的处理器1104来控制。例如,计算机程序指令可以被实现为由本领域技术人员编程以执行图1的方法和工作流程步骤或功能的计算机可执行代码。因此,通过执行计算机程序指令,处理器1104执行图1的方法和工作流程步骤或功能。计算机1102还可以包括一个或多个网络接口1106以用于经由网络与其他设备通信。计算机1102还可以包括使得用户能够与计算机1102进行交互的一个或多个输入/输出设备1108(例如,显示器、键盘、鼠标、扬声器、按钮等)。
[0077]
处理器1104可以包括通用微处理器和专用微处理器两者,并且可以是计算机1102的唯一处理器或者多个处理器之一。例如,处理器1104可以包括一个或多个中央处理单元(cpu)。处理器1104、数据存储设备1112和/或存储器1110可以包括一个或多个专用集成电路(asic)和/或一个或多个现场可编程门阵列(fpga)、由其补充或者被并入其中。
[0078]
数据存储设备1112和存储器1110均包括有形的非暂时性计算机可读存储介质。数据存储设备1112和存储器1110可以均包括高速随机存取存储器,诸如动态随机存取存储器
(dram)、静态随机存取存储器(sram)、双倍数据速率同步动态随机存取存储器(ddr ram)、或其他随机存取固态存储器设备,并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备(诸如,内部硬盘和可移除磁盘)、磁光盘存储设备、光盘存储设备、闪速存储器设备、半导体存储器设备(诸如,可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、紧凑盘只读存储器(cd-rom)、数字多功能盘只读存储器(dvd-rom)盘或其他非易失性固态存储设备。
[0079]
输入/输出设备1108可以包括外围设备,诸如打印机、扫描仪、显示屏等。例如,输入/输出设备1108可以包括用于向用户显示信息的显示设备(诸如,阴极射线管(crt)或液晶显示器(lcd)监视器)、键盘以及诸如鼠标或轨迹球之类的指点设备,用户可以通过该指点设备向计算机1102提供输入。
[0080]
图像获取设备1114可以连接到计算机1102,以将图像数据(例如,医学图像)输入到计算机1102。将图像获取设备1114和计算机1102实现为一个设备是可能的。图像获取设备1114和计算机1102通过网络进行无线通信也是可能的。在可能的实施例中,计算机1102可以相对于图像获取设备1114远程地定位。
[0081]
可以使用一个或多个计算机(诸如,计算机1102)来实现本文中讨论的任何或所有系统和装置。
[0082]
本领域技术人员将认识到,实际计算机或计算机系统的实现方式可以具有其他结构,并且也可以包含其他组件,并且出于说明性目的,图11是这种计算机中的一些组件的高级表示。
[0083]
前述具体实施方式应在每个方面被理解为是说明性和示例性的,而非限制性的,并且本文中公开的本发明的范围不是由该具体实施方式确定的,而是从根据专利法允许的全部范围(full breadth)所解释的权利要求来确定的。要理解的是,本文中所示出和描述的实施例仅仅说明了本发明的原理,并且本领域技术人员可以在不脱离本发明的范围和精神的情况下实现各种修改。本领域技术人员可以在不脱离本发明的范围和精神的情况下实现各种其他特征组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1