使用起源数据的深度学习模型洞察的制作方法

文档序号:23157882发布日期:2020-12-04 13:52阅读:128来源:国知局
使用起源数据的深度学习模型洞察的制作方法

本发明总体上涉及计算领域,并且更具体地涉及机器学习。



背景技术:

深度学习模型已在许多领域中使用,并且在理解模型行为方面可被视为黑匣子。各种训练模型可处理数据并以不同的精度提供不同的结果。通过提供将要在各个领域和行业中使用的精确无偏的输出数据,产生可理解的结果和准确的分类推动了机器学习领域的发展。



技术实现要素:

本发明的实施例公开了一种用于使用起源(provenance)数据来生成深度学习模型洞察(insight)的方法,计算机系统和计算机程序产品。本发明的实施例可包括收集起源数据。本发明的实施例可包括基于所收集的起源数据来生成模型洞察。本发明的实施例可包括基于所生成的模型洞察来生成训练模型。本发明的实施例可包括减小训练模型尺寸。本发明的实施例可包括创建最终训练后模型。

附图说明

通过下面结合附图来阅读的对示例性实施例的详细描述,本发明的这些和其他目的,特征和优点将变得显而易见。附图的各种特征未按比例绘制,因为图示是为了清楚起见,以帮助本领域技术人员结合详细描述来理解本发明。在附图中:

图1示出了根据至少一个实施例的联网计算机环境;

图2是根据至少一个实施例的在每次迭代中收集起源数据的框图示例;

图3是示出根据至少一个实施例的用于使用所收集的起源数据来建立分析模型的过程的操作流程图;

图4是示出根据至少一个实施例的使用所收集的起源数据来建立推理模型的过程的操作流程图;

图5是根据至少一个实施例的在图1中描绘的计算机和服务器的内部和外部组件的框图;

图6是根据本公开的实施例的包括在图1中描绘的计算机系统的说明性云计算环境的框图;以及

图7是根据本公开的实施例的图6的说明性云计算环境的功能层的框图。

具体实施方式

本文公开了要求保护的结构和方法的详细实施例;然而,可以理解,所公开的实施例仅是可以以各种形式体现的所要求保护的结构和方法的说明。然而,本发明可以以许多不同的形式体现,并且不应被解释为限于这里阐述的示例性实施例。而是,提供这些示例性实施例,使得本公开将是彻底和完整的,并且将本发明的范围充分传达给本领域技术人员。在说明书中,可省略众所周知的特征和技术的细节,以避免不必要地混淆所呈现的实施例。

如前所述,深度学习模型在许多领域中使用,并且在理解模型行为方面可被视为黑盒。各种训练模型可处理数据并以不同的精度提供不同的结果。通过提供可在各个领域和行业中使用的精确无偏的输出数据,产生可理解的结果和准确的分类推动了机器学习领域的发展。

深度学习模型可收集和分析跨越各个领域的大量数据,并且可用于解决现实世界的问题。但是,理解模型训练,模型分析,模型行为,模型优势和模型推理可能会受到深度学习训练模型中使用的数据质量的限制。通常,基于从最终训练后模型输出的数据而不是起源数据来分析训练模型。修剪深度神经网络的现有方法可例如通过计算过滤器的绝对内核权重之和来分析最终训练后网络,并且如果该和小于阈值,则移除过滤器,并重新训练整个网络。现有方法的一个缺点可包括,考虑到对最终训练后模型的分析,没有关于过滤器权重以及过滤器权重如何收敛的洞察。另一个缺点可包括在修剪模型之后使用额外的开销来重新训练模型。另一个缺点可包括具有低权重的修剪过滤器不能保证不相关的过滤器已被删除,因此可能会删除相关或重要的过滤器。

另外,由于被分析的大量数据和用于训练机器学习模型的资源量,可能对训练过程造成进一步的限制。因此,除其他外,可能是有利的是使用起源数据来生成对机器学习模型的洞察。更具体地说,是生成将提高深度学习模型产生无偏结果的准确性的洞察,并产生关于深度学习模型为何产生不准确结果的洞察。另外,可通过确定在每次迭代时或在多次迭代后修剪哪些节点来减小模型尺寸,从而提供了更大的带宽资源以用于深度学习模型的分析和训练。

深度学习是可基于训练数据对信息进行分类的一种机器学习。训练数据可以是结构化数据或非结构化数据。结构化数据可包括高度组织化的数据,例如电子表格,关系数据库或存储在固定字段中的数据。非结构化数据可包括未组织的并且具有非常规内部结构的数据,例如便携式文档格式(pdf),图像,演示文稿,网页,视频内容,音频内容,电子邮件,文字处理文档或多媒体内容。深度学习也可与分层学习或深度结构化学习有关或称为分层学习或深度结构化学习。

深度学习可映射输入,对数据分类,解释数据集并提供用于一层或多层数据的数据输出。每层数据可被表示为一个节点。节点也可被称为神经元或人工神经元。深度学习可检测可能被标记或未被标记的数据的相似性。例如,深度学习可充当监督学习,无监督学习或半监督学习。监督学习可使用被标记的数据集来训练ml模型。无监督学习可使用所有未被标记的数据来训练ml模型。半监督学习可使用被标记数据集和未被标记数据集二者来训练ml模型。深度学习模型可提供例如图形输出,该图形输出可被生成为与正被学习的领域特定分类法有关的节点和边缘。

以下描述的示例性实施例提供了用于深度学习的系统,方法和程序产品。这样,本发明的实施例具有通过从利用在训练阶段期间收集的起源数据的深度学习模型中产生洞察来改善深度学习的技术领域的能力。更具体地说,在每次迭代时使用起源数据来收集和分析深度学习训练数据将被用于构建分析模型,减小模型尺寸并构建推理模型。

根据一个实施例,分析模型可使用在训练阶段期间收集的起源数据来生成与模型强度有关的洞察,以减小模型尺寸并检测测试样本失败的原因。可利用从分析模型生成的洞察来减小深度学习模型的尺寸。从分析模型生成的洞察也可被利用来构建推理模型。推理模型可分析或生成关于模型行为,测试输入样本故障和模型推理故障的洞察。

神经网络可以是深度学习的组成部分。神经网络可以与深度网络或深度神经网络相关或被称为深度网络或深度神经网络。神经网络可解释,标记和分类原始数据,例如非结构化数据。深度神经网络中的神经元可组合输入数据,并基于神经网络正在学习的内容的显著性水平为输入数据分配权重,以便对数据进行分类。神经网络越深,输入数据经过的神经元或节点层越多。神经元,节点和过滤器可以被认为是可互换的术语。神经元可表示接收输入数据,产生输入权重并将该输入权重与数据相关联,以及然后通过计算确定数据在被分类之前应在网络中继续或者前进的位置。每层神经元可基于先前的输出层来训练数据。

根据一个实施例,可收集,存储和分析起源数据以训练深度学习模型。起源数据在深度学习模型的训练阶段期间收集和分析,以便为各种建模任务提供推理和洞察。学习模型的洞察在训练过程期间的每次迭代时根据起源数据生成。训练过程可包含一个或多个迭代。起源数据可包括基于经过深度模型层的训练数据来收集的数据。训练数据经过的每个层可在每次迭代时提供起源数据。例如,用作训练数据的图像经过模型,以及在每层和每次迭代中通过模型生成的所学习的权重,激活值和梯度。每次迭代时训练数据的所学习的权重,所学习的激活值和所学习的梯度可被存储为起源数据。在每次迭代中对起源数据的分析可包括使用训练图像,使用激活值和使用计算出的梯度来在神经元连接处过滤和分配权重。在每次迭代中收集和存储起源数据在一次迭代中生成洞察,并且随着时间的流逝,可能会在多次迭代后共同创建一个高度准确的训练模型。

在一个实施例中,所收集的起源数据可用于建立分析模型,以在模型训练期间生成关于深度学习模型的洞察。分析模型可评估神经元权重收敛,神经元权重收敛的数量,神经元收敛的速度,神经元权重波动,神经元学习特征,每个神经元的学习历史,哪些神经元集相关,神经元权重谱系以及尚未使用的节点。分析模型评估提供了有关如何优化深度学习网络的洞察。

可跨不同的迭代来分析起源数据。可通过分析神经元权重收敛以及神经元权重的收敛速度来确定起源数据的质量。权重的不收敛可能意味着训练数据是高质量数据或更高质量的数据,例如,类别数据已平衡,或者图像数据中的模糊或噪声很小或没有。相应地,权重收敛越多,可能就需要越少的起源数据来进行进一步的训练。神经元权重的快速收敛表明起源数据是质量数据。或者,神经元权重的收敛较慢表示训练数据的质量较低,例如样本数量较少,类别不平衡或数据变化不多。

针对过滤器权重收敛和在每次迭代中的变化分析起源数据可提供允许对过滤器进行优先级排序并识别要修剪的过滤器的信息。适当地确定可删除哪些过滤器而不丢失模型的完整性,可帮助减小深度学习模型的尺寸。可分析神经元重量波动以确定模型参数是否正确更新。模型参数可例如包括模型的动量(momentum)和学习率。如果神经元的权重高度地波动,即使经过多次迭代,也可能发生权重振荡问题。权重振荡可表明该数据不足以进行模型训练。

分析神经元相关性可确定如何组合特征以在每次迭代时提供起源数据的更复杂的表示。神经元相关分析还可帮助理解神经元是否正在使用不同的过滤器进行学习。如果神经网络学习类似的过滤器,则可指示数据的复杂性低或简单,以使得小网络足以学习训练数据的数据模式。数据的低复杂性可表示,例如,数据中的噪声很少或没有噪声,存在的数据类别更少,存在的数据变化更少,不存在遮挡,并且不存在背景信息。使用更小的网络和简化的数据,可删除一些冗余过滤器,或者可减小网络中的层数或节点数。

可通过为每个神经元产生快照(snapshot)或视频剪辑来完成对每个神经元的学习历史的分析。快照或视频剪辑可说明随时间变化的神经元学习的特征,并可突出显示图像上正在激活的区域。例如,起源数据用于创建模型快照,该快照在每个时间戳下拍摄,以立即显示在训练期间激活如何演变。从每个时间戳处获取的起源数据的快照中获得的可视化是精确的描述,而不是反向传播的估计。

快照可产生具有多种格式的图像文件,例如图形界面格式(gif)、联合摄影专家组(jpeg)、便携式网络图形(png)或标记的图像文件格式(tiff)。在每次迭代中收集起源数据并创建神经元历史的模型快照可为训练模型提供洞察。模型快照可通过分析有关权重,激活和迭代间的变化的数据来提供洞察。洞察可帮助确定要修剪的神经元或过滤器的优先级,从而在提高准确性的同时保留资源。

神经元权重谱系可包括为每个神经元权重产生谱系。例如,在每个步骤中,深度学习程序可产生反向传播的其他神经元的输入权重。也可产生所施加的变换和输入图像。用于更新权重的数据是可用于产生输入权重,应用的变换和输入图像的数据。

在一个实施例中,从分析模型生成的洞察可用于减小深度学习模型的尺寸。在训练期间的每次迭代中,深度学习模型的尺寸可能会减小。如果确定某些神经元已经学习了类似的过滤器,则可修剪冗余过滤器或将其从网络中删除。另外,分析每次迭代的权重变化可允许修剪被更高加权的过滤器。例如,给定两个不同的神经元权重,如果一个权重大于另一个权重,并且每次迭代时较高权重和较低权重都在减小,则可删除被更高加权的过滤器,因为被更高加权的过滤器由于样本数量随着每次迭代增加而正在降低相关性。

平均深度网络可包括例如8层,尺寸为11×11的96个过滤器,100,000张图像和100,000次迭代。在每次迭代中,所存储的数据可包括所有神经元和连接的权重,并且对于每个图像,包括由每个神经元激活的区域。所存储的值的总数可能会变大并持续增长,例如,从10b开始并越来越大。

模型尺寸的减小可提供更少的计算,这可导致获得关于训练模型的进一步洞察所需的更少运行时间或深度学习模型所需的更少运行时间。训练可从大量的节点开始,并且大量的节点可代表模型尺寸。模型尺寸可变化,并且可取决于特定领域的训练数据量。各种模型尺寸可被执行并独立运行以评估模型特征。例如,更改模型尺寸和尝试不同的过滤器要求独立运行模型训练,这在实际的机器学习设置中可能是不可行的。在使用起源数据的情况下,在模型训练时,可使用从各种模型尺寸和各种过滤器获得的知识来减小深度学习模型的尺寸。

在一个实施例中,可构建推理模型以使用起源数据来生成关于深度学习模型的洞察。还可构建推理模型来进一步修剪数据,测试查询样本以及找出输入测试样本可能在模型上失败的原因。推理模型可评估或利用从分析模型生成的洞察来推理深度学习模型的行为。推理模型可通过分析模型参数来帮助检测模型的非最佳性能或不良性能。例如,推理模型可通过使用起源数据分析模型参数并通过使用构建的分析模型来检测模型中的不良性能。模型参数可包括:数据分布,对抗样本,损坏样本,欠拟合,过拟合,模型训练问题或采样问题。

与对抗样本有关的推理模型分析可包括,例如,将错误分类的样本馈入模型中并评估模型性能和模型行为。使用起源数据,可生成图以说明哪些类别样本负责在不同迭代中激活节点。更具体地,可生成图以图示类别样本图像的哪部分负责节点的激活。该图可提供与哪些节点已经学习了类别样本或类别样本的部分有关的洞察。

欠拟合可由于机器学习模型无法准确描绘输入数据或数据趋势而降低模型性能。过拟合可能会通过向机器学习模型提供大量训练数据以使得模型学习太多的细节(例如噪声和不准确的数据)而降低模型性能。训练模型的欠拟合或过拟合可通过分析不同层和不同迭代处的节点激活来确定。例如,如果较高层层次中的节点在初始迭代时针对不同的类别样本激活,但在后来的迭代时并未针对不同的类别样本激活,则可能存在欠拟合或过拟合。另外,如果节点激活的层次没有从多个类到单个类饱和,或者如果激活节点的类别集合样本不具有任何视觉相似性,则可能也存在欠拟合或过拟合。如果使用了细粒度的类别样本,并且节点激活达到饱和且仍然将测试样本映射到错误的类别,那么该测试样本就有可能属于对抗类别。细粒度的类别样本可包括带有视觉相似性的类别集合样本。节点激活的饱和度可以是例如针对单个类别激活的节点。

推理模型还可分析与采样问题有关的模型训练问题。推理模型可通过使用将要激活节点的图像或将要负责激活节点的图像来识别采样策略问题,以便捕获节点激活的模式。例如,如果相同类别的样本激活了不同的节点集合,则该信息可帮助确定单个类别是否具有多个分布,或者采样策略是否存在问题。

参考图1,描绘了根据一个实施例的示例性联网计算机环境100。联网计算机环境100可包括具有处理器104和数据存储设备106的计算机102,其能够运行软件程序108和深度学习程序110a。联网计算机环境100还可包括服务器112,该服务器112能够运行可与数据库114和通信网络116交互的深度学习程序110b。联网计算机环境100可包括多个计算机102和服务器112,仅显示其中之一。通信网络116可包括各种类型的通信网络,诸如广域网(wan)、局域网(lan)、电信网络、无线网络、公共交换网络和/或卫星网络。应该理解的是,图1仅提供了一种实现方式的图示,并不暗示对可实现不同实施例的环境的任何限制。可基于设计和实现要求对所描绘的环境进行许多修改。

客户端计算机102可经由通信网络116与服务器计算机112进行通信。通信网络116可包括诸如有线,无线通信链路或光纤电缆的连接。如将参考图5讨论的那样,服务器计算机112可分别包括内部组件902a和外部组件904a,并且客户端计算机102可分别包括内部组件902b和外部组件904b。服务器计算机112还可在云计算服务模型中运行,例如软件即服务(saas),分析即服务(aaas),平台即服务(paas),区块链即服务(baas)或基础架构即服务(iaas)。服务器112也可位于云计算部署模型中,例如私有云、共同体云、公共云或混合云。客户计算机102可以是例如移动设备、电话、个人数字助理、上网本、膝上型计算机、平板计算机、台式计算机、或能够运行程序,访问网络以及访问数据库114的任何类型的计算设备。根据本实施例的各种实现,深度学习程序110a、110b可与数据库114交互,该数据库114可被嵌入各种存储设备中,例如但不限于计算机/移动设备102、联网服务器112、或云存储服务。

根据本实施例,使用客户端计算机102或服务器计算机112的用户可(分别)使用深度学习程序110a、110b来构建可通过分析在深度学习训练期间收集的起源数据来生成洞察的分析模型。从分析模型生成的洞察可进一步用于减小深度学习模型的尺寸并了解深度学习模型失败的原因。下面参考图2至图4更详细地解释深度学习方法。

现在参考图2,描绘了根据至少一个实施例的在深度学习程序110a、110b所使用的每次迭代中收集起源数据的框图示例。

训练数据202可包括输入数据,包括结构化和非结构化数据二者。例如,训练数据202可包括存储在一个或多个数据库上的图像和文档。可使用公共数据库,并且可以以适当访问权限来使用私有数据库。例如,训练数据202样本可包括从公共数据库获得的用于训练模型的各种动物物种。私有数据库示例可包括从医院存储库用来训练与医学图像或医学诊断有关的模型的图像和文档。另一个私人数据库示例可包括来自其他行业的图像和文档,例如金融,法律,农业,汽车或政府。训练数据202可基于可访问性获得。

深度神经网络体系结构可具有多个层204a-n。每层204a-n可具有多个神经元或节点。层204a-n可以是各种类型的层,例如卷积层、汇集层、relu层、线性层、或完全连接的层。损失层206可在最后一层204n之后。损失层206可计算模型强度和梯度。损失层206可将梯度反向传播到诸如层204n的先前层,以更新模型权重。模型的每次迭代具有前向经过和反向经过。在每次迭代之后,所收集的数据可包括起源数据208a-n。起源数据208a-n可包括在该迭代中使用的训练图像、所学习的权重、激活值和激活了哪些节点、以及梯度。

现在参考图3,描绘了根据至少一个实施例的示出由深度学习程序110a、110b使用的示例性分析模型建立过程300的操作流程图。可通过在模型训练阶段期间使用所收集的起源数据来创建分析模型建立过程300,以生成与模型强度有关的洞察。

在302,收集起源数据。通过使训练数据202经过深度模型层并通过在每次迭代中存储起源数据和训练数据来收集起源数据,例如,如先前在图2中所示的。例如,从与特定动物物种有关的公共数据库中检索到的训练数据被收集,并经过深度网络中的深度模型层,并针对该迭代在训练数据上收集起源数据。每次迭代时,起源数据和训练数据都存储在数据库中。

在304,使用所收集的起源数据生成模型洞察。通过分析神经元权重、神经元学习特征、神经元历史和谱系、相关神经元和未使用的神经元,将获得模型洞察。可分析已收敛的神经元权重的数量,例如,以找到所收集的起源数据存在的问题或找到更多可用于在另一迭代中训练模型的数据。神经元权重分析可包括评估神经元权重收敛的速度,并且评估所采取的迭代次数以识别所收集的数据的准确性和所训练算法的准确性。例如,与动物物种有关的训练数据和所收集的起源数据由分析模型评估,并且神经元权重在5次迭代后迅速收敛。因此,神经元权重的快速收敛可表明指定动物物种的训练数据是质量数据。

神经元权重分析还可包括评估神经元的权重。如果神经元或过滤器大范围波动,则可能需要例如通过更改动量来修改或更改参数。神经元权重分析可包括跨迭代来比较神经元的权重,并通过绘制图以可视地说明神经元行为。神经元学习特征分析可包括识别神经元是否正在学习相同的特征。可在每层添加或减小过滤器,例如,如果神经元正在学习相同的过滤器,则可修剪该特定层上的那些过滤器。

可评估针对每个神经元的神经元学习历史分析,以使得产生快照或视频剪辑以突出显示神经元在一段时间内正在学习的特征。快照可另外突出显示哪些神经元区域被激活,同时为所收集的起源数据生成洞察。快照还可提供神经网络如何运行的可视化,例如,可生成图像文件供用户查看神经元学习历史的表示。

神经元相关性分析可评估哪些神经元集合是相关的,并且可提供对深度神经网络的理解以及如何组合特征以给出每次迭代的更复杂表示。可在每个迭代中针对每个神经元权重和其他反向传播神经元的输入权重来生成或产生神经元谱系分析。

在306,使用所生成的模型洞察来减小模型尺寸。在步骤304生成的模型洞察可用于减小模型尺寸。在每次迭代时,起源数据被分析,并且网络尺寸可被修剪或减小。在网络尺寸减小后,将在减小的网络上继续进行模型训练。可用于减小网络尺寸的模型洞察可包括关于神经元权重、神经元连接、由各种过滤器学习的特征以及神经元权重收敛或神经元权重非收敛所获得的洞察。对于每n次迭代,可对所收集的起源数据完成定期分析,并且如果确定应该发生神经元去除,则减小网络模型。

例如,考虑在层l处的两个神经元n1(l)和n2(l),以及在层l+1处的最终训练后模型中的两个相应神经元n3(l+1)和n4(l+1),其具有对应的权重w1和w2。因此,n1(l)和n3(l+1)的对应权重为w1,n2(l)和n4(l+1)的对应权重为w2。在本示例中,权重w1大于权重w2。起源数据可提供以下信息:神经元n1(l)的连接和对应的n3(l+1)的权重w1随时间减小,而神经元连接n2(l)和对应的n4(l+1)的权重w2随时间增加。在这种情况下,并基于所收集的起源数据洞察,深度学习程序110a、110b可相比于w1和对应的神经元连接n1(l)和n3(l+1),优先考虑可随着时间而增加的权重w2和对应的神经元连接n2(l)和n4(l+1)。因此,深度学习程序110a、110b可决定去除或修剪n2(l)和n4(l+1)神经连接。另外,随着时间的流逝,神经元权重可能会收敛,从而允许附加推理以移除较低权重层处的神经元,以减小模型尺寸,同时保留模型的准确性。

在308,创建最终训练后模型。例如,可在n次迭代之后并基于先前步骤中的分析来创建最终训练后模型。最终训练后模型可存储在数据库中以备将来使用。此外,最终训练后模型仍可进行更多分析,以连续生成训练后模型的洞察,例如步骤304和306中提供的分析。

现在参考图4,描绘了根据至少一个实施例的示出由深度学习程序110a、110b使用的示例性推理模型建立过程400的操作流程图。可通过将最终训练后分析模型与查询样本一起使用来创建推理模型建立过程400。推理模型可提供有关以下内容的信息:例如,某些输入测试样本为何在模型上失败,以及如何利用分析模型创建的洞察来理解深度学习模型的行为。

在402,使用来自步骤310的训练后模型对查询样本进行分类。数据的查询样本可包括来自特定领域或行业的数据,或者查询样本可包括一批不相关的数据。可使用训练后模型对查询样本数据进行分类。例如,来自两种不同动物物种(a类(例如,猫)和b类(例如,狗))的两个不同批次的类别样本图像和文档被输入到训练后模型中用于分类。a类样本和b类样本可包括一个或多个待分类的数据分布。

在404处,深度学习程序110a、110b确定输出是否正确。深度学习程序110a、110b可通过分析输入查询样本的训练后模型分类来确定输出是否正确。该确定可包括将从查询样本的开始迭代激活的神经元与可在查询样本的后续迭代期间激活的神经元进行比较。例如,如果来自同一类别的样本在前几次迭代中激活了x个神经元,然后在接下来的几次迭代中,同一类别的样本激活了另外x'个神经元,那么它可表明特定类别具有多个分布样本,并且使用了不正确的采样。不正确的采样可能是由于在最初的几次迭代中训练的样本的一种分布,以及然后来自在以后的迭代中使用的同一类别的不同分布的样本。以后的迭代可包括已与可能已被分布的附加类别数据样本一起展开的查询样本。

对输出的分析可提供正确分类或不正确分类或错误分类的洞察和原因。例如,将推理模型应用于训练后模型,用户可能想要确定模型对样本进行正确分类还是不正确分类,然后用户可能想要针对正确或不正确输出的原因。用户可提供用于校正目的的标签,例如作为基础事实,以为模型创建更高的准确性。分类分析可包括细粒度的分类,模型的欠拟合或过拟合或对抗样本分析。细粒度的类别可包括具有视觉相似性或共享相似图像结构的类别集合样本。模型的欠拟合或过拟合可包括使用不共享视觉相似性的类别样本。

起源数据可用于生成示出可负责神经元激活的类别样本的各种迭代的图。所生成的图可以以单个分布示出,例如,激活神经元的类别样本图像的特定部分。类别可具有来自多个分布的样本,例如使用动物,例如单个类别中的狗类别示例,但是,来自各种犬种的样本可能在狗样本中。如果样本中包含各种犬种,则可在同一类别中创建多个分布。所生成的图可在视觉上指示单个分布或多个分布。起源数据还可生成图形来说明欠拟合、过拟合或细粒度类别的后续迭代神经元层次。

如果深度学习程序110a、110b在404处确定输出是正确的,则在406处继续使用训练后模型。可通过图形来说明正确的输出,对训练后模型的更改或改变可能不是必须的。训练后模型可继续由用户操作。

如果在404处深度学习程序110a、110b确定输出不正确,则在408处使用起源数据分析错误分类的查询样本。例如,a类样本被分类为b类样本。错误分类的查询样本的某些原因可包括:具有不同的数据分布的损坏样本或对抗样本,训练数据202的欠拟合问题、过拟合问题,或采样问题。

从步骤402处的示例继续,在前几个数据分布的前几次迭代中,a类采样和b类采样激活节点n1,n2至nk。a类包含来自a类动物的多个物种的样本。随着a类样本和b类样本通过进一步的迭代展开,节点的不同集合,节点m1,m2到mj开始针对a类激活。节点激活的不同集合可指示a类的一个分布中的分类错误,也可表示具有一个分布的有偏训练模型。例如,如果假设被错误分类的测试样本属于a类的分布1,则训练后模型使用了不准确的采样策略。因此,可例如通过添加更多样本或确定是否需要将一个类别划分为多个类别以避免类别分布的重叠效应,来对训练模型进行改进以改善采样策略。

在410处,所生成的洞察被提供给用户。所生成的洞察可被产生给操作计算设备的用户。所生成的洞察可包括视觉教具、图、图表、图像、视频、或键入的书面消息。所生成的洞察输出可基于例如步骤304和408处的分析,为用户产生变化范围的数据分析。传输给用户的输出数据可向用户提供洞察,以做出与模型训练、用途和准确性有关的决策。

可理解图2-4仅提供了一个实施例的图示,并且不暗示关于可如何实现不同实施例的任何限制。可基于设计和实施要求对所描绘的实施例进行多种修改。

图5是根据本发明的说明性实施例的在图1中描绘的计算机的内部和外部组件的框图900。应理解图5仅提供了一种实现方式的图示,并不暗示对可实现不同实施例的环境的任何限制。可基于设计和实现要求对所描绘的环境进行多种修改。

数据处理系统902、904代表能够执行机器可读程序指令的任何电子设备。数据处理系统902、904可代表智能电话、计算机系统、pda或其他电子设备。可由数据处理系统902、904表示的计算系统,环境和/或配置的示例包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上型设备、多处理器系统、基于微处理器的系统、网络pc、小型计算机系统、以及包括上述任何系统或设备的分布式云计算环境。

用户客户端计算机102和网络服务器112可包括图5所示的内部组件902a,b和外部组件904a,b的相应集合。内部组件902a,b的集合中的每一个包括一个或多个总线912上的一个或多个处理器906,一个或多个计算机可读ram908和一个或多个计算机可读rom910,以及一个或多个操作系统914和一个或多个计算机可读有形存储设备916。客户端计算机102中的一个或多个操作系统914,软件程序108和深度学习程序110a,以及网络服务器112中的深度学习程序110b可被存储在一个或多个计算机可读有形存储设备916上,以由一个或多个处理器906经由一个或多个ram908(通常包括高速缓冲存储器)执行。在图5所示的实施例中,每个计算机可读有形存储设备916是内部硬盘驱动器的磁盘存储设备。可替代地,每个计算机可读有形存储设备916是半导体存储设备,例如rom910,eprom,闪存或可存储计算机程序和数字信息的任何其他计算机可读有形存储设备。

内部组件902a,b的每个集合还包括r/w驱动器或接口918,以从一个或多个便携式计算机可读有形存储设备920中读取和写入,例如cd-rom,dvd,存储棒,磁带,磁盘,光盘或半导体存储设备。诸如软件程序108和深度学习程序110a、110b的软件程序可被存储在相应的便携式计算机可读有形存储设备920中的一个或多个上,经由相应的r/w驱动器或接口918读取并加载到相应的硬盘驱动器916中。

内部组件902a,b的每个集合还可包括网络适配器(或交换机端口卡)或接口922,例如tcp/ip适配器卡、无线wi-fi接口卡、或者3g或4g无线接口卡,或者其他有线或无线通信链接。客户端计算机102中的软件程序108和深度学习程序110a以及网络服务器计算机112中的深度学习程序110b可经由网络(例如,因特网,局域网或其它广域网)和相应的网络适配器或接口922从外部计算机(例如,服务器)下载。客户端计算机102中的软件程序108和深度学习程序110a,以及网络服务器计算机112中的深度学习程序110b被从网络适配器(或交换机端口适配器)或接口922加载到相应的硬盘驱动器916中。网络可包括:铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机、和/或边缘服务器。

外部组件904a,b的每个集合可包括计算机显示监视器924、键盘926和计算机鼠标928。外部组件904a,b还可包括触摸屏、虚拟键盘、触摸板、指点设备、和其他人机界面设备。内部组件902a,b的每个集合还包括设备驱动程序930,以与计算机显示监视器924、键盘926和计算机鼠标928进行接口连接。设备驱动程序930、r/w驱动器或接口918、和网络适配器或接口922包括硬件和软件(存储在存储设备916和/或rom910中)。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型如下:

软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。

平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

分析即服务(aaas):提供给消费者的功能是使用基于网络或基于云的网络(即基础架构)来访问分析平台。分析平台可包括对分析软件资源的访问,或者可包括对相关数据库,语料库,服务器,操作系统或存储的访问。消费者不管理或控制基础的基于网络或基于云的基础架构,包括数据库、语料库、服务器、操作系统或存储设备,但可控制已部署的应用程序以及可能的应用程序托管环境配置。

基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图6,其中显示了示例性的云计算环境1000。如图所示,云计算环境1000包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点100,本地计算设备例如可以是个人数字助理(pda)或移动电话1000a,台式电脑1000b、笔记本电脑1000c和/或汽车计算机系统1000n。云计算节点100之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点100进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境1000提供的基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas)。应当理解,图6显示的各类计算设备1000a-n仅仅是示意性的,云计算节点100以及云计算环境1000可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。

现在参考图7,其中显示了云计算环境1000提供的一组功能抽象层1100。首先应当理解,图7所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图7所示,提供下列层和对应功能:

硬件和软件层1102包括硬件和软件组件。硬件组件的例子包括:主机1104;基于risc(精简指令集计算机)体系结构的服务器1106;服务器1108;刀片服务器1110;存储设备1112;网络和网络组件1114。软件组件的例子包括:网络应用服务器软件1116以及数据库软件1118。

虚拟层1120提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器1122、虚拟存储1124、虚拟网络1126(包括虚拟私有网络)、虚拟应用和操作系统1128,以及虚拟客户端1130。

在一个示例中,管理层1132可以提供下述功能:资源供应功能1134:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能1136:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能1138:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能1140:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能1142:为根据sla预测的对云计算资源未来需求提供预先安排和供应。

工作负载层1144提供了云计算环境可被用于的功能的示例。可从该层提供的工作负载和功能的示例包括:地图绘制与导航1146;软件开发及生命周期管理1148;虚拟教室的教学提供1150;数据分析处理1152;交易处理1154;以及深度模型学习1156。深度学习程序110a,110b提供了一种在深度学习模型训练阶段期间使用起源数据来获取洞察的方法。

在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及过程式编程语言—诸如“c”语言,python编程语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1