本说明书有关利用机器学习模型来处理组织样本的放大图像。
背景技术
机器学习模型接收输入并基于所接收的输入产生输出(例如预测输出)。有些机器学习模型为参数性模型而基于所接收输入和该模型的参数的值来产生输出。
有些机器学习模型为采用多层模型以针对所接收输入产生输出的深度模型。例如,深度神经网络是包括输出层和一个或多个隐藏层的深度机器学习模型,该一个或多个隐藏层各对所接收的输入应用非线性变换来产生输出。
技术实现要素:
本说明书说明一种系统,其被实施成在一个或多个地点的一个或多个计算机上的计算机程序,以用于将组织样本的放大图像分割成为相应的组织分类。
根据第一方面,提供一种由一个或多个数据处理设备执行以训练机器学习模型来分割组织样本的放大图像的方法。该方法包括重复地进行包括取得组织样本的放大图像的操作。根据机器学习模型的模型参数的当前值处理输入,以产生将图像分割成组织分类集合的自动分区,该输入包含图像、从图像导出的特征、或以上两者,其中自动分区指定对应于图像的各像素的相应组织分类。通过使用者界面向使用者提供针对以下的表示:(i)图像、及(ii)图像的自动分区。通过使用者界面从使用者取得指定对图像的自动分区进行的一个或多个修改的输入。确定图像的经编辑的分区,包括:将使用者指定的修改应用至图像的自动分区。机器学习模型的模型参数的更新值基于图像的经编辑的分区而被确定。
在一些实施方式中,组织分类集合包括癌组织及非癌组织。
在一些实施方式中,图像是利用显微镜获取的全玻片图像(whole slide image,WSI)。
在一些实施方式中,机器学习模型包括神经网络模型。
在一些实施方式中,神经网络模型是包括一个或多个卷积神经网络层的卷积神经网络模型。
在一些实施方式中,通过使用者界面向使用者提供针对(i)图像、及(ii)图像的自动分区的表示的操作包括:通过使用者界面向使用者提供描绘覆盖在图像上的自动分区的可视化。
在一些实施方式中,描绘覆盖在图像上的自动分区的可视化指示对应于图像的各像素的相应组织分类。
在一些实施方式中,对于图像的一个或多个像素而言,对自动分区进行的各修改指示对由自动分区为像素所指定的相应组织分类进行的改变。将使用者所指定的修改应用至图像的自动分区的操作包括:根据由使用者指定的修改改变对应于图像的一个或多个像素的组织分类。
在一些实施方式中,基于图像的经编辑的分区来确定模型参数的更新值的操作包括:确定目标函数的梯度,该目标函数表征以下两者之间的相似性:(i)图像的自动分区、及(ii)图像的经编辑的分区;及利用这些梯度来调整模型参数的值。
在一些实施方式中,该方法进一步包括确定专业度得分(expertise score),该专业度得分表征使用者在查看及编辑组织分区上的预测技能。
根据另一方面,提供有一种系统,包括:一个或多个计算机;及通信耦接至一个或多个计算机的一个或多个储存装置,其中一个或多个储存装置储存指令,当指令由一个或多个计算机执行时,使得一个或多个计算机进行第一个方面的方法的操作。
根据第三个方面,提供有一种或多种储存指令的非暂时性计算机储存介质,当指令由一个或多个计算机执行时使得一个或多个计算机进行第一个方面的方法的操作。
本说明书说明的主题的特定实施方式能被实施以实现以下优点中的一者或多者。本说明书中所述分割系统使得使用者(例如病理学家)能够与机器学习模型协作,以既省时又高度准确的方式将组织样本的放大图像分割成为(目标)组织分类。本说明书描述了用于计算使用者的“专业度”得分的技术,该专业度得分表征该使用者在人工查看及编辑(即,目标组织分类的)分区上的预测技能。能够使用这些专业度得分来改良分割系统的性能。例如,能够使用这些专业度得分以改良用于训练该分割系统的训练数据的品质,例如,通过基于使用者的专业度得分来确定是否将该使用者产生的分区结果包括在训练数据中。
本说明书的主题的一个或多个实施方式的细节在随附附图及以下说明中阐述。主题的其他特征、方面、及优点将从说明、附图及权利要求书中显而易见。
附图说明
图1显示了示例分割系统。
图2是组织样本的放大图像的示例分区结果的描绘图。
图3是用于重复训练机器学习模型以分割组织样本的放大图像的示例处理的流程图。
图4是用于确定专业度得分的示例处理的流程图,该专业度得分表征使用者在查看及编辑组织样本的放大图像中的目标组织分类的分区的预测技能。
不同附图中的相似附图编号及标记指示相似的元素。
具体实施方式
本说明书描述一种用于将组织样本的放大图像(例如利用诸如光学显微镜的显微镜所产生的组织样本的放大图像)分割成为相应组织分类的分割系统。更特定地,该分割系统能处理组织样本的放大图像以识别出对应于图像的各像素的相应(目标)组织分类。图像中像素的(目标)组织分类表征对应于该像素的组织样本的部分中的组织类型。
如在本文全文中所使用的,“显微镜”可指能够产生样本的放大图像的任何系统,例如利用1维(1-D)光检测器阵列、或利用电荷耦合装置(CCD)的2-D阵列。
分割系统能经配置以将图像分割成为任何适当的组织分类集合。在一个示例中,分割系统可将图像分割成为癌组织与非癌组织。在另一示例中,分割系统可将图像分割成为:健康的组织、癌组织、及坏死组织。另一例中,分割系统可将图像分割成为:肌肉组织、神经组织、结缔组织、上皮组织、及“其他”组织。可在各式各样的环境的任意者中使用分割系统,例如用于分割通过活体组织切片程序从病患取得的组织样本的放大图像。该些组织样本能为任何适当种类的组织的样本,例如前列腺组织、乳房组织、肝脏组织、或肾脏组织。分割系统所产生的分区能被使用于各种用途的任意者,例如用以表征疾病(例如癌症)的存在或程度。
将组织样本的单一放大图像人工分割可能是耗费数小时时间的困难任务,例如,这是因为该图像的高维度(可能有1010个像素的数量级)。另一方面,能训练机器学习模型来以显著更少的时间(例如数秒或数分钟,像是10~30分钟)来将组织样本的放大图像自动分割。然而,可能难以将机器学习模型训练到达到被认为针对特定实际应用(例如在活体组织切片样本中识别癌组织)为可接受的准确程度。具体而言,由于组织的固有因素(例如组织中出现的疾病类型与阶段)与组织之外在因素(例如显微镜如何校准以及被用以将组织染色的程序)两者所致,组织的显微镜外观可能非常复杂且多变。这使得很难汇整足够大以捕捉到组织的显微外观中的可能变异的完整范围的经标记的训练数据集合(即,用于训练机器学习模型的训练数据集合)。
本说明书中所述分割系统使得使用者(例如病理学家)能够与机器学习模型协作,以既省时又高度准确的方式分割组织样本。为了分割图像,机器学习模型先产生该图像的自动分区,该图像的自动分区接着通过使用者界面提供给使用者,使用者界面让使用者能查看并依需要人工地编辑自动分区。“经编辑的”分区结果由分割系统提供做为输出,其也被用以更新机器学习模型的参数值(例如即刻地或在后续时间点),以使机器学习模型产生更密切匹配使用者的分区结果的分区。
以此方式,机器学习模型不是以静态且有限的训练数据集合被训练一次(如同在一些习用系统中那样),而是持续地学习并基于由使用者通过经编辑的分区结果所提供的反馈来调适其参数值。此外,使用者不需要从零开始分割图像,而是能从机器学习模型所产生的自动分区结果开始,并随着机器学习模型持续地改善,在长时间上该使用者需要对自动分区结果做出较少的校正。
不同于单独的细胞,本文“组织”一词指的是具有类似结构及功能的一群细胞。组织的颜色、纹理、及类似的图像属性显著不同于单独细胞的那些属性,因此适用于细胞归类的图像处理技术往往无法适用于分割组织样本的图像以及归类那些分割结果。
以上特征与其他特征将在以下更详细描述。
图1显示了示例分割系统100。分割系统100是被实施成在一个或多个地点的一个或多个计算机上的其中实施有以下说明的系统、组件、及技术的计算机程序的系统的示例。
分割系统100经配置以处理组织样本的放大图像102,以产生将图像102分割成相应组织分类(例如癌变的及非癌变的组织分类)的分区104。
图像102可为(例如)安装在显微镜玻片上的组织样本的全玻片图像(WSI),其中该WSI是利用光学显微镜产生并利用数码相机获取的。图像102能以各式各样形式的任意者表示,例如表示成像素的二维(2-D)阵列,其中各像素关联于表征像素的外观的数值向量,例如界定像素的红绿蓝(RGB)颜色的3-D向量。表示图像102的像素阵列可具有数量级为(例如)105×105个像素的维度,而可占据数千兆字节(GB)的存储区。系统100可以通过各式各样方式的任一者来接收图像102,例如作为从系统的使用者利用由系统100提供的使用者界面所上传的图像。
机器学习模型106经配置以根据一组模型参数108的当前值处理图像102、从图像102导出的特征、或以上两者,以产生图像102的自动分区110,自动分区100指定对应于图像102的各像素的相应组织分类。机器学习模型106可为(例如)神经网络模型、随机森林模型、支持向量机器模型、或线性模型。在一个示例中,机器学习模型可为卷积神经网络,该卷积神经网络具有接收图像102的输入层、处理图像以在逐渐升高的抽象级别产生图像的替代表示方式的一组卷积层、以及归一化(soft-max)输出层。另一示例中,机器学习模型可为随机森林模型,其经配置以处理图像102的各像素的相应特征表示,来产生指定用于该像素的组织分类的输出。在此示例中,像素的特征表示指的是数值的有序集合(例如数值向量),其表征该像素的外观。特征表示可利用(例如)方向梯度直方图(HOG)特征、加速稳健特征(SURF)、或尺度不变特征变换(SIFT)特征而产生。
模型参数108是在训练机器学习模型106的期间所学习的数值集合,其指定机器学习模型106所执行的、以产生图像102的自动分区110的操作。例如,若机器学习模型106是神经网络,模型参数108可指定神经网络的各层的权值,例如神经网络的各卷积层的卷积滤波器的权值。(用于神经网络的给定层的权值可指关联于神经网络中的给定层的神经元与前一层中的神经元之间的连接的值)。作为另一示例,若机器学习模型106是随机森林模型,模型参数108可指定在随机森林的各决策树的各节点处使用的相应分裂函数(splitting function)的参数值。作为另一示例,若机器学习模型106是线性模型,模型参数108可指定线性模型的系数。
系统100在使用者界面112的显示装置上显示图像102及图像的自动分区110。例如,系统100可显示描绘覆盖至图像102上的自动分区110的可视化(visualization),如参照图2所示。使用者界面112可具有任何适当种类的显示装置,例如液晶显示器(LCD)。
使用者界面112使系统的使用者(例如病理学家)能够查看图像102及自动分区110,并根据需要通过指定对自动分区110进行的一个或多个修改来编辑自动分区110。修改自动分区110指的是针对图像102的一个或多个像素,将自动分区110指定的组织分类改变为不同的组织分类。一般,使用者可编辑自动分区110以校正自动分区110中的任何错误。例如,使用者界面112可让使用者能够通过将被自动分区结果指定为具有特定组织分类(例如癌组织)的图像的区域重新标记为具有预设组织分类(例如非癌组织),来对图像的该区域进行“取消选取(deselect)”。作为另一示例,使用者界面112可使得使用者能够“选取”图像的区域并将该区域标记为具有某一特定组织分类(例如癌组织)。作为为另一示例,使用者界面112可使得使用者能够改变被标记为具有某一特定组织分类的区域。可(例如)通过拖拽围绕区域的多边形的角来进行对该区域的改变。
使用者可以通过各式各样方式中的任意者来与使用者界面112互动以编辑自动分区110,例如利用计算机鼠标、触控屏幕、或以上两者。例如,为了选取图像的区域并将该区域标记成具有组织分类,使用者可利用游标在围绕图像的该区域处绘制封闭环形,并接着从下拉式选单选取期望的组织分类。使用者可通过对使用者界面提供适当输入(例如点击“完毕”按钮)来指示出对自动分区的编辑已完成,此时经编辑的分区114(即已由使用者查看并可能经修改的分区)被提供做为输出。例如,经输出的分区104可被储存在关联于病患识别符的医疗纪录数据存储中。
除了提供经编辑的分区114作为输出,系统100也可利用经编辑的分区114来产生训练示例,该训练示例指明:(i)图像、及(ii)经编辑的分区114,并将该训练示例储存在一组训练数据116中。一般,训练数据116储存多个训练示例(即各示例指定相应图像及经编辑的分区),并可随着使用者产生新图像的编辑分区而随时间持续地被扩充。系统100利用训练引擎118以通过更新模型参数108而在训练数据116上重复地训练机器学习模型106,以激励机器学习模型106产生匹配训练数据116指定的经编辑的分区的自动分区。
只要当满足训练标准之时,训练引擎118就可在训练数据116上训练机器学习模型106。例如,每当有预定数量的新训练示例被添加至训练数据116时,训练引擎118就可训练机器学习模型106。作为另一示例,每当机器学习模型106产生的自动分区110与使用者所指定的对应经编辑的分区114实质上相异时,训练引擎118可训练机器学习模型106。在此示例中,训练引擎118可利用自动分区110与经编辑的分区114之间的实质不同作为机器学习模型106无法正确分割图像且机器学习模型106应该被训练以避免重复此错误的提示。若两个分区之间的相似性测量(例如Jaccard指数相似性量测)不满足预先确定的阈值,则训练引擎118可判定该两个分区实质上不同。
训练引擎118在训练数据116上训练机器学习模型106的方式取决于机器学习模型106的形式。在一些情况中,训练引擎118可通过确定对模型参数108的当前值进行的调整来训练机器学习模型106。在其他情况中,训练引擎118可通过在每次训练机器学习模型106时将模型参数108初始化为预设值(例如取样自预先定义的概率分布的值,例如标准正态分布)来开始。
以其中机器学习模型106是神经网络模型,而训练引擎118利用一次或多次迭代的随机梯度下降来训练该神经网络模型的情况作为示例。在此示例中,在各次迭代时,训练引擎118从训练数据116选择一“批”(组)训练示例,例如随机选择预定数量的训练示例。训练引擎118根据模型参数108的当前值来利用机器学习模型106处理来自各个被选择的训练示例的图像102,以产生对应的自动分区。训练引擎118确定目标函数相对于模型参数108的梯度,其中该目标函数量测以下两者之间的相似性:(i)机器学习模型106产生的自动分区,及(ii)由训练示例指定的经编辑的分区。训练引擎118接着利用目标函数的梯度来调整机器学习模型106的模型参数108的当前值。该目标函数可为例如像素级交叉熵(pixel-wise cross entropy)目标函数,训练引擎118可利用反向传播技术来确定梯度,且训练引擎118可利用任何适当的梯度下降技术(例如Adam或RMSprop)来调整模型参数108的当前值。
可选地,训练引擎118可较佳地在更近期产生的训练示例上(即,并非将各训练示例平等对待)训练机器学习模型106。例如,训练引擎118可在从训练数据116取样的训练示例上训练机器学习模型106,其中更近期产生的训练示例比起更旧的训练示例有更高的可能性被取样。较佳地在更近期产生的训练示例上训练机器学习模型106能使机器学习模型106能集中从更新的训练示例学习,同时维持从更旧训练示例所得到的洞察力。
一般,系统100训练机器学习模型106以产生匹配系统100的使用者(例如病理学家)指定的经编辑的分区114的自动分区110。然而,某些使用者可能比其他人更熟练地查看及编辑由机器学习模型106自动分区以确保准确性。例如,较有经验的病理学家比起较资浅的病理学家,可在查看及编辑复杂且模棱两可的组织样本的分区上实现更高的准确性。在一些实施方式中,系统100的各使用者可关联于“专业度”得分,其表征使用者在查看及编辑分区结果上的预测技能。在这些实施方式中,可仅利用由具有足够高的专业度得分(例如满足预定阈值的专业度得分)的使用者产生的经编辑的分区来训练机器学习模型106。将参照图4详细描述用于确定使用者的专业度得分的示例流程。
基于产生经编辑的分区的使用者的专业度得分来确定是否在该经编辑的分区上训练机器学习模型106,能通过改善训练数据的品质来改善机器学习模型106的性能。可选地,系统100的使用者可因提供了被用以训练机器学习模型106的分区而得到报偿(例如财务上或其他方式)。在一个示例中,提供给使用者的报偿数量可取决于使用者的专业度得分,且具有较高专业度得分的使用者可比具有较低专业度得分的使用者收到更多报偿。
可选地,系统100可为分布式系统,其中该系统的不同组件彼此远离而在数据通信网络(例如网际网络)上通信。例如,使用者界面112(包括显示装置)可被实施在临床环境中(例如医院),同时机器学习模型106和训练引擎118可被实施在远端数据中心中。
可选地,可提供给系统100的使用者停用机器学习模型106的选项。若此选项被选择,该使用者能载入图像102并在没有利用机器学习模型106下人工地分割图像。
图2是组织样本的放大图像200,其中区域202-A~202-E(与图像在区域202-A~202-E以外的部分)对应于相应的组织分类。
图3是重复训练机器学习模型来分割组织样本的放大图像的示例处理300的流程图。为了方便,将把处理300描述成由位于一个或多个地点中的一个或多个计算机的系统执行。例如,如图1的分割系统100,根据本说明书适当地程序化的分割系统能执行处理300。
系统取得组织样本的放大图像(302)。例如,该图像可为来自病患的活体样本的放大全玻片图像,该图像为利用显微镜所产生。
系统根据机器学习模型的模型参数的当前值处理输入,以产生将图像分割成一组(目标)组织分类的自动分区(304),该输入包括:(i)图像、(ii)从图像导出的特征、或(iii)以上两者。自动分区指定对应于图像的各像素的相应组织分类。组织分类可包括癌组织及非癌组织。机器学习模型可为神经网络模型,例如具有一个或多个卷积层的卷积神经网络模型。
系统通过使用者界面对该使用者提供以下的表示:(i)图像、及(ii)图像的自动分区(306)。例如,系统可通过使用者界面的显示装置提供描绘覆盖在图像上的自动分区的可视化。覆盖在图像上的自动分区的可视化可表示出由自动分区所划分出的区域的各者的预测组织类型。例如,可视化可通过基于组织类型来将区域着色,以指示出该区域的预测组织类型,例如癌组织被着色成红色,同时非癌组织被着色成绿色。
系统通过使用者界面从使用者取得输入,该输入指定对图像的自动分区进行的一个或多个修改(308)。对于图像的一个或多个像素而言,对自动分区进行的各修改可指示对由自动分区为像素指定的相应组织分类进行的改变。
系统确定图像的经编辑的分区(310)。例如,系统可通过将使用者通过使用者界面所指定的修改应用至图像的自动分区,来确定图像的经编辑的分区。
系统基于图像的经编辑分区,确定机器学习模型的模型参数的更新值(312)。例如,系统可确定目标函数的梯度,该目标函数表征以下两者之间的相似性:(i)图像的自动分区,及(ii)图像的经编辑的分区,并接着利用梯度来调整模型参数的值。在一些情况中,该系统可仅响应于确定了满足训练标准时(例如,从上次更新模型参数后已产生了预定数量的新的经编辑的分区),才确定机器学习模型的模型参数的更新值。确定了模型参数的更新值后,系统可回到步骤302。若未满足训练标准,则该系统可在没有训练机器学习模型的情况下回到步骤302。
图4是用于确定专业度得分的示例处理400的流程图,该专业度得分表征使用者在查看及编辑组织样本的放大图像的经编辑的分区上的预测技能。为了方便,将把处理400描述成由位于一个或多个地点中的一个或多个计算机的系统执行。例如,如图1之分割系统100,根据本说明书适当地程序化的分割系统能执行处理400。
系统取得由该使用者产生的一个或多个组织分区(402)。各组织分区对应于组织样本的放大图像,并指明了图像的各像素的相应组织分类。在一些实施方式中,使用者可能从零开始执行了分区(例如,在没有受益于从机器学习模型所产生的自动分区开始)。
系统取得一个或多个特征,该一个或多个特征表征使用者(例如在病理学领域中)的医疗经验(404)。例如,系统可取得表征下列一者或多者的特征:使用者在病理学领域的经历年数、使用者在病理学领域的学术公开文件的数目、使用者在病理学领域的学术公开文件的引用次数、使用者的学术表现(例如在医学院)、及使用者当前的职位(例如主治医师)。
系统基于以下来确定使用者的专业度得分:(i)由使用者产生的组织分区,及(ii)表征使用者的医疗经验的特征(406)。例如,系统可将专业度得分确定为以下的函数(例如线性函数):(i)使用者所产生的分区与相同图像的对应“黄金标准”分区之间的相似性测量,及(ii)表征使用者的医疗经验的特征。图像的黄金标准分区可以是由在进行组织分区上被认可为具有高度专业度的使用者(例如病理学家)所产生的分区结果。图像的两种分区之间的相似性量测可利用(例如)Jaccard指数来评估。使用者的专业度得分可被表示成例如在[0,1]的范围中的数值。
系统提供针对使用者的专业度得分(408)。例如,系统可提供使用者的专业度得分以确定由该使用者产生的分区是否应被包括在被用以训练进行自动组织样本分区的机器学习模型的训练数据中。在此示例中,只有使用者的专业度得分满足阈值时,由该使用者产生的分区才可被包括在训练数据中。另一示例中,系统可提供使用者的专业度得分以用于确定使用者应如何得到提供组织样本分区的报偿(例如财务上或其他方式),例如有较高专业度得分者可造成较高的报偿。
本说明书结合系统及计算机程序组件上使用“经配置”一词。对于具有将被配置以执行特定操作或动作的一个或多个计算机的系统而言,其表示该系统已在其上安装软件、固件、硬件、或以上的组合,该软件、固件、硬件、或其组合在运作中使得该系统进行上述操作或动作。对于将被配置以进行特定操作或动作的一个或多个计算机程序而言,其表示该一个或多个程序包括指令,当这些指令被数据处理设备执行时使得该设备进行上述操作或动作。
本说明书中所述的主题的实施方式与功能性操作能被实施在数字电子电路系统中、在有形体现的计算机软件或固件中、在计算机硬件(包括本说明书中所公开的结构与其结构等同物)中、或在以上的一者或多者的组合中。本说明书中所述的主题的实施方式能被实施成一个或多个计算机程序,即计算机程序指令的一个或多个模块,该计算机程序指令被编码在有形的非暂时性储存介质上,已用于由数据处理设备执行或控制数据处理设备的操作。计算机储存介质可以是机器可读储存装置、机器可读储存基板、随机或串行存取存储器装置、或以上的一者或多者的组合。替代地或额外地,程序指令能被编码在人工产生的传播信号上,例如机器产生的电学、光学、或电磁信号,该信号被产生以编码信息以用于传输至适当的接收器设备,供数据处理设备执行。
“数据处理设备”一词指的是数据处理硬件,并涵盖用于处理数据的全部种类的设备、装置、及机器,包括(例如)可程序化处理器(例如中央处理单元(CPU)、图形处理单元(GPU))、计算机、或多个处理器或计算机。设备也可能是(或进一步包括)特殊用途逻辑电路系统,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件,设备能可选择地包括创造用于计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或以上的一者或多者的组合的代码。
计算机程序(也可称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本(script)、或代码)能以任何形式的程序语言写成,包括编译语言或解释语言,或声明性或程序性语言;且计算机程序能以任何形式部署,包括作为独立程序或作为模块、组件、子程序、或其他适合用于计算环境中的单元。程序可(但不一定)对应于文件系统中的文件。程序能被储存在保存其他程序或数据的文件的一部分中,例如在标记语言文件中所储存的一个或多个脚本中,储存在在专用于相关程序的单一文件中,或储存在在多个协作文件中(例如储存一个或多个模块、子程序、或部分代码的文件)。计算机程序能被部署以在计算机或多个计算机上执行,该多个计算机位于一个地点处或分散于多个地点并由数据通信网络互连。
本说明书中“引擎”一词经广泛用以指称一种基于软件的系统、子系统、或程序,其被程序化以进行一个或多个特定功能。一般而言,引擎将被实施成一个或多个软件模块或组件,其被安装在一个或多个地点中的一个或多个计算机上。在一些情况中,一个或多个计算机将专用于特定引擎;其他情况中,能在同一计算机或相同的多个计算机上安装并运行多个引擎。
本说明书中所述程序及逻辑流程能由执行一个或多个计算机程序的一个或多个可程序化计算机所执行,以通过在输入数据上操作并产生输出来执行功能。程序及逻辑流程也能由特殊用途逻辑电路系统执行,例如FPGA或ASIC,或通过特殊用途逻辑电路系统与一个或多个被程序化的计算机的组合执行。
适合用于计算机程序的执行的计算机能够是基于一般用途微处理器或特殊用途微处理器或两者的,或者是基于任何其他种类的中央处理单元。一般,中央处理单元将从只读存储器或随机存取存储器或两者来接收指令及数据。计算机的基本元件是用于执行指令的中央处理单元与用于储存指令及数据的一个或多个存储器装置。中央处理单元及存储器能补充有(或并入)特殊用途逻辑电路系统。一般,计算机也将包括用于储存数据的一个或多个大容量储存装置、或与该一个或多个大容量储存装置操作耦接以从其接收数据或传输数据至该大容量储存装置,该大容量储存装置例如是磁性、磁光学盘片、光学盘片。然而,计算机不必然具有此类装置。更甚者,计算机能被嵌入另一装置中,例如行动电话、个人数组助理(PDA)、以用音频或视频播放器、游戏机、全球定位系统(GPS)接收器、或便携式储存装置(例如通用串行总线(USB)闪存驱动器),仅举数例。
适合用于储存计算机程序指令及数据的计算机可读取介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置(例如EPROM、EEPROM、及闪存装置);磁盘(例如内部硬盘或可移除式盘片);磁性光盘;及CD-ROM和DVD-ROM盘片。
为供与使用者互动之用,本说明书中所述主题的实施方式能被实施在计算机上,该计算机具有用于对使用者显示信息的显示装置(例如CRT(显像管)或LCD(液晶显示器)监视器)、及使用者能用以向计算机提供输入的键盘和指向装置(例如鼠标或轨迹球)。也能使用其他种类的装置来提供与使用者的互动;例如,提供给使用者的反馈可以是任意形式的感觉反馈,例如视觉反馈、听觉反馈、或触觉反馈;而来自使用者的输入能以任何形式接收,包括声音、口语、或触觉输入。此外,计算机能通过发送文件至使用者使用的装置或从该装置接收文件来与该使用者互动;例如,通过响应于从使用者的装置上的网页浏览器接收的请求,而向该网页浏览器发送网页。另外,计算机能通过向个人装置(例如正执行消息应用的智能手机)发送文字消息或其他形式的消息来与使用者互动,并从使用者接收回复性信息作为回报。
用于实施机器学习模型的数据处理设备也能包括(例如)特殊用途硬件加速器单元,其用于处理机器学习训练或生产(即推理)工作量上共同的且计算密集的部分。
能利用机器学习架构来实施及部署机器学习模型,该机器学习架构例如TensorFlow架构、Microsoft Cognitive Toolkit架构、Apache Singa架构、或Apache MXNet架构。
本说明书中所述主题的实施方式能被实施在包括后端组件(例如数据服务器)、或包括中间件软件组件(例如应用服务器)、或包括前端组件(例如客户端计算机,该客户端计算机具有使用者通过其能与本说明书中所述主题的实施方式互动的图形化使用者界面、网页浏览器、或app)、或此类后端、中间件、或前端组件中的一者或多者的任意组合的计算系统中。该系统的组件能通过任何形式的数字数据通信或其介质互连,例如通信网络。通信网络的示例包括局域网络(LAN)及广域网络(WAN),例如互联网络。
计算系统能包括客户端及服务器。客户端及服务器通常彼此远离且典型通过通信网络来互动。客户端与服务器之间的关系是由于在相应计算机上运行并且彼此之间具有主从式关系的计算机程序而产生的。在一些实施方式中,服务器向作为客户端的使用者装置传送数据(例如HTML页面),例如为了向与该装置互动的使用者显示数据并从该使用者接收使用者输入。在使用者装置处产生的数据(例如因使用者互动所产生)能在服务器处接收自该装置。
尽管本说明书包含许多特定的实施方式细节,这些不应被解读为对任何发明的范围或对主题的范围的限制,却应被认为是对特定于某些发明的某些实施方式的特征的描述。本说明书中在不同实施方式的上下文中说明的特定特征也能结合在单一实施方式中而实施。相反地,在单一实施方式的上下文中说明的各不同特征也能被独立地实施在多个实施方式中或在任何适当的子组合中。此外,虽然以上可能将特征描述为以特定组合来动作且甚至一开始就被如此要求保护,但来自一个要求保护的组合的一个或多个特征在某些情况中能从该组合中去除,且该要求保护的组合可涉及子组合或是子组合的变形例。
类似地,尽管操作在附图中被描绘并在权利要求书中被记载为具有特定顺序,此不应被理解为了要实现所欲效果,就必须要求此类操作必须以所图示的特定顺序或按顺序执行,或者全部所描绘的操作必须被执行。在某些情况中,多工及并行处理可能是有益的。此外,上述实施方式中各不同系统模块及组件的区分不应被理解为在全部实施方式中均必须有此种区分,并应理解所述程序组件及系统一般能被一起整合在单一软件产品中或打包成为多个软件产品。
以上已说明主题的特定实施方式。其他实施方式在随附权利要求书的范围内。例如,权利要求书中所记载的动作能以不同顺序执行并仍能实现所欲结果。作为一个示例,附图中描绘的处理不必然需要有所图示的特定顺序(或排列顺序)以实现所欲结果。在一些情况中,多工及并行处理可为有益的。