基于先前的简化图执行的条件性图执行制造技术

技术编号:22978642 阅读:73 留言:0更新日期:2020-01-01 00:52
本文公开了用于执行有向图的计算机实施的方法和相关联的硬件。一种示例方法包括导出有向图的简化版本、将先导输入张量应用于有向图的简化版本,以及在将先导输入张量应用于有向图的简化版本期间获得执行数据的集合。该方法还包括将实时输入张量应用于有向图,并使用执行数据的集合来条件化有向图的执行。从有向图的条件性执行中获得输出张量。

Conditional graph execution based on previous simplified graph execution

【技术实现步骤摘要】
【国外来华专利技术】基于先前的简化图执行的条件性图执行相关申请的交叉引用本申请要求于2018年4月4日提交的美国专利申请号15/945,454和于2017年4月7日提交的美国临时专利申请号62/483,133的权益,出于所有目的这两个申请通过引用整体结合于此。
XXX
技术介绍
机器智能系统性能的最近的激增不是由于革命性新算法的发展。事实上,今天机器智能应用中使用的核心算法源于如今有半个多世纪历史的大量工作。相反,正是硬件和软件方面的改进以高效的方式实施了机器智能算法,这推动了最近的激增。曾经在计算方面过于密集而甚至无法利用最复杂的计算机来实施的算法现在可以利用单个用户的智能手机上的专用硬件来执行。硬件和软件方面的改进采取了各种形式。例如,传统地处理用于为计算机图形渲染多边形的向量的图形处理单元已经以高效的方式被重新利用,来操纵机器智能处理中使用的数据元素。作为另一示例,某些类别的硬件已经被从头开始设计,以通过使用诸如脉动型(systolic)阵列的专门处理元件来实施机器智能算法。进一步的进展集中于使用晶体管和存储器元件的集合来直接在硬件中模拟传统人工神经网络(artificialneuralnetwork,ANN)中的神经元的行为。毫无疑问,机器智能领域已从这些改进中大大受益。然而,尽管对这些方法有着浓厚的兴趣,但机器智能系统仍然代表当今最有计算力和能量密集的计算应用之一,并且呈现了准备着进一步发展领域。机器智能应用如此渴求资源的原因是,对其进行操作的数据结构通常非常大,并且必须在数据结构中的每一个上执行的离散原语计算的数量同样巨大。传统的ANN接受输入向量,使用输入向量和一组权重向量进行计算,并产生输出向量。该组权重向量中的每个权重向量通常被称为网络的层,并且每个层的输出用作下一层的输入。在传统网络中,这些层是完全连接的,这需要在用权重向量的每个元素的计算中涉及输入向量的每个元素。因此,所涉及的计算的数量随着与每个层的大小的幂律(powerlaw)关系而增加。另外,机器智能算法的这一方面使得它们难以并行化,因为针对每一层的计算依赖于前一层的输出。现代ANN进一步加剧了前一段提到的问题。现代ANN方法在工业和文学作品中通常被称为“深度学习”方法。这通常是指所涉及的大量层、或者一个层的输出和其他层的输入之间的关系的复杂性。例如,在现代深度学习ANN中,下游层的输出可以被反馈到前一层,这从而在整体计算中添加递归元素。与层之间的递归关系相关联的附加的复杂性增加了实施现代ANN所需的计算资源。图1示出了用于现代机器智能系统的计算的有向图100。有向图100的输入是输入张量X。有向图100的输出是输出张量Y。输入可以是用于图片(诸如猫101的图像)的编码。在这个示例中,有向图100的执行涉及图提供关于经编码图像的内容包含了什么的文本猜测的编码。图输出可以被称为由有向图生成的推理,因为机器智能系统高效地从图片的编码中推理图片显示了什么。由此,如果有向图100表示适当训练的机器智能系统,用输入张量X执行图100将产生输出张量Y,该输出张量Y编码了如图所示的单词“CAT”。有向图100的边表示执行该图必须进行的计算。在这个示例中,该图被分成两个部分——卷积部分102和完全连接部分103。卷积部分可以被称为卷积神经网络(convolutionalneuralnetwork,CNN)。CNN102的有向图中的顶点形成包括层106、107和108的一组层。层各自包括多组张量,诸如张量109、110和111。完全连接部分103的有向图中的顶点也形成包括层112和113的一组层。有向图100中的每条边表示涉及该边的原点顶点(originvertex)的计算。在CNN102中,计算是原点顶点和过滤器之间的卷积。CNN102中的每个边与不同的过滤器F11、Fn1、F12、Fn2等相关联。如图所示,过滤器F12和张量109经历全卷积以生成张量111的一个元素。过滤器F12绕张量109“滑动”,直到已在过滤器和原点顶点之间进行了卷积操作。在其他方法中,过滤器F12和张量109的一部分相乘以生成张量111的一个元素,并且全卷积用于生成张量111的多个元素。在完全连接部分103中,计算是一组权重和来自前一层的值之间的乘法。在完全连接部分103中,每个边与将在计算中使用的唯一权重值相关联。例如,边114表示权重wn和输入值115之间的乘积。元素116的值是涉及层112的所有元素和一组权重值的一组相同操作的总和,该组权重值唯一地对应于导向元素116的每个边的原点顶点。有向图100的执行涉及许多计算。在图示中,在竖直方向上使用点来指示有向图中涉及的较大程度的重复。另外,有向图100表示相对简单的ANN,因为现代ANN可以包括多得多的层,这些层之间具有复杂得多的相互关系。尽管没有由有向图100示出,但是一个层的输出可以循环回到前一层的输入,以形成通常被称为递归神经网络(recursiveneuralnetwork,RNN)的东西。通过具有许多元素提供给机器智能系统的高度的灵活性以及层数和它们的相互关系的复杂性方面的增加,使得机器智能系统不太可能未来在复杂性方面降低。因此,机器智能系统的计算复杂性在未来可能会增加而不是减少。
技术实现思路
公开了一种用于执行有向图的计算机实施的方法,其中每个步骤由处理器执行。该方法包括导出有向图的简化版本,并将先导(pilot)输入张量应用于有向图的简化版本。该方法还包括在将先导输入张量应用于有向图的简化版本期间获得执行数据的集合。该方法还包括将实时输入张量应用于有向图,并且在将实时输入张量应用于有向图期间、使用执行数据的集合来条件化(conditioning)有向图的执行。该方法还包括从有向图的条件性(conditional)执行中获得输出张量。公开了一种用于从神经网络生成推理的计算机实施的方法,其中每个步骤由处理器执行。该方法包括导出神经网络的简化版本。该方法还包括将第一输入应用于神经网络的简化版本。该方法还包括在将第一输入应用于神经网络期间获得执行数据的集合。该方法还包括将第二输入应用于神经网络。该方法还包括在将第二输入应用于神经网络期间条件化神经网络的计算。该方法还包括从神经网络的条件性计算中获得推理。使用执行数据来条件化神经网络的条件性计算。与使用第二输入的神经网络的非条件性计算相比,神经网络的条件性计算在计算密集方面更小。附图说明图1包括根据相关技术的人工神经网络的有向图。图2包括用于有向图的条件性执行的一组方法的流程图和相应的数据流图。图3包括导出有向图的简化版本的具体方法的图示。图4包括用于在有向图的简化版本的执行期间获得和存储执行数据的具体方法的图示。图5包括用于条件性地执行有向图的具体方法的图示。图6包括被公开应用于实施复杂神经网络的有向图的切片(slice)的方法的图示。具体实施方式可以通过执行图的简化版本来获得用于条件化该图的后续执行的信息,来使得有向图的执行在计算上更不密集。这个断言就本文档来自技高网
...

【技术保护点】
1.一种用于执行有向图的计算机实施的方法,其中每个步骤由处理器执行,所述方法包括:/n导出所述有向图的简化版本;/n将先导输入张量应用于所述有向图的简化版本;/n在将所述先导输入张量应用于所述有向图的简化版本期间获得执行数据的集合;/n将实时输入张量应用于所述有向图;/n在将所述实时输入张量应用于所述有向图期间,使用所述执行数据的集合来条件化所述有向图的执行;以及/n从所述有向图的条件性执行中获得输出张量。/n

【技术特征摘要】
【国外来华专利技术】20170407 US 62/483,133;20180404 US 15/945,4541.一种用于执行有向图的计算机实施的方法,其中每个步骤由处理器执行,所述方法包括:
导出所述有向图的简化版本;
将先导输入张量应用于所述有向图的简化版本;
在将所述先导输入张量应用于所述有向图的简化版本期间获得执行数据的集合;
将实时输入张量应用于所述有向图;
在将所述实时输入张量应用于所述有向图期间,使用所述执行数据的集合来条件化所述有向图的执行;以及
从所述有向图的条件性执行中获得输出张量。


2.根据权利要求1所述的计算机实施的方法,其中:
所述先导输入张量和所述实时输入张量不相同;以及
所述先导输入张量和所述实时输入张量随机相关。


3.根据权利要求1所述的计算机实施的方法,还包括:
将所述执行数据存储在存储器中作为存储的执行数据;以及
使用所述存储的执行数据,在所述有向图的条件性执行之前将所述有向图准备好用于所述条件性执行。


4.根据权利要求1所述的计算机实施的方法,其中:
所述有向图包括一组顶点和互连所述一组顶点的一组边;
所述有向图是神经网络;
有向图的所述一组边是涉及所述神经网络的一组权重的计算,其中所述一组权重包括至少一个权重张量;
所述一组顶点的至少一个子集是所述神经网络的权重;
所述有向图的条件性执行产生推理张量;以及
所述推理张量是所述神经网络对所述实时输入张量的响应。


5.根据权利要求4所述的计算机实施的方法,其中:
所述一组边中的边是使用四维张量的计算。


6.根据权利要求4所述的计算机实施的方法,其中:
所述有向图的简化版本的导出包括以采样因子对所述有向图进行下采样;
所述有向图的简化版本因此是所述有向图的下采样版本;
用于执行所述有向图的简化版本的第一完整组张量具有秩;以及
用于执行所述有向图的第二完整组张量具有所述秩。


7.根据权利要求6所述的计算机实施的方法,其中:
所述有向图的下采样利用多项式插值法。


8.根据权利要求4所述的计算机实施的方法,其中:
所述有向图的简化版本的导出包括利用一组替换值替换所述一组权重的一组原始值;以及
所述有向图的简化版本具有与所述有向图相同数量的层。


9.根据权利要求8所述的计算机实施的方法,其中所述替换包括以下之一:
减少用于表示所述一组原始值的比特数,以获得所述一组替换值;以及
使用所述一组原始值的一组指数计算所述一组替换值。


10.根据权利要求4所述的计算机实施的方法,其中:
所述执行数据的集合包括一组执行数据值;
所述一组执行数据值和所述一组顶点具有唯一相对应的元素;
所述一组顶点中的每个唯一相对应的顶点响应于所述先导输入张量产生对所述推理张量的贡献;以及
所述一组执行数据值中的每个执行数据值在量级方面与所述一组顶点中的每个唯一相对应的顶点对所述推理张量的贡献成比例。


11.根据权利要求4所述的计算机实施的方法,还包括:
将所述执行数据存储在分布式的一组存储器位置中;
使用单个地址从所述分布式的一组存储器位置中的存储器位置获得以下两者:(i)来自所述执行数据的执行数据的子集;和(ii)来自所述一组权重的权重张量;以及
其中,使用所述执行数据和所述一组权重实时进行所述有向图的执行的条件化。


12.根据权利要求4所述的计算机实施的方法,还包括:
使用所述执行数据的集合生成所述有向图的标记;
将所述标记存储在分布式的一组存储器位置中;以及
使用所述标记来条件化所述一组权重的更新。


13.根据权利要求4所述的计算机实施的方法,还包括:
使用所述执行数据的集合生成所述有向图的标记;
其中,所述标记标识权重张量的优先级值;以及
其中,所述有向图的执行的条件化使用所述标记。


14.根据权利要求13所述的计算机实施的方法,还包括:
将所述标记存储在分布式的一组存储器位置中;以及
使用单个地址从所述分布式的一组存储器位置中的存储器位置获得所述优先级值和所述权重张量。


15.根据权利要求13所述的计算机实施的方...

【专利技术属性】
技术研发人员:L巴吉克M特拉杰科维奇I哈默
申请(专利权)人:滕斯托伦特股份有限公司
类型:发明
国别省市:加拿大;CA

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1