使用神经网络

文档序号:1302102 发布日期:2020-08-07 浏览:7次 >En<

阅读说明:本技术 使用神经网络 (Using neural networks ) 是由 V·门科夫斯基 A·拉赫曼 C·D·F·雷诺 B·康罗伊 D·马夫里厄杜斯 E·布雷施 于 2018-10-16 设计创作,主要内容包括:一种用于识别针对神经网络的神经网络输入的方法、系统和计算机程序产品,该神经网络输入可能已经神经网络不正确地处理了。获得与神经网络输入相关联的(单个层的神经元的子集的)激活值集合。还获得与神经网络输入相关联的神经网络输出。确定第一神经网络输入与第二神经网络输入是否共享相似的激活值集合,但神经网络输出不相似,反之亦然。以这种方式,能够预测神经网络是否已经不正确地处理了第一神经网络输入和第二神经网络输入中的一个。(A method, system, and computer program product for identifying neural network inputs to a neural network that may have been incorrectly processed by the neural network. A set of activation values (of a subset of neurons of a single layer) associated with a neural network input is obtained. A neural network output associated with the neural network input is also obtained. It is determined whether the first neural network input and the second neural network input share a similar set of activation values but the neural network outputs are dissimilar, and vice versa. In this way, it can be predicted whether the neural network has incorrectly processed one of the first neural network input and the second neural network input.)

使用神经网络

技术领域

本文描述的各种实施例涉及使用神经网络的领域。更具体地,但非排他性地,各种实施例涉及使用由一层或多层形成的神经网络的系统和方法。

背景技术

用户必须对新技术抱有信心,如果用户采用新技术,尤其是在医疗保健场景中,用户可以例如使用新技术来制定医疗保健决策。用户倾向于信任传统系统,因为它们的操作非常透明,因此其行为是可以合理预测的。

在机器学习中,通常需要在准确度与可懂度之间进行权衡。事实证明,深度神经网络在学习有用的数据语义表示方面尤其成功。然而,深度神经网络具有复杂的架构和过程,这使得用户难以理解在神经网络中执行的决策过程。因此,基于深度学习的系统由于其复杂的结构和数据驱动的设计过程而往往缺乏透明度和可预测性。

由于在对输入数据的处理中缺乏透明度,因此用户可能会不信任神经网络的输出,因为他们无法轻松地验证输出或过程背后的方法的有效性。此外,用户可能会不同意输出,并且在不知道神经网络如何做出其决策的情况下,这可能导致对系统的不信任。结果,这可能导致停止使用或减少采用实际上可能是非常准确的高性能技术。

因此,需要改善上述问题的方法和系统。

神经网络是由被布置在层中的多个单元(被称为人工神经元,或被简称为“神经元”)形成的,这些单元被配置为模拟脑部的神经元。神经网络模型中的每层都可以对其输入执行不同的变换。神经网络中的神经元通过一个或多个连接或边被连接到网络中的一个或多个其他神经元。每个神经元或边可以具有相关联的权重(其可以被称为偏差),该权重应用于来自神经元的输出或从一个神经元到连接的神经元的连接。能够利用对神经网络的训练(例如使用训练数据)来更新权重。信号(例如,数据)从神经网络的第一输入层行进到网络的最后的输出层,并且可以遍历一个或多个中间的“隐”层。利用训练来更新权重,使得神经网络的输出变得更接近预期输出。

发明内容

根据第一方面,存在一种用于使用由一层或多层神经元形成的神经网络的计算机实施的方法,所述方法包括:使用所述神经网络来处理第一神经网络输入以产生第一神经网络输出;使用所述神经网络来处理第二神经网络输入以产生第二神经网络输出;确定第一相似性指标,所述第一相似性指标指示所述第一神经网络输出与所述第二神经网络输出之间的相似性水平。所述方法还包括:选择所述神经网络的一个或多个神经元的集合,所述神经元的集合是所述神经网络的单个层的神经元的子集;当使用所述神经网络来处理所述第一神经网络输入时,确定每个选定的神经元的激活值,从而产生第一激活值集合;当使用所述神经网络来处理所述第二神经网络输入时,确定每个选定的神经元的激活值,从而产生第二激活值集合;并且确定第二相似性指标,所述第二相似性指标指示所述第一激活值集合与对应的第二激活值集合之间的相似性水平。所述方法还包括:确定是以下两种情况中的哪种情况:所述第一相似性指标指示高于第一预定阈值的相似性水平并且所述第二相似性指标指示低于第二预定阈值的相似性水平;或者所述第一相似性指标指示低于第三预定阈值的相似性水平并且所述第二相似性指标指示高于第四预定阈值的相似性水平,从而预测所述神经网络是否已经不准确地处理了所述第一神经网络输入和所述第二神经网络输入中的一个。

因此,实施例有利地识别或预测了第一神经网络输入或第二神经网络输入中的一个是否可能已经被不准确地处理。换句话说,能够预测神经网络是否生成了不准确的神经网络输出。不准确的神经网络输出是不能反映神经网络基于神经网络输入的预期或期望输出的输出(例如,对神经网络输入的错误分类或对问题的最优解决方案不够充分)。

换句话说,实施例使得能够识别两个神经网络输入的处理之间的不一致,从而使得能够对神经网络的准确度或错误执行评估。因此,能够预测神经网络是否正在对(一个或多个)神经网络输入准确执行期望的任务,即,产生正确或准确的神经网络输出。

这能够有利地用于提示对神经网络的重新训练或引起用户对神经网络输出可能不准确的注意(以例如避免用户认为神经网络是准确的)。

相似性指标能够是指示两个值或值集合之间的相似性水平的任何(离散、分类或连续)度量。举例来说,二进制指标可以指示两个值(集合)被认为是相似还是不相似。在另一示例中,两个值(集合)之间的距离可以形成相似性指标,因为(通常)距离越小,相似性越大。

实施例依赖于这样的理解:仅使用神经网络的神经元的子集来生成激活值集合以用于两个神经网络输入之间的比较,这使得能够比较在层中包含的特有和特定的信息。例如,一层中的第一神经元子集可以与神经网络的特定任务相关联,而第二子集可以与不同的任务相关联。因此,能够识别特定任务是否会在对神经网络输入的处理中导致不准确,从而使得能够更好地理解神经网络的局限性和/或基本过程,或者使得能够对神经网络进行定向重新训练。特别地,可以向用户提供对神经网络的决策过程的更彻底的理解。

在实施例中,使用所述神经网络来处理第一神经网络输入的步骤包括:将所述第一神经网络输入分类成类别,所述类别是所述第一神经网络输出;使用所述神经网络来处理第二神经网络输入的步骤包括:将所述第二神经网络输入分类成类别,所述类别是所述第二神经网络输出;确定第一相似性指标的步骤包括:生成识别所述第一神经网络输入的类别与所述第二神经网络输入的类别是否相同的第一相似性指标;并且预测是否已经不准确地处理了所述第一神经网络输入和所述第二神经网络输入中的一个的步骤包括:确定是以下两种情况中的哪种情况:所述第一相似性指标指示所述第一神经网络输入的类别与所述第二神经网络输入的类别相同并且所述第二相似性指标指示低于第二预定阈值的相似性水平;或者所述第一相似性指标指示所述第一神经网络输入的类别与所述第二神经网络输入的类别不同并且所述第二相似性指标指示高于第四预定阈值的相似性水平,从而预测所述神经网络是否已经对所述第一神经网络输入和所述第二神经网络输入中的一个进行了不准确的分类。

换句话说,神经网络可以适于执行对神经网络输入的分类,并且确定类别是否相似包括确定它们是否完全相同。因此,确定或预测神经网络是否已经对神经网络输入中的一个进行了不准确的处理可以包括预测神经网络是否已经对神经网络输入中的一个进行了不正确的分类。

优选地,所述神经元的集合包括同一层的至少两个神经元。

确定第二相似性指标的步骤可以包括计算所述第一值集合与所述第二值集合之间的多维距离。这提供了一种可靠的方法来确定表示两个值集合之间的相似性的值(因为多维距离的大小表示相似性)。因此,在这样的实施例中,所述第二预定阈值和所述第四预定阈值能够是预定阈值距离。

选择一个或多个神经元的集合的步骤优选包括:当所述神经网络用于处理所述第一神经网络输入时,在同一层中选择具有在预定的激活值范围之外的激活值的一个或多个神经元。替代地,选择一个或多个神经元的集合的步骤可以包括:当所述神经网络用于处理所述第二神经网络输入时,在同一层中选择具有在预定的激活值范围之外的激活值的一个或多个神经元。

因此,异常激活值可以定义为比较目的而选择的神经元集合。这提高了识别出层的潜在重要神经元的可能性。

优选地,使用所述神经网络来处理第二神经网络输入的步骤包括:使用所述神经网络来处理多个第二神经网络输入,从而生成多个第二神经网络输出;确定第一相似性指标的步骤包括:针对所述多个第二神经网络输入中的每个确定第一相似性指标,所述第一相似性指标指示所述第一神经网络输出与所述第二神经网络输出之间的相似性水平,从而产生多个第一相似性指标;产生第二激活值集合的步骤包括:当所述神经网络用于处理所述第二神经网络输入时,针对所述多个第二神经网络输入中的每个确定每个选定的神经元的激活值,从而针对每个第二神经网络输入产生第二激活值集合,从而产生多个第二激活值集合;确定第二相似性指标的步骤包括:针对所述多个第二神经网络输入中的每个确定第二相似性指标,所述第二相似性指标指示所述第一激活值集合与对应的第二激活值集合之间的相似性水平,从而产生多个第二相似性指标;并且预测所述神经网络是否已经不准确地处理了所述第一神经网络输入和所述第二神经网络输入中的一个的步骤包括:针对每个第二神经网络输入确定是以下两种情况中的哪种情况:所述第一相似性指标指示高于第一预定阈值的相似性水平并且所述第二相似性指标指示低于第二预定阈值的相似性水平;或者所述第一相似性指标指示低于第三预定阈值的相似性水平并且所述第二相似性指标指示高于第四预定阈值的相似性水平,从而针对每个第二神经网络输入预测所述神经网络是否已经不准确地处理了所述第一神经网络输入和所述第二神经网络输入中的一个;并且识别针对其预测出所述神经网络已经不准确地处理了所述第一神经网络输入和所述第二神经网络输入中的一个的所有第二神经网络输入。

换句话说,可以关于第一神经网络输入评估一个以上的第二神经网络输入,以便识别具有与第一神经网络的至少一种差异(例如,不相似的神经网络输出或不相似的激活值集合)的第二神经网络输入的集合或组。这使得能够识别潜在地不正确地处理的神经网络输入的大集合。

当然,应当理解,这可能是未经准确处理的第一神经网络输入。如果(多个神经网络输入的)大量或大部分第二神经网络输入被识别为被潜在地不准确地处理,则可以做出这样的确定。

针对每个第二神经网络输入确定第二相似性指标的步骤可以包括:对所述第一激活值集合和多个第二激活值集合中的每个第二激活值集合执行多维聚类;并且针对每个第二神经网络输入生成第二相似性指标,所述第二相似性指标指示所述第一神经网络输入和所述第二神经网络输入是否与同一聚类中的激活值集合相关联。

因此,第二相似性指标可以指示第一激活值集合与第二激活值集合是否在同一聚类中。为了执行聚类,可能要求总量很大的第二激活值集合,因此可能要求总量很大(例如大于50或大于100)的第二神经网络输入。

在一些实施例中,所述方法还包括:响应于预测到所述神经网络已经不准确地处理了所述第一神经网络输入和所述第二神经网络输入中的一个,对所述神经网络执行训练过程。

因此,识别出第一神经网络输入和第二神经网络输入中的一个已经被不准确地处理可以提示要执行训练过程。训练过程可以例如基于用户输入(例如指示针对第一/第二神经网络输入的正确的神经网络输出)或者基于用于神经网络的另外的训练数据。

在其他示例中,标示出潜在地不准确地处理的神经网络输入(和/或相关联的神经网络输出)以供用户查看。这可以包括例如生成警报。

根据第二方面,存在一种包括非瞬态计算机可读介质的计算机程序产品,所述计算机可读介质具有被实施在其中的计算机可读代码,所述计算机可读代码被配置为使得在由合适的计算机或处理器运行时使所述计算机或处理器执行本文描述的实施例中的任一个实施例的方法。

根据第三方面,存在一种系统,所述系统包括:存储器,其包括表示指令集的指令数据;以及处理器,其被配置为与所述存储器通信并运行所述指令集。所述指令集在由所述处理器运行时使所述处理器:使用所述神经网络来处理第一神经网络输入以产生第一神经网络输出;使用所述神经网络来处理第二神经网络输入以产生第二神经网络输出;确定第一相似性指标,所述第一相似性指标指示所述第一神经网络输出与所述第二神经网络输出之间的相似性水平;选择所述神经网络的一个或多个神经元的集合,所述神经元的集合是所述神经网络的单个层的神经元的子集;当使用所述神经网络来处理所述第一神经网络输入时,确定每个选定的神经元的激活值,从而产生第一激活值集合;当使用所述神经网络来处理所述第二神经网络输入时,确定每个选定的神经元的激活值,从而产生第二激活值集合;确定第二相似性指标,所述第二相似性指标指示所述第一激活值集合与对应的第二激活值集合之间的相似性水平;并且确定是以下两种情况中的哪种情况:所述第一相似性指标指示高于第一预定阈值的相似性水平并且所述第二相似性指标指示低于第二预定阈值的相似性水平;或者所述第一相似性指标指示低于第三预定阈值的相似性水平并且所述第二相似性指标指示高于第四预定阈值的相似性水平,从而预测所述神经网络是否已经不准确地处理了所述第一神经网络输入和所述第二神经网络输入中的一个。

附图说明

为了更好地理解实施例并更清楚地示出如何将实施例付诸实践,现在仅以举例的方式参考附图,在附图中:

图1和图2图示了用于语境理解实施例的神经网络;

图3图示了根据实施例的计算机实施的方法;

图4图示了如显示给用户的根据实施例的方法的示例输出;并且

图5图示了根据实施例的系统。

具体实施方式

提供了用于处理针对神经网络的输入数据的改进的方法和系统,该方法和系统克服了一些现有问题。

根据本发明的构思,提出了一种用于识别针对神经网络的神经网络输入的方法、系统和计算机程序产品,该神经网络输入可能已经神经网络不正确地处理了。获得与神经网络输入相关联的(单个层的神经元的子集的)激活值集合。还获得与神经网络输入相关联的神经网络输出。确定第一神经网络输入与第二神经网络输入是否共享相似的激活值集合,但神经网络输出不相似,反之亦然。以这种方式,能够预测神经网络是否已经不正确地处理了第一神经网络输入和第二神经网络输入中的一个。

实施例至少部分基于以下认识:应当以相似的方式处理与相似的神经网络输出相关联的神经网络输入。特别地,通过仅使用单个层的神经元的子集,能够评估由神经网络执行的过程的特定过程阶段的准确度。

例如,可以采用说明性实施例来识别要求额外训练的神经网络或者预测神经网络输出的准确度。这样的信息在医学行业中尤其重要,在医学行业中,通过神经网络进行的输出(例如,分类)可以用于辅助医生进行临床诊断或者评估患者的状况(例如通过处理图像数据(例如,肺部CT扫描))。

设想的神经网络可以是用于处理神经网络输入以提供输出的任何类型的神经网络,例如,能够用于对神经网络输入进行分类的神经网络。

神经网络可以是人工神经网络,尤其是深度神经网络。人工神经网络(或者被简称为神经网络)对于本领域技术人员来说是熟悉的,但是简单来说,神经网络是一种能够用于处理输入数据以产生输出数据(例如,对输入数据(例如,(医学)图像)进行分类)的模型。

在一些实施例中,神经网络可以是用于将神经网络输入分类为一种或多种类型的数据(例如,将神经网络输入分类为特定类型的医学数据,例如,医学记录)的神经网络。在一些实施例中,神经网络可以根据神经网络输入的内容对神经网络输入进行分类。例如,在神经网络输入是图像的实施例中,神经网络可以根据图像中示出的内容(例如,“心脏”或“肺”)对图像进行分类。在一些实施例中,神经网络可以根据对神经网络输入的内容的解读对神经网络输入进行分类(例如,图像中的结构可以被分类为“癌性”或“非癌性”)。

为了清楚和语境,图1图示了示例神经网络1的表示。

一般来说,神经网络的结构是受人脑启发的。神经网络1包括层2、3、4,每个层2包括多个神经元2a-2d、3a-3d、4a-4d。每个神经元包括数学运算。在处理(例如在输入节点ni处接收的)神经网络输入di的过程中,对每个神经网络输入执行数学运算以产生数值输出,并且神经网络中的每个层的输出被顺序地馈送到下一层。最终层4然后(例如在池化步骤中)例如在输出节点no处提供神经网络输出do。神经元的数值输出的幅值(在对神经网络输入进行分类时)通常被称为该神经元的“激活值”或“激活水平”。因此,激活值或激活水平可以是表示在对神经网络输入的处理期间神经元的激活量的数值。

如本领域中众所周知的,神经网络的不同层可以执行不同的功能。例如,任何给定的层可以是卷积层、池化层、线性修正单元、完全连接层、部分连接层或损失层。针对不同层的其他可能的功能对于技术人员将是众所周知的。

在某些神经网络(例如,卷积神经网络)中,神经网络中的较低层(即,朝向神经网络中的一系列层的开头的层)被正在得到分类的神经网络输入的小特征或图案所激活(即,神经网络中的较低层的输出取决于这些小特征或图案),而较高层(即,朝向神经网络中的一系列层的末端的层)被正在得到处理的神经网络输入中的越来越大的特征所激活。

举例来说,在神经网络输入di包括图像并且神经网络适于对图像进行分类的情况下,神经网络中的较低层被小特征(例如,图像中的边图案)所激活,中间层被图像中的特征(例如,较大的形状和形式)所激活,而最接近输出的层(例如,上层)被图像中的整个目标所激活。不同的神经网络输入创建不同的激活图案(例如在网络中具有不同的激活签名)。例如,如果神经网络适于执行图像分类,则心脏图像产生与肺部图像不同的激活图案。因此,神经网络根据神经网络输入在神经网络中产生的激活图案来处理神经网络输入。

通常,如果数学运算产生的输出超出针对神经元的正常范围(例如,统计平均值或近似平均值),则可以认为该神经元具有“高”或“强”激活。相反,如果数学运算产生的输出落在针对神经元的正常范围(例如,统计平均值或近似平均值)内,则可以认为该神经元具有“低”或“弱”激活。可以在统计学上定义正常范围(例如,当神经元对神经网络输入进行分类时,与针对神经元的平均激活值的标准偏差是某个数值)。比较神经元的激活值的另一种方法是比较神经元与神经网络上的其他神经元的激活值。例如,神经元的激活与同一层中的其他神经元的激活幅值相比可以被认为是高还是低。在一些实施例中,如果神经元的激活值(例如,数值输出)与同一层中的其他神经元的激活值相比是统计离群的,则可以认为该神经元被高度激活。本领域技术人员应当理解,可以以许多不同的方式来定义统计离群值。举例来说,如果神经元的值与同一层中的神经元的平均激活值的标准偏差超过数值x,则该神经元的激活值是统计离群的。本领域技术人员将熟悉确定统计离群值的其他方式。

在一些示例中,神经元的激活范围(例如,神经元输出的数值范围)可以取决于该神经元执行的数学运算的类型。一些神经元(例如,采用S型函数的神经元)在0至1之间被激活(例如产生输出),而其他一些神经元可能具有无限的激活值(例如,它们可能产生在-∞到+∞之间的任何地方的输出)。

在本文的一些示例中,在神经网络输入di包括图像并且神经网络用于对图像内容进行分类的情况下,神经网络中的每个神经元可以包括数学运算,该数学运算包括对像素(或者在三维中为体素)值的加权线性和,然后进行非线性变换。神经网络中使用的非线性变换的示例包括S型函数、双曲正切函数和线性修正函数。神经网络的每个层中的神经元通常包括单一类型的变换的不同加权组合(例如,相同类型的变换、S形等,但是具有不同的加权)。如本领域技术人员所熟悉的,在一些层中,每个神经元可以在线性和中施加相同的权重;这适用于例如卷积层的情况。每个神经元的输出可以是数值,并且神经元的数值输出的幅值可以形成能够用于对图像进行分类的神经元激活图案。

本发明提出的构思是用于辅助识别是否已经不准确地执行了对神经网络输入di的处理以产生神经网络输出do。换句话说,该构思提出预测神经网络输出是否不正确。可以通过如下面所阐述的计算机实施的方法、系统或计算机程序产品来实现该构思。

发明人已经认识到,神经网络应当以相似的方式处理与相似的神经网络输出do相关联的神经网络输入di。因此,已经认识到,如果在与不同的神经网络输入相关联的神经网络输出之间存在足够的相似性,则在处理不同的神经网络输入期间,神经元的激活值与激活值之间也应当存在相似性。不相似可能指示神经网络输入中的一个得到不正确的处理。

发明人还认识到,仅选择单个层的神经元的子集(用于比较不同的神经网络输入的激活值)揭示出关于在何处发生了可能的不准确以及由此对神经网络的可能限制的额外信息。例如,特定层的某些神经元可能更表示某种识别过程,使得能够更准确地识别出神经网络过程的哪一部分不准确。例如,如果神经网络适于执行对肺部CT图像中的潜在恶性结节的识别,则一层中的第一神经元子集可能与识别结节的位置(这可能有助于其恶性发展)相关联,而不同的第二神经元子集可能与识别结节的形状(这也可能有助于其恶性发展)相关联。因此,通过仅使用神经元的子集(例如仅使用与潜在结节的位置相关联的神经元的子集),能够获得更合适和更有用的信息。

特别地,发明人已经认识到,如果使用一层中的所有神经元而不是仅使用该层的子集,则会丢失大量信息。因此,一层中所有神经元的激活值崩溃(例如,为了比较的目的而变成单个值)会导致信息丢失。

仅选择神经元的子集也可以使得能够仅要识别最重要的神经元(例如,对神经网络输入的处理贡献最大的神经元)。这能够避免不重要的神经元不成比例地影响对两个神经网络输入的激活值集合是相似还是不相似的确定。

实施例也可以用于向用户提供信息以帮助用户理解为什么以这种方式处理第一神经网络输入和/或第二神经网络输入。用户可能能够查找第一神经网络输入与第二神经网络输入之间的差异,以查看模型如何区分它们。这有助于为用户提供关于模型分类方法的更清楚的认识,由此提高用户对模型的准确性和可靠性的信心。

图2图示了其中采用了所提出的构思的神经网络1。为了清楚起见,已经省去了不同层的神经元之间的连接。

选择单个层3中一个或多个神经元的子集31。子集31仅由位于单个层中的神经元3a、3b的部分组成(即,不包括整个层的神经元)。当那些神经元正在处理神经网络输入时,通过确定神经元子集的激活值来形成激活值集合。因此,神经网络输入di能够与神经元3a、3b的子集31的激活值集合(未示出)相关联,而那些神经元3a、3b在处理神经网络输入期间正在处理神经网络输入di

提出了一个目标,即,识别与相似的神经网络输出相关联的两个神经网络输入,但是这两个神经网络输入的激活值集合彼此不相似(反之亦然)。这样的识别使得能够识别对神经网络输入的潜在地不正确的处理,这可以指示神经网络输出不准确和/或经处理执行的神经网络不准确(例如,拟合不足或拟合过度)。

稍后将描述用于选择神经元的子集31的实施例。然而,一些实施例可以包括接收指示将要调查神经元的哪个子集的用户输入。因此,可能会有用户主导的对神经网络的准确度的调查。其他实施例可以自动选择适当的神经元子集31。

图3图示了根据实施例的用于处理数据的计算机实施的方法300。所图示的方法300通常能够由系统的处理器(例如,稍后描述的处理器)执行或者在系统的处理器的控制下执行。根据一些实施例,该方法可以是部分或完全自动化的。

方法300包括步骤301:使用神经网络来处理第一神经网络输入以产生第一神经网络输出。方法300还包括步骤302:使用神经网络来处理第二神经网络输入以产生第二神经网络输出。

因此,神经网络处理针对神经网络的两个神经网络输入以提供相应的神经网络输出。可以并行或串行地执行步骤301和302。应当理解,可以在较早的时间点执行步骤301和302,其中,(例如在数据库中)存储神经网络输出以供以后的处理。

方法300还包括:确定第一相似性指标,该第一相似性指标指示第一神经网络输出与第二神经网络输出之间的相似性水平。

第一相似性指标可以例如指示第一神经网络输出与第二神经网络输出之间的(多维)距离。确定两个神经网络输出之间的相似性的其他方法对于本领域技术人员来说将是显而易见的。例如,在神经网络执行分类操作的情况下,第一相似性指标可以指示第一神经网络输出和第二神经网络输出是否指示第一神经网络输入与第二神经网络输入是否属于同一类别。

方法300还包括步骤304:选择神经网络的一个或多个神经元的集合,该神经元的集合是神经网络的单个层的神经元的子集。因此,选择了同一层3中的神经元的子集31。对子集的选择可以例如基于用户输入或者基于在对第一/第二输入神经网络输入的处理期间该层中的神经元的激活值。对层3的选择可以基于用户输入,或者层3可以是预定层(例如,神经网络的最外层)。

在特定实施例中,步骤304包括仅选择神经网络的单个神经元。然而,在优选实施例中,步骤304包括选择同一层的至少两个神经元。应当清楚的是,选定的神经元的子集31不包括单个层的所有神经元。

方法300还包括步骤305:当神经网络用于处理第一神经网络输入时,确定每个选定的神经元的激活值,从而产生第一激活值集合。方法300还包括步骤306:当神经网络用于处理第二神经网络输入时,确定每个选定的神经元的激活值,从而产生第二激活值集合。

因此,步骤305、306(针对每个神经网络输入)确定神经元的选定集合31的激活值,同时神经网络处理该神经网络输入。以这种方式,生成了两个激活值集合。

该方法包括步骤307:确定第二相似性指标,该第二相似性指标指示第一激活值集合与对应的第二激活值集合之间的相似性水平。因此,将两个激活值集合进行比较以生成第二相似性指标,从而指示两个激活值集合之间的相似性水平。

步骤307可以例如包括确定两个激活值集合之间的多维距离。在另一示例中,步骤307可以包括确定两个激活值集合是否共享高于预定阈值(例如,如果激活值具有0至1或50%的最大范围,则预定阈值为0.5)的相同数量的激活值。步骤307可以包括确定集合之间有多少对应的激活值(例如,将第一集合的第一激活值与第二集合的第一激活值进行比较,将第一集合的第二激活值与第二集合的第二激活值进行比较,以此类推)在彼此的预定误差容限内(例如,±1%或±10%)。确定两个激活值集合之间的相似性的各种其他方法对于本领域技术人员来说将是显而易见的。

本领域技术人员将理解,没有两个激活值集合会是严格相同的(因为数值输出是在连续尺度上产生的)。因此,在一些实施例中,第二相似性指标可以指示激活值集合是否在彼此的容限(或阈值相似性)内。

如前所述,在一些实施例中,步骤307包括计算第一激活值集合与第二激活值集合之间的多维距离。例如,将每个神经元视为多维空间中的一个维度,能够(例如根据第一激活值集合与第二激活值集合之差的平方和)计算欧几里得距离。因此,能够计算多维距离,该多维距离指示两个激活值集合之间的相似性。

当然,在神经元的子集31仅包括单个神经元的情况下,步骤307可以包括确定第一激活值集合中的单个激活值与第二激活值集合中的单个激活值之间的数值差。

在一些实施例中,步骤307可以包括:识别第一激活值集合中的统计上显著的激活值的数量与第二激活值集合中的统计上显著的激活值的数量之差。这里,统计上显著的激活值可以是与该神经元的平均激活值的标准偏差超过某个数值(例如,2、3或4)的激活值。在顺序实施例中,统计上显著的激活值可以是在预定的激活值范围之外的值。

方法300然后包括步骤308:确定第一相似性指标是否指示高于第一预定阈值的相似性水平并且第二相似性指标是否指示低于第二预定阈值的相似性水平(反之亦然)。

因此,步骤308可以替代地或额外地包括确定第一相似性指标是否指示低于第三预定阈值的相似性水平并且第二相似性指标是否指示高于第四预定阈值的相似性水平。

预定阈值的值和单位当然将取决于相似性指标的性质。例如,在相似性指标由多维距离表示的情况下,预定阈值将是预定距离。

以这种方式,步骤308有效地执行异或函数(XOR),以确定第一神经网络输出与第二神经网络输出是否相似,但两个对应的激活值集合不相似(反之亦然)。

以这种方式,能够预测神经网络是否已经不准确地处理了第一神经网络输入和第二神经网络输入中的一个。之所有能够做出该预测,是因为已经认识到神经网络应当以相似的方式处理与相似的神经网络输出相关联的神经网络输入,使得偏离该假设可以指示神经网络存在潜在地不准确的处理。

这样的识别能够使得对神经网络输入的潜在地不准确的处理能够得到评估和考虑。例如,潜在的不准确能够被标示给用户(例如用于手动评估),而手动评估的结果用于重新训练神经网络(即,作为反馈系统)。潜在的不准确也可以被标示给用户以帮助用户理解神经网络的基本过程。在一些示例中,识别潜在的不准确会促使(例如基于用户反馈或通过采集新的训练数据)对神经网络进行重新训练。

当与适于执行分类过程的神经网络(即,其中神经网络输出是神经网络输入的类别)一起使用时,实施例是特别有利的。这是因为(例如对医学图像的)不准确的分类可能会导致对神经网络输入的错误诊断或错误理解。因此,特别有动机来识别潜在的错误分类。

因此,在一些实施例中,步骤301和302包括使用神经网络来分别确定第一神经网络输入和第二神经网络输入的类别。对应的步骤303可以包括生成第一相似性指标,该第一相似性指标指示第一神经网络输入和第二神经网络输入是否被分类成相同的类别(即,对应的第一输出神经网络输出和第二输出神经网络输出是否指示相同的类别)。在步骤308中,如果第一相似性指标指示第一神经网络输出和第二神经网络输出(以及因此第一神经网络输入和第二神经网络输入)处于同一类别中,则能够假设第一相似性指标指示高于第一预定阈值的相似性水平。类似地,如果第一相似性指标指示第一神经网络输出和第二神经网络输出(以及因此第一神经网络输入和第二神经网络输入)处于不同的类别中,则能够假设第一相似性指标指示低于第三预定阈值的相似性水平。

在一些实施例中,图3的步骤304可以包括:识别(在使用神经网络来处理第一神经网络输入的框301期间)由第一神经网络输入在神经网络的单个层中激活的在与所述第一神经元集合相关联的预定激活范围之外的神经元的子集。因此,对神经元的子集的选择可以包括识别(同一层的)在对第一神经网络输入的处理期间神经元的激活值在预定激活范围之外的所述神经元。

更详细地,如上所述,一层中的每个神经元在上限至下限内被激活(例如产生数值输出)。激活值的上限和下限取决于由神经元执行的数学运算。在这些上限和下限内,神经元可以具有在上限至下限内的典型范围(例如,统计上的正常范围)。例如,虽然神经元可以在上限与下限之间被激活,但是对于大多数神经网络输入而言,神经元仅可以在与神经元相关联的激活范围内被激活。当对神经网络输入进行分类时,可以基于神经网络输入的某些强特性或特征来确定类别,该强特性或特征可以在网络中的某些神经元中产生强(例如统计异常的)激活,由此该激活位于与神经元相关联的激活范围之外(上方/下方),即,识别统计离群的激活值。

这样,在实施例中,识别神经网络中被激活的在与所述第一神经元集合相关联的激活范围之外的神经元集合可以包括将神经元的激活值(即,用于对第一神经网络输入进行分类的激活值)与用于对第二神经网络输入进行分类的同一神经元的激活值进行比较。例如,可以计算平均激活值和与激活值分布相关联的标准偏差。识别神经网络中被激活的在与所述神经元集合相关联的激活范围之外的神经元集合可以因此包括识别在单个层中被(第一神经网络输入)激活的与神经元的平均激活的标准偏差超过(例如,高于或低于)某个数值的神经元。

在一些实施例中,识别神经网络中被激活的在与所述第一神经元集合相关联的激活范围之外的第一神经元集合可以包括将(在对第一神经网络输入进行分类时)神经元的激活值与在对第一神经网络输入进行分类时同一层中的其他神经元的激活值进行比较。通常,同一层中的神经元包括相同的数学运算(具有不同的权重),因此一层中的神经元的激活是直接可比的(例如,Sigmoid层始终产生0至1之间的输出)。因此,能够比较一层内的神经元的激活值以找到一层中的最强(例如,统计上异常)激活的神经元。

在适当修改后,所提出的步骤304可以被修改为替代方案:基于第二神经网络输入来识别单个层中的神经元的子集31(例如,在处理第二神经网络输入时,识别具有在预定范围之外的激活值的神经元)。

在一些实施例中,步骤304包括在神经网络的外层中选择神经元集合。这里,外层是指最接近神经层的输出(例如,输出节点no)的层中的任何一层。外层可以例如是神经网络的最后三分之一中的层中的一层。优选地,外层是最外层4(例如,在神经网络中在输出no之前的最后一层4)。外层被神经网络输入的最大特征(例如,图像中的整个目标)激活,这样,在神经网络的外层中具有共同激活值的神经网络输入的神经元的子集对应于具有最相似的全局特征的神经网络输入。这样,在神经网络的外层中的神经元的子集中识别具有相似激活值的神经网络输入,但又具有不相似的神经网络输出(反之亦然),具有识别尽管被不同地处理但仍具有相似的大尺度特征(反之亦然)的神经网络输入的优点。这提高了识别潜在地不正确地处理的神经网络输入的准确度。

虽然在较高层中使用神经元的子集可能具有优点,但是本领域技术人员将理解,能够在任何层中使用神经元的子集。

在一些实施例中,其中,步骤307包括确定第一激活值集合与第二激活值集合之间的多维距离,步骤308的第二预定阈值和/或第四预定阈值可以包括预定阈值距离。如本领域技术人员将理解的,在步骤308中使用的适当阈值将取决于神经网络的神经元和正被处理的神经网络输入。

可以针对多个不同的第二神经网络输入来执行方法300。也就是说,可以修改该方法的步骤,使得将第一神经网络输入与一个以上的第二神经网络输入进行比较。然而,在优选实施例中,针对第一神经网络输入和每个第二神经网络输入,所选择的神经元的集合是相同的。换句话说,方法300可以适于将第一神经网络输入与一个以上的第二神经网络输入进行比较。这使得能够识别满足步骤308的要求的第二神经网络输入,从而使得能够识别可能已经被不正确地处理的其他神经网络输入。

换句话说,步骤302可以适于包括:使用神经网络来处理多个第二神经网络输入,从而生成多个第二神经网络输出。步骤303可以适于包括:针对多个第二神经网络输入中的每个确定第一相似性指标,该第一相似性指标指示第一神经网络输出与第二神经网络输出之间的相似性水平,从而产生多个第一相似性指标。步骤306可以适于包括:当神经网络用于处理第二神经网络输入时,针对多个第二神经网络输入中的每个确定每个选定的神经元的激活值,从而针对每个第二神经网络输入产生第二激活值集合,从而产生多个第二激活值集合。步骤307可以适于包括:针对多个第二神经网络输入中的每个确定第二相似性指标,该第二相似性指标指示第一激活值集合与对应的第二激活值集合之间的相似性水平,从而产生多个第二个相似性指标。步骤308可以适于包括:针对每个第二神经网络输入确定是以下两种情况中的哪种情况:第一相似性指标指示高于第一预定阈值的相似性水平并且第二相似性指标指示低于第二预定阈值的相似性水平;或者第一相似性指标指示低于第三预定阈值的相似性水平并且第二相似性指标指示高于第四预定阈值的相似性水平,从而针对每个第二神经网络输入预测神经网络已经不准确地处理了第一神经网络输入和第二神经网络输入中的一个。步骤308还可以包括:识别针对其预测到神经网络已经不准确地处理了第一神经网络输入和第二神经网络输入中的一个的所有第二神经网络输入。

以这种方式,设想的方法能够识别与相似的神经网络输出但不相似的激活值集合(反之亦然)相关联的一个或多个第二神经网络输入。这使得能够识别被潜在地不正确地处理的神经网络输入的数据集,能够将该数据集提供给用户以帮助用户理解神经网络的基本过程或指导对神经网络的重新训练。

在一些实施例中,步骤307可以包括:对第一激活值集合和每个第二激活值集合执行多维聚类,使得第二相似性指标指示第一激活值集合与对应的第二激活值集合是否处于同一聚类中。例如,可以在多维参数空间中标绘与第一神经网络输入相关联的第一激活值集合和与多个第二神经网络输入中的每个第二神经网络输入相关联的第二激活值集合。在这样的实施例中,相似性指标可以指示第一激活值集合和第二激活值集合是否位于多维参数空间中的同一聚类中。

对应的步骤308可以包括:识别与第二激活值集合相关联的第二神经网络输入,该第二激活值集合位于与第一神经网络输入的第一激活值集合相关联的至少一个聚类内,并且其第一相似性指标指示低于第三预定阈值的相似性水平。替代地和/或额外地,步骤308可以包括:识别与第二激活值集合相关联的第二神经网络输入,该第二激活值集合位于与第一神经网络输入的第一激活值集合相关联的至少一个聚类内,并且其第一相似性指标指示低于第三预定阈值的相似性。

技术人员将理解,可以针对第一神经网络输入的不同实例迭代地重复方法300。例如,可以存在神经网络输入的数据库,其中的每个神经网络输入都根据方法300得到处理(例如,其中的每个神经网络输入都可以与数据库的每个其他神经网络输入进行比较)。这提高了识别被潜在地不正确地处理的神经网络输入的可能性。

技术人员还将理解,可以针对神经元的不同子集重复方法300。在这样的情况下,无需重复步骤301-303(因为已经识别出神经网络输出之间的相似性)。因此,可以针对神经元的不同子集重复步骤304-308。这提供了要识别的更多额外信息。

根据上述一些实施例,存在用于识别至少一个与第一神经网络(在激活值集合之间或者在神经网络输出之间)共享一些相似性但也具有一些不相似性(激活值集合和神经网络输出中的另一个)的第二神经网络输入的方法和系统。例如,由于所识别的第二神经网络输入可以表示具有与第一神经网络输入共同的激活值集合的神经网络输入,因此在某种程度上可以将其视为与第一神经网络输入相似,尽管如此,神经网络还是提供了与神经网络输入相关联的不相似的神经网络输出。因此,方法300可以用于识别可以用于帮助阐明神经网络的基本过程的特定神经网络输入。

在一些实施例中,所识别的第二神经网络输入可以被认为是相反示例,因为其可以用于说明由与第一神经网络输入相似的神经网络输入所做出的相反示例。因此,该特定的第二神经网络输入可以用于向用户突出显示经模型处理的第一神经网络输入的方式和/或在与给予第一神经网络输入的神经网络输出(例如,类别)相似的神经网络输出(例如,类别)之间进行区分。因此,不是识别经不准确地处理的神经网络输入,而是可以使用这些方法来阐明对神经网络系统的处理。

虽然在图3中未图示出,但是本文描述的任何实施例还可以包括在训练过程中使用识别出的(一个或多个)第二神经网络输入来改善神经网络。

例如,在包括向用户显示所识别的第二神经网络输入的实施例中,用户可以提供关于每个第二神经网络输入和/或第一神经网络输入的反馈。例如,用户可以提供关于针对特定的神经网络输入和/或第一神经网络输入的正确神经网络输出的反馈。这样的反馈可以用于重新训练模型。例如,反馈可以用于选择(例如与所识别的第二神经网络输入相似或不相似的)神经网络输入以进一步训练模型。

替代地或额外地,用户可以提供关于第二神经网络输入是否帮助用户更好地理解模型的基本过程的反馈。这样的反馈可以用于改善对第二神经网络输入的选择,以便改善被提供给用户的信息,从而进一步提高用户对神经网络的基本过程的信心。

虽然在图3中未图示出,但是本文描述的任何实施例还可以包括:使用神经网络来(例如从多个第二神经网络输入中)识别与第一神经网络输入相似的第二神经网络输入,即,其中第一相似性指标(指示第一神经网络输出与第二神经网络输出之间的相似性)指示高于第一预定阈值的相似性并且第二相似性指标(指示同一层中神经元的相同子集的两个激活值集合之间的相似性)指示高于第三预定阈值的相似性(即,相似)。在一些实施例中,该方法还可以包括:向用户显示相似的第二神经网络输入。以这种方式,可以向用户提供第二神经网络输入的一个或多个示例,该第二神经网络输入以与第一神经网络输入相似的方式得到处理(例如具有相似的激活值集合)并且具有与第一神经网络输入相似的输出(例如,相同的类别),除去以不同的方式得到处理(例如具有相似的激活值集合)并且具有相似的输出(反之亦然)的第二神经网络输入。这可以提供对以与第一神经网络输入相同的方式得到处理的第二神经网络输入的类型以及与第一神经网络输入不同的方式得到处理的第二神经网络输入的类型的进一步了解。

因此,所提出的实施例还可以识别第二神经网络输入是否与激活值集合和神经网络输出相关联,该激活值和神经网络输出均与和第一神经网络输入相关联的那些激活值和神经网络输入相似。以这种方式,可以预测第一神经网络输入/第二神经网络输入是否已经被准确地处理。

虽然在图3中未图示出,但是本文描述的任何实施例还可以包括:例如使用以下描述的系统500的用户接口504向用户显示(一个或多个)第二神经网络输入。在一些实施例中,可以将第一神经网络输入与第二神经网络输入一起显示给用户。

在一些实施例中,并且当神经网络执行分类操作时,还可以将第一神经网络输入的类别和/或第二神经网络输入的类别显示给用户。以这种方式,用户能够将第一神经网络输入与第二神经网络输入进行比较并获得对神经网络的分类过程的更深入的了解。例如,用户可能能够观察到第一神经网络输入与第二神经网络输入之间的相似性和/或差异,该相似性和/或差异引导该模型按照其实际方式对第一神经网络输入/第二神经网络输入进行分类。

在实施例中,可以将关于(一个或多个)第二神经网络输入的其他信息(例如,(一个或多个)第二神经网络输入的一个或多个注释)提供给用户。注释可以是关于已经由用户(例如,医学专业人员)添加的神经网络输入的信息。如果所显示的注释用于训练神经网络,则这样的注释可以提供对神经网络的基本过程的进一步了解,并且可以用于(例如通过改善在训练过程中被提供给神经网络的注释的质量)改进神经网络。

注释的示例包括但不限于用户类别或神经网络输入中的特征的标签(例如,用户可以突出显示神经网络输入中的特征,例如,解剖结构的位置或异常的位置)和用户对神经网络输入的内容的解读(例如,用户从神经网络输入的内容中导出的对状况或疾病的诊断)。

图4图示了根据实施例的方法400的示例输出,其中将结果显示给用户。在该实施例中,第一神经网络输入包括尖刺形状的图像402,其可以例如表示医学图像中的解剖目标。已经根据上面关于图2描述的方法识别出三个第二神经网络输入404、406、408,其中,将多个第二神经网络输入进行处理并且与第一神经网络输入进行比较。在第一神经网络输入旁边显示(满足步骤308中设置的要求的)第二神经网络输入。

在所图示的实施例中,每个识别出的第二神经网络输入都与以下两者相关联:(针对单个层的神经元的识别出的子集)与第一激活值集合不相似的激活值集合,以及与第一神经网络输出相似的第二神经网络输出。应当理解,其他可能的识别出的第二神经网络输入可以各自与以下两者相关联:(与第一激活值集合)相似的第二激活值集合,以及(与第一神经网络输出)不相似的第二神经网络输出。

还显示了三个“相似的神经网络输入”410、412、414。在所图示的实施例中,每个识别出的第二神经网络输入都以下两项相关联:(针对单个层的神经元的识别出的子集)与(和第一神经网络输入402相关联的)第一激活值集合相似的第二激活值集合,以及与第一神经网络输入402的第一神经网络输出不相似的第二神经网络输出。

在该示例中,还显示了一些神经网络输入的一些特征的注释416以及额外的语境数据(例如,每个神经网络输入所涉及的对象的年龄)。

图5示出了根据实施例的能够用于处理针对神经网络的输入数据的系统500的框图。参考图5,系统500包括处理器502,处理器502控制系统500的操作并且能够实施本文描述的方法。系统500还可以包括存储器506,存储器506包括表示指令集的指令数据。存储器506可以被配置为以能够由处理器502运行以执行本文描述的方法的程序代码的形式存储指令数据。在一些实施方式中,指令数据能够包括多个软件和/或硬件模块,每个软件和/或硬件模块被配置为执行或用于执行本文描述的方法的单个或多个步骤。在一些实施例中,存储器506可以是还包括系统500的一个或多个其他部件(例如,处理器502和/或系统500的一个或多个其他部件)的设备的部分。在替代实施例中,存储器506可以是与系统500的其他部件分开的设备的部分。

系统500的处理器502能够被配置为与存储器506通信以运行指令集。指令集在由处理器运行时可以令处理器执行本文描述的方法。处理器502能够包括被配置或编程为以本文描述的方式控制系统500的一个或多个处理器、处理单元、多核处理器或模块。在一些实施方式中,例如,处理器502可以包括被配置用于分布式处理的多个处理器、处理单元、多核处理器和/或模块。本领域技术人员将理解,这样的处理器、处理单元、多核处理器和/或模块可以位于不同的位置中,并且可以各自执行本文描述的方法的不同步骤和/或单个步骤的不同部分。

简而言之,指令集在由系统500的处理器502运行时令处理器502:使用神经网络来处理第一神经网络输入以产生第一神经网络输出;使用神经网络来处理第二神经网络输入以产生第二神经网络输出;确定第一相似性指标,该第一相似性指标指示第一神经网络输出与第二神经网络输出之间的相似性水平;选择神经网络的一个或多个神经元的集合,该神经元的集合是神经网络的单个层的神经元的子集;当使用神经网络来处理第一神经网络输入时,确定每个选定的神经元的激活值,从而产生第一激活值集合;当使用神经网络处理第二神经网络输入时,确定每个选定的神经元的激活值,从而产生第二激活值集合;确定第二相似性指标,该第二相似性指标指示第一激活值集合与对应的第二激活值集合之间的相似性水平;确定是以下两种情况中的哪种情况:第一相似性指标指示高于第一预定阈值的相似性水平并且第二相似性指标指示低于第二预定阈值的相似性水平;或者第一相似性指标指示低于第三预定阈值的相似性水平并且第二相似性指标指示高于第四预定阈值的相似性水平,从而预测神经网络是否已经不准确地处理了第一神经网络输入和第二神经网络输入中的一个。

在一些实施例中,指令集在由处理器502运行时还可以令处理器502控制存储器506以存储与本文描述的方法有关的数据和信息。例如,存储器506可以用于存储以下各项中的任一项:神经网络、第一神经网络输入、(一个或多个)第二神经网络输入、神经网络输出、所识别的第二神经网络输入或任何其他数据或信息或数据和信息的任何组合,以上各项均来自本文描述的方法。

在本文描述的实施例中的任一个实施例中,第一神经网络输入和/或第二神经网络输入可以包括能够由神经网络处理以产生神经网络输出的任何数据。例如,第一神经网络输入和/或第二神经网络输入可以包括以下各项中的任一项或任意组合:文本、图像数据、传感器数据、仪器日志和/或记录。在一些实施例中,第一神经网络输入和/或第二神经网络输入可以包括医学数据,例如,以下各项中的任一项或任意组合:医学图像(例如,根据CT扫描、X射线扫描或任何其他合适的医学成像方法采集的图像)、来自医学仪器或传感器(例如,心率监测器、血压监测器或其他监测器)的输出,或医学记录。因此,神经网络输入可以包括能够由神经网络处理的任何数据(例如,以下各项的任意组合:图像、值和/或字母数字字符串,包括但不限于医学图像、医学记录和/或传感器读数或能够由神经网络处理的任何其他类型的数据)。虽然已经提供了不同类型的神经网络输入的示例,但是本领域技术人员应当理解,本文提供的教导可以等同地应用于能够由神经网络处理的任何其他类型的数据。

在一些实施例中,如图5所示,系统500可以包括至少一个用户接口504,至少一个用户接口504被配置为接收本文描述的用户输入的任一种。用户接口504可以允许系统500的用户手动录入与本文描述的方法有关的指令、数据、反馈或信息。例如,用户可以使用用户接口504来选择或指示对其执行了本文描述的方法(例如对其执行了分类过程)的第一神经网络输入和/或第二神经网络输入。用户接口504可以是使得系统500的用户能够提供用户输入,与系统500交互和/或控制系统500的任何类型的用户接口。例如,用户接口504可以包括一个或多个开关、一个或多个按钮、按键、键盘、鼠标、触摸屏或应用程序(例如在平板电脑或智能手机上),或任何其他用户接口或使得用户能够选择要被分类的第一神经网络输入的用户接口的组合。

在一些实施例中,用户接口504(或系统500的另一用户接口)可以使得能够向系统500的用户呈现(或输出或显示)信息、数据或信号。这样,用户接口504可以用于向系统500的用户(例如,医学专业人员、医疗保健提供者、医疗保健专家、护理人员、对象或任何其他用户)提供与根据本文的实施例的方法有关的或从根据本文的实施例的方法得到的信息。处理器502可以被配置为控制一个或多个用户接口504以提供从根据本文的实施例的方法得到的信息。例如,处理器502可以被配置为控制一个或多个用户接口504以呈现(或输出或显示)从本文描述的方法得到的第一神经网络输入和/或第二神经网络输入或任何其他信息(例如,输出)或任何组合信息。在一些实施例中,用户接口504可以包括显示屏、图形用户接口(GUI)或其他视觉呈现部件、一个或多个扬声器、一个或多个麦克风或任何其他音频部件、一个或多个灯、用于提供触觉反馈(例如,振动功能)的部件或任何其他用户接口或用于向用户提供与该方法有关的或从该方法得到的信息的用户接口的组合。在一些实施例中,用户接口506可以是还包括系统500的一个或多个其他部件(例如,处理器502、存储器504和/或系统500的一个或多个其他部件)的设备的部分。在替代实施例中,用户接口506可以是与系统500的其他部件分开的设备的部分。

在一些实施例中,如图5所示,系统500还可以包括通信接口(或电路)508,通信接口(或电路)508用于使得系统500能够与系统500内部或外部的任何接口、存储器和设备通信。通信接口508可以以无线方式或者经由有线连接与任何接口、存储器和设备通信。

应当理解,图5示出了说明本公开内容的这方面所要求的部件,并且在实际实施方式中,系统500可以包括除了所示出的那些部件之外的其他部件。例如,系统500可以包括用于为系统500供电的电池或其他电源,或者可以包括用于将系统500连接到市电电源的单元。

还提供了一种包括计算机可读介质的计算机程序产品,该计算机可读介质具有被实施在其中的计算机可读代码,该计算机可读代码被配置为使得在由合适的计算机或处理器运行时令该计算机或处理器执行本文描述的一种或多种方法。因此,应当理解,本公开内容还适用于适于将实施例付诸实践的计算机程序,特别是载体上或载体中的计算机程序。该程序可以是源代码、目标代码、代码中间源以及例如以部分编译的形式的目标代码的形式,或者是适合用于实施根据本文描述的实施例的方法的任何其他形式。

还应当理解,这样的程序可以具有许多不同的架构设计。例如,实施该方法或系统的功能的程序代码可以被细分成一个或多个子例程。将功能分布在这些子例程之中的许多不同方式对本领域技术人员来说将是显而易见的。子例程可以被一起存储在一个可执行文件中以形成自含程序。这样的可执行文件可以包括计算机可执行指令,例如,处理器指令和/或解释器指令(例如,Java解释器指令)。替代地,子例程中的一个或多个或全部可以被存储在至少一个外部库文件中,并且例如在运行时间时被静态地或动态地与主程序链接。主程序包含对子例程中的至少一个的至少一次调用。子例程也可以包括彼此的功能调用。

涉及计算机程序产品的实施例包括对应于在本文中阐述的方法中的至少一种的每个处理阶段的计算机可执行指令。这些指令可以被细分成子例程和/或被存储在可以被静态地或动态地链接的一个或多个文件中。涉及计算机程序产品的另一实施例包括对应于在本文中阐述的系统和/或产品中的至少一个的每个单元的计算机可执行指令。这些指令可以被细分成子例程和/或被存储在可以被静态地或动态地链接的一个或多个文件中。

计算机程序的载体可以为能够承载程序的任何实体或设备。例如,载体可以包括数据存储设备,例如,ROM(例如,CD ROM或半导体ROM),或者磁性记录介质(例如,硬盘)。此外,载体可以为可传输载体(例如,电信号或光信号,它们可以经由电缆或光缆或通过无线电或其他手段来传送)。当程序被实施在这样的信号中时,载体可以包括这样的线缆或其他设备或单元。替代地,载体可以是其中嵌入有程序的集成电路,该集成电路适于执行相关的方法,或者适于在对相关的方法的执行中使用。

通过研究附图、公开内容和权利要求,本领域技术人员能够理解和实施所公开的实施例的变型。在权利要求中,“包括”一词不排除其他元件或步骤,并且词语“一”或“一个”不排除多个。单个处理器或其他单元可以实现在权利要求中记载的若干项的功能。虽然某些措施被记载在互不相同的从属权利要求中,但是这并不指示不能有利地使用这些措施的组合。计算机程序可以被存储/分布在合适的介质上,例如与其他硬件一起或者作为其他硬件的部分而供应的光学存储介质或固态介质,但是也可以被以其他形式分布,例如经由互联网或其他有线或无线的电信系统分布。权利要求中的任何附图标记都不应被解释为对范围的限制。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:自适应无线通信的学习与部署

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!