CN111033531B - 用于格式化神经网络参数的系统和设备 - Google Patents
用于格式化神经网络参数的系统和设备 Download PDFInfo
- Publication number
- CN111033531B CN111033531B CN201880039789.8A CN201880039789A CN111033531B CN 111033531 B CN111033531 B CN 111033531B CN 201880039789 A CN201880039789 A CN 201880039789A CN 111033531 B CN111033531 B CN 111033531B
- Authority
- CN
- China
- Prior art keywords
- neural network
- parameters
- network weight
- weight
- sets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 159
- 230000015654 memory Effects 0.000 claims description 73
- 238000000034 method Methods 0.000 claims description 64
- 238000012545 processing Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 33
- 230000006835 compression Effects 0.000 claims 4
- 238000007906 compression Methods 0.000 claims 4
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 55
- 239000011159 matrix material Substances 0.000 description 43
- 238000005259 measurement Methods 0.000 description 25
- 239000000543 intermediate Substances 0.000 description 20
- 239000013598 vector Substances 0.000 description 17
- 238000003062 neural network model Methods 0.000 description 13
- 238000013138 pruning Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 239000000758 substrate Substances 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000008021 deposition Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 241000894007 species Species 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000000053 physical method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000036314 physical performance Effects 0.000 description 1
- 230000005233 quantum mechanics related processes and functions Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本技术一般涉及表示计算设备中的参数的信号和/或状态的存储,并且可以更具体地涉及表示计算设备中的神经网络参数的信号和/或状态的存储。
Description
技术领域
本技术一般涉及表示计算设备中的参数的信号和/或状态的存储,并且可以更具体地涉及格式化表示计算设备中的神经网络参数的信号和/或状态。
背景技术
例如,诸如处理器之类的集成电路设备可以在各种各样的电子设备类型中找到。例如,一个或多个处理器可以被用在诸如蜂窝电话之类的移动设备中,以及用在诸如计算机、数码相机、平板设备、个人数字助理、可穿戴设备等中。例如,移动设备和/或其他计算设备可以包括集成电路设备(例如,处理器),以出于各种目的对表示各种内容类型的信号和/或状态进行处理。随着各种不同的内容的可访问性,信号和/或状态处理技术继续发展。然而,有时,对表示相对大量内容的信号和/或状态进行处理可能证明是相对资源需求的,这可能会带来许多挑战,包括诸如处理时间增加、存储需求、复杂性、成本等等。
附图说明
在说明书的结论部分中特别指出并清楚地要求了所要求保护的主题。然而,关于操作的组织和/或方法,连同其对象、特征和/或优点,在结合附图阅读的情况下,通过参考以下详细描述可以最好地理解,在附图中:
图1是根据实施例的示例移动设备的图示;
图2是根据实施例的用于格式化神经网络权重参数集的示例过程的图示;
图3是根据实施例的描绘用于格式化神经网络权重参数集的示例过程的示意性框图;
图4是根据实施例的用于格式化神经网络权重参数集的示例过程的图示;
图5是根据实施例的用于格式化表示神经网络权重参数的信号和/或状态的示例过程的图示;以及
图6是根据实施例的示例计算设备的示意性框图。
具体实施方式
在以下详细描述中参考了构成其一部分的附图,其中相同的标号可表示相同的部分,自始至终它们是对应的和/或类似的。应当理解,附图不一定按比例绘制,例如为了说明的简单和/或清楚。例如,一些方面的尺寸可能相对于其他方面被夸大。此外,应当理解,可以利用其他实施例。此外,在不脱离所要求保护的主题的情况下,可以进行结构和/或其他改变。本说明书通篇对“所要求保护的主题”的引用是指旨在被一个或多个权利要求或其任何部分覆盖的主题,并且不一定旨在表示完整的权利要求集合、权利要求集合的特定组合(例如,方法权利要求、装置权利要求等)或特定权利要求。例如,还应注意,诸如上方、下方、顶部、底部等之类的方向和/或参考可用于促进对附图的论述,且不旨在限制所要求保护的主题的应用。因此,以下详细描述不应被理解为限制所要求保护的主题和/或等同物。
在整个说明书中对一个实现方式、实现方式、一个实施例、实施例等的引用意味着关于特定实现方式和/或实施例描述的特定特征、结构、特性等被包括在所要求保护的主题的至少一个实现方式和/或实施例中。因此,例如在本说明书中各处出现的此类短语不一定旨在表示相同的实现方式和/或实施例或者指代任何一个特定的实现方式和/或实施例。此外,应当理解,所描述的特定特征、结构、特性等能够以各种方式组合在一个或多个实现方式和/或实施例中,并且因此在预期的权利要求范围内。当然,通常,如专利申请的说明书总是出现的情况,这些和其它问题在特定的使用环境中具有变化可能性。换句话说,在整个专利申请中,描述和/或使用的特定上下文提供了关于待得出的合理推断的有用指导;然而,同样,“在该上下文中”通常在没有进一步限定的情况下是指本专利申请的上下文。
如上所述,例如,诸如处理器之类的集成电路设备可以在各种各样的电子设备类型中找到。例如,一个或多个处理器可以被用在诸如蜂窝电话之类的移动设备中,例如以及用在计算机、数码相机、平板设备、个人数字助理、可穿戴设备等中。例如,移动设备和/或其他计算设备可以包括集成电路设备(例如,处理器),以出于各种目的对表示各种内容类型的信号和/或状态进行处理。随着各种不同的内容的可访问性,信号和/或状态处理技术继续发展。然而,有时,对表示相对大量内容的信号和/或状态进行处理可能证明是相对资源需求的,这可能会带来许多挑战,包括诸如处理时间、存储需求、复杂性、成本等等增加。
例如,神经网络可以在包括语音识别、计算设备视觉应用(例如,面部识别、手写识别等)和/或自然语言处理(仅举几个示例)的应用范围中找到越来越多的实用性。例如,相对大的神经网络模型(例如,深度神经网络(DNN)模型)诸如可以利用相当大的存储器存储空间、存储器接口带宽和/或计算资源。计算资源的这种利用可能对例如移动设备、嵌入式系统和/或其他资源受限的计算设备提出挑战。
图1是根据实施例的示例移动设备的实施例100的图示。在实施例中,诸如100之类的移动设备可以包括一个或多个处理器,诸如处理器110,和/或可以包括一个或多个通信接口,诸如通信接口120。在实施例中,诸如通信接口120之类的一个或多个通信接口可以实现诸如移动设备100之类的移动设备与一个或多个其他计算设备之间的无线通信。在实施例中,例如,无线通信可以基本上根据各种通信协议中的任何协议(例如本文所提到的那些协议)来发生。
在实施例中,诸如移动设备100之类的移动设备可以包括诸如存储器130之类的存储器。在实施例中,存储器130可以包括例如非易失性存储器。此外,在实施例中,例如,诸如存储器130之类的存储器可以具有存储在其中的可执行指令,诸如用于一个或多个操作系统、通信协议和/或应用的可执行指令。此外,在实施例中,例如,诸如移动设备100之类的移动设备可以包括诸如显示器140之类的显示器、诸如一个或多个传感器150之类的一个或多个传感器、诸如一个或多个相机160之类的一个或多个相机、和/或诸如麦克风170之类的一个或多个麦克风。在实施例中,诸如150之类的一个或多个传感器可以包括一个或多个加速度计、陀螺仪、温度计、磁力计、气压计、光传感器或接近传感器或其组合。当然,这些仅是可以被包括在移动设备中的组件的示例类型,并且所要求保护的主题在范围上不限于这些特定示例。
如上所述,例如,相对大的神经网络模型(例如,深度神经网络(DNN)模型)诸如可以利用相当大的存储器存储空间、存储器接口带宽和/或其他计算资源。例如,计算资源的这种利用可能对诸如移动设备100之类的移动设备提出挑战。在一些情况下,例如,神经网络模型(例如,深度神经网络(DNN)模型)可以包括诸如相对显著的冗余,诸如关于可以至少部分地构成表示神经网络模型的各种输入、输出、连接和/或节点的向量和/或多维矩阵的权重参数。在某些情况下,神经网络模型和/或系统中的权重参数可能旨在至少部分地对生物神经元之间的突触进行建模。当然,神经网络模型可以在广泛的应用中使用,并且不限于对生物系统进行建模。减少冗余,诸如关于神经网络权重参数,例如,可以导致计算资源的高效利用的改进。例如,神经网络的计算资源的高效利用的改进可以导致诸如移动设备100之类的移动设备中和/或其他资源受限的计算设备中的神经网络的利用增加。
在一些情况下,神经网络权重参数修剪(pruning)操作可被用于移除神经网络内的冗余权重参数。如本文所使用的,例如,与神经网络权重参数等有关的术语“冗余”是指可以从神经网络模型中移除的权重参数等,同时维持指定的精度水平,诸如重新训练操作之后。在实施例中,可以为相应的权重参数和/或权重参数组确定重要参数。在实施例中,可以移除重要参数低于指定的阈值的权重参数和/或权重参数组。如本文所使用的,术语“重要参数”是指用于相应权重参数和/或相应权重参数组的参数,其可以与阈值进行比较,例如以确定是否移除权重参数和/或权重参数组。此外,术语“权重参数”、“神经网络权重参数”、“重要参数”等等仅是方便的标签,并且与适当的物理量相关联。
在实施例中,通过移除被认为冗余的权重参数和/或权重参数组,可能导致计算资源利用率的相关降低。例如,冗余权重参数的移除可以导致要执行的乘法累加处理器操作量的相应减少。此外,至少部分地由于权重参数修剪操作,包括用于神经网络模型的各种输入、输出、连接和/或节点的权重参数的矩阵可以变得稀疏。在某些情况下,例如,神经网络权重参数集诸如可以以稀疏矩阵格式(例如,经压缩的稀疏行(CSR)格式)存储,如下文更全面地讨论。
图2是根据实施例的用于格式化神经网络权重参数集的示例过程的实施例200的图示。在诸如示例实施例200之类的实施例中,诸如矩阵210之类的相对密集的矩阵可以包括权重参数,例如可以与诸如神经网络模型的一个或多个节点、连接和/或层相关联的权重参数。如上所述,可以利用神经网络权重参数修剪操作来移除神经网络内的冗余权重参数。在诸如实施例200之类的实施例中,可以从神经网络权重修剪操作中得到相对稀疏的权重参数集,例如稀疏矩阵220。
在某些情况下,为了将相对稀疏的权重参数集(例如稀疏矩阵220)存储在至少一个计算设备的至少一个存储器中,例如,相对稀疏的权重参数集(例如稀疏矩阵220)可以以CSR格式被存储。例如,相对稀疏的m×n矩阵W(例如220)可以被存储为表示三个一维阵列(例如,实施例200的阵列A、JA和/或IA)的信号和/或状态。例如,阵列A可以包括神经网络权重参数,例如具有被确定为满足和/或超过指定的阈值参数的重要参数的神经网络权重参数。例如,阵列A可以包括来自神经网络权重参数集的权重参数,例如相对稀疏的矩阵W。阵列IA可以记录针对矩阵W的个体行的第一元素的到阵列A中的索引(indice)。例如,阵列JA可以存储阵列A的个体权重参数的列索引。例如,值“5”的权重参数(例如,在示例矩阵220的第0行,第1列(从第0行到第5行和从第0列到第5列计数)处所示)可以通过将值“5”存储在阵列A中(在此示例中表示为阵列A的第0个元素)和/或通过将值“1”存储在阵列JA中(在此示例中表示为阵列JA的第0个元素)以CSR格式被存储,指示该示例中的值“5”的权重参数表示来自矩阵220的第一列的值。此外,例如,值“0”可以被存储在阵列IA中,指示对于示例矩阵220的第0行,第一权重参数可以位于阵列A的第0位置处。
为了执行诸如涉及矩阵(例如,示例矩阵220)和输入向量(例如输入向量240)的乘法运算,例如处理器(例如,处理器110)可以访问阵列A、JA、和/或IA来确定适当的加权参数以应用于输入向量(例如输入向量240),例如,诸如至少部分地由图2中所示的箭头所示。
在某些情况下,将CSR格式用于神经网络权重参数集可能会带来一些挑战。例如,以CSR格式存储神经网络权重参数集可能涉及的开销量可能相对低效,例如可能是由于诸如阵列JA之类的阵列与诸如阵列A之类的阵列具有相同的大小,存储了实际的加权参数。即,使用CSR格式存储的内容的一半以上可以被专用于指示用于神经网络权重参数集的格式,而存储的内容的不到一半可以包括神经网络权重参数本身。因此,相对于存储器和/或存储资源,将CSR格式用于神经网络权重参数集可能相对低效。
此外,在某些情况下,将CSR格式用于神经网络权重参数集可能会导致计算资源利用效率相对低效。例如,为了执行乘法运算(例如,诸如示例矩阵220之类的矩阵与诸如输入向量240之类的输入向量、诸如处理器110之类的处理器之间的稀疏矩阵向量乘法)可以加载来自诸如阵列A之类的阵列的权重参数,可以加载来自诸如阵列JA之类的阵列的索引值,并且可以利用诸如来自阵列JA的索引值来加载来自诸如输入向量240之类的输入向量的适当值。例如,如至少部分地由图2中所描绘的箭头所示出的,诸如处理器110之类的处理器可以加载来自阵列A的值“5”的权重参数,可以加载来自阵列JA的值“1”的索引,并且可以利用从阵列JA获取的“1”的索引值来加载值“9”作为输入向量240的第一元素。例如,输入值的这种索引可能涉及额外的计算和/或存储器访问,从而潜在地负面影响系统性能和/或计算资源利用效率。此外,至少部分地由于诸如稀疏矩阵220之类的相对稀疏的权重参数集的不规则结构,计算性能的改进和/或计算资源利用效率的改进(否则这些改进可用于诸如矩阵210之类的相对密集的权重参数集)可能不能用于诸如矩阵220之类的相对稀疏的权重参数集。
为了至少部分地解决通过利用用于神经网络权重参数集的CSR格式所提出的挑战,根据所要求保护的主题的实施例可以包括将神经网络加权(weighting)参数格式化为组,例如,如下面更全面地解释的。此外,在实施例中,特定组的神经网络权重参数可以共享相同的列索引,从而减少存储相对稀疏矩阵的开销,例如神经网络权重参数集,和/或从而减少与稀疏矩阵运算(例如与神经网络权重参数集相关的运算)相关的计算和/或存储器访问的量。
图3是描绘用于格式化神经网络权重参数集的示例过程的实施例300的示意性框图。例如,在实施例中,可以从至少一个计算设备的至少一个存储器中检索表示神经网络权重参数(例如与DNN模型相关的参数)集(例如神经网络权重参数集310)的信号和/或状态。根据所要求保护的主题的实施例可以包括所有框310-330,少于框310-330,或多于框310-330。而且,框310-330的顺序仅是示例顺序,并且所要求保护的主题在这些方面不受范围的限制。
在实施例中,表示神经网络权重参数集(例如神经网络权重参数集310)的信号和/或状态可以被处理以根据指定的组大小将神经网络权重参数集分组为多个权重组,例如,如在框322处所示。在一个实施例中,神经网络加权参数组可以具有相同的大小,尽管所要求保护的主题的范围在这方面不受范围的限制。此外,在实施例中,可以指定组大小以匹配单指令多数据(SIMD)可执行指令宽度的组大小。例如,诸如处理器110之类的处理器(例如,来自ARM、LTD的Cortex-M4型处理器)可以实现两个的SIMD宽度(即,每个可执行指令两个内容元素)。例如,对于两个的SIMD宽度,个体神经网络权重参数组可以包括两个神经网络权重参数,但是再次,所要求保护的主题的范围不限于这些特定示例。此外,如上所述和如下所述,特定组的神经网络权重参数可以共享相同的列索引。
此外,在实施例中,如框324所示,可以修剪神经网络权重参数组。在实施例中,修剪神经网络权重参数组可以包括计算相应神经网络权重参数组的重要参数。例如,计算相应神经网络权重参数组的重要参数可以包括例如计算相应组的均方根(RMS)参数。此外,修剪神经网络权重参数组可以包括移除被确定为具有低于指定的阈值的重要参数的一个或多个组,如下文进一步解释的。
此外,例如,如框326所示,可以重新训练分组的和/或修剪的网络权重参数集,例如以在神经网络模型内维持期望和/或指定的精度水平。在实施例中,可以以迭代方式执行对神经网络权重参数集进行分组和/或修剪以及对分组的和/或修剪的神经网络权重参数集进行重新训练的过程,例如直到确定计算出的精度参数低于诸如指定的阈值。此外,在实施例中,可以根据经分组压缩的稀疏行格式来格式化修剪的和/或重新训练的神经网络权重参数集,如下面更充分地说明的。
图4是用于格式化神经网络权重参数集的示例过程的实施例400的图示。在实施例中,例如示例实施例400,相对密集的参数集,例如矩阵410,可以包括权重参数,例如可以与诸如神经网络模型的一个或多个节点、连接和/或层相关联的权重参数。对于示例实施例400,矩阵410可以包括如图2的矩阵210中所描绘的相同的神经网络权重参数。在实施例中,可以处理表示神经网络权重参数集(例如矩阵410)的信号和/或状态,以根据指定的组大小将神经网络权重参数集分组为多个组。例如,矩阵410的神经网络权重参数诸如可以被分组为两个的组,如图4中的灰度阴影所示。尽管本文描述的示例实施例讨论和/或描绘了大小为两个的权重组,但是所要求保护的主题在这方面不受范围的限制。如上所述,可以指定组大小以匹配SIMD宽度的组大小,但是再次,所要求保护的主题在这方面不受范围的限制。
此外,在实施例中,例如,可以修剪神经网络权重参数组,例如在矩阵420处所描绘的。在实施例中,修剪神经网络权重参数组可以包括诸如经由RMS计算,针对相应神经网络权重参数组来计算重要参数,和/或可以包括移除被确定为具有低于指定的阈值的重要参数的组。在实施例中,可以将重要参数阈值指定为值“1”,尽管所要求保护的主题在这方面不受范围的限制。例如,对于图4中所描绘的示例实施例400,矩阵420可以表示从本文所描述的示例分组和/或修剪过程得到的神经网络权重参数集。在实施例中,矩阵420可以例如表示可以被重新训练的分组的和/或修剪的神经网络权重参数集。
在实施例中,可以利用经分组压缩的稀疏行(GCSR)格式来在至少一个计算设备(例如移动设备100)的至少一个存储器(例如存储器130)中存储表示分组的、修剪的和/或重新训练的神经网络权重参数集的信号和/或状态。在实施例中,可以利用多个阵列来存储表示神经网络权重参数集的信号和/或状态。例如,阵列(例如图4中描绘的实施例400的阵列A’)可以存储神经网络权重参数组,例如具有被确定为满足和/或超过指定的阈值的重要参数的神经网络权重参数组。在实施例中,例如,诸如阵列A’之类的阵列可以存储由矩阵W(例如矩阵420)指示和/或指定的权重组参数。在实施例中,例如,诸如阵列A’之类的阵列可以以特定顺序存储权重组参数,该特定顺序例如由诸如矩阵420之类的矩阵指示和/或指定。此外,在实施例中,诸如IA’之类的阵列可以存储表示针对矩阵W(例如矩阵420)的个体行的第一元素的到诸如A’之类的阵列中索引的参数。此外,在实施例中,诸如JA’之类的阵列可以存储表示个体权重参数组的列索引的参数。如前所述,在实施例中,特定权重组的神经网络权重参数可以共享列索引。例如,通过在阵列A’中存储值“0,5”和/或通过在阵列JA’(对于该示例被描述为阵列JA’的第0个元素)中存储值“0”,可以以GCSR格式来存储值(0,5)的神经网络权重参数组,例如在示例矩阵420的第0行、第0列处所描述的。此外,例如,值“0”可以被存储在阵列IA’中,指示对于示例矩阵420的第0行,第一组权重参数可以位于阵列A’的第0位置处。
在实施例中,可以将相应神经网络权重参数组的第一参数的列索引存储在诸如阵列JA’中,而不是存储针对相应权重参数的列索引。通过根据组而不是根据相应权重参数来进行索引,可以更有效地利用存储器和/或存储装置和/或其他计算资源。类似地,可以减少可用于执行神经网络操作的计算资源。
例如,为了执行乘法运算(例如,诸如示例矩阵420之类的矩阵与诸如输入向量440之类的输入向量、诸如处理器110之类的处理器之间的稀疏矩阵向量乘法)可以从诸如阵列A’之类的阵列加载来自神经网络权重参数组的参数,并且可以诸如根据组大小,例如从至少部分地基于从诸如阵列JA’之类的阵列加载的索引值的输入向量来加载多个输入值。例如,如图4中至少部分地由箭头所示,诸如处理器110之类的处理器可以从阵列A’加载值“0,5”的参数,并且可以利用从阵列JA’获取的索引值“0”来从输入向量440加载值“0,9”。因此,通过对神经网络加权参数进行分组,诸如修剪过程的一部分,例如,可以执行更少的存储器访问和/或可以执行更少的计算,例如用于神经网络矩阵-矩阵和/或矩阵-向量操作。此外,例如,通过根据SIMD宽度对神经网络权重参数进行分组,可以执行更少的指令,从而再次提高了计算资源的利用效率。
图5是用于格式化表示神经网络参数的信号和/或状态的过程的实施例500的图示。根据所要求保护的主题的实施例可以包括所有的框510-520,少于框510-520,或多于框510-520。此外,框510-520的顺序仅是示例顺序,并且所要求保护的主题的范围在这些方面不受限制。
如在框510处所描绘的,在实施例中,可以从至少一个计算设备的至少一个存储器中检索表示神经网络权重参数集的信号和/或状态。此外,在实施例中,例如在框520处所描绘的,可以利用至少一个计算设备的至少一个处理器来处理表示神经网络权重参数集的信号和/或状态,以格式化神经网络权重参数集,包括根据指定的组大小将神经网络权重参数集分组为多个权重组。
在实施例中,根据指定的组大小对神经网络权重参数集进行分组可以包括根据单指令多数据(SIMD)宽度对神经网络权重参数集进行分组。例如,如以上结合图4所讨论的,可以指定两个的组大小以匹配两个的SIMD宽度,尽管所要求保护的主题在这方面不受范围的限制。
此外,在实施例中,对表示神经网络权重参数集的信号和/或状态进行处理,例如格式化该神经网络权重参数集,可以包括计算多个权重组的相应权重组的多个重要参数。在实施例中,例如,计算相应权重组的重要参数可以包括计算相应权重组的均方根(RMS)参数。
另外,在实施例中,对表示神经网络权重参数集的信号和/或状态进行处理,例如格式化该神经网络权重参数集,可以包括移除多个权重组中具有低于指定的阈值参数的重要参数的一个或多个权重组。此外,在实施例中,可以重新训练格式化的网络权重参数集,例如以在神经网络模型内维持期望的准确性水平。例如,在实施例中,对表示神经网络权重参数集的信号和/或状态进行处理可以包括迭代地格式化且重新训练神经网络权重参数集,直到确定计算出的精度参数低于指定的阈值。如上所述,例如,修剪操作可以包括例如根据SIMD宽度来对加权参数进行分组。
用于对表示神经网络参数的信号和/或状态进行分组的过程的实施例,诸如实施例500,可以包括对表示格式化且重新训练的神经网络权重参数集的信号和/或状态进行处理,以根据经分组压缩的稀疏行格式来重新格式化修剪的和/或重新训练的神经网络权重参数集。在实施例中,对表示格式化的和/或重新训练的神经网络权重参数集的信号和/或状态进行处理,以根据经分组压缩的稀疏行格式来重新格式化该格式化的和/或重新训练的神经网络权重参数集可以包括生成第一参数阵列,该第一参数阵列表示多个权重组中被确定为具有超过指定的阈值的重要参数的一个或多个权重组,生成第二参数阵列和第三参数阵列,该第二参数阵列表示第一参数阵列中的多个索引,第三参数阵列表示用于格式化且重新训练的神经网络权重参数集的多个权重组中的个体权重组的列索引。
此外,用于对表示神经网络参数的信号和/或状态进行格式化的过程的实施例,诸如实施例500,可以包括将表示经分组压缩的稀疏行格式的神经网络权重参数集的信号和/或状态存储在至少一个计算设备的至少一个存储器中。
在本专利申请的上下文中,术语“连接”、术语“组件”和/或类似术语旨在是物理的,但不一定总是有形的。因此,这些术语是否指代有形主题可以在特定的使用环境中变化。作为示例,可以例如通过能够在两个有形组件之间传导电流的有形电连接(例如包括金属或其他导体的导电路径),来形成有形连接和/或有形连接路径。同样地,有形连接路径可以至少部分地受到影响和/或控制,使得,如典型的,有形连接路径有时可以由于一个或多个外部导出的信号(例如,诸如用于电开关的外部电流和/或电压)的影响而被断开或闭合。电开关的非限制性说明包括晶体管、二极管等。然而,在特定的使用环境中,“连接”和/或“组件”,同样地,尽管是物理的,也可以是非有形的,诸如客户端和服务器之间通过网络的连接,其通常是指客户端和服务器发送、接收和/或交换通信的能力,如稍后更详细地讨论的。此外,在实施例中,术语“连接”可以在神经网络模型的上下文中使用,并且在实施例中,可以指代在节点之间传递的参数,所述在节点之间传递的参数可以包括例如表示输出值的参数和/或参数集。此外,在一个实施例中,节点之间的连接可以包括权重参数。例如,在实施例中,一个或多个权重参数诸如可以以特定方式对表示一个或多个输出值的一个或多个参数进行操作,以产生诸如在第一层的节点和第二层的节点之间的连接。
因此,在使用的特定上下文中,例如正在讨论有形组件的特定上下文中,术语“耦合”和“连接”被以某种方式使用,使得这些术语不是同义的。类似的术语也可以以表现出类似意图的方式使用。因此,“连接”用于指示例如两个或更多个有形组件等等有形地直接物理接触。因此,如先前所讨论的,使用先前示例,两个电连接的有形组件经由有形的电连接而物理连接。然而,“耦合”用于意味着潜在的两个或更多个有形组件有形地直接物理接触。但是,例如,还用于意味着两个或更多个有形组件等等不一定有形地直接物理接触,但是能够例如通过“光电耦合”来相互协作、联络和/或交互。同样地,术语“耦合”也应理解为意味着间接连接。还应注意,在本专利申请的上下文中,由于存储器(例如存储器组件和/或存储器状态)旨在为非暂时性的,所以术语物理(至少如果相对于存储器使用)必然暗示着此类存储器组件和/或存储器状态(继续该实例)是有形的。
此外,在本专利申请中,在使用的特定上下文中,例如在讨论有形组件(和/或类似地,有形材料)的情况下,在“在...上”和“在...上方”之间存在区别。作为示例,在该后一示例中,在衬底“上”的物质的沉积是指涉及直接物理和有形接触的沉积,而在沉积的物质和衬底之间没有中间物,例如中间物质;尽管如此,在衬底“上方”的沉积虽然被理解为可能包括在衬底“上”的沉积(因为“在...上”也可以准确地描述为“在...上方”),但是应理解为包括一种或多种中间物的情况,例如在沉积的物质与衬底之间存在一种或多种中间物(例如一种或多种中间物质),使得沉积的物质不必与衬底直接物理和有形接触。
在使用的适当特定上下文中,例如在讨论有形材料和/或有形组件时,在“在…下方(beneath)”和“在…之下(under)”之间做出相似的区分。在使用的此类特定上下文中,尽管“在…下方”旨在必然暗示着物理和有形的接触(类似于刚刚描述的“在...上”),“在...之下”可能包括其中存在直接的物理和有形的接触,但不一定暗示直接的物理和有形的接触的情况,例如存在一个或多个中间物(例如一种或多种中间物质)的情况。因此,“在...上”应理解为意味着“紧邻上方”,并且“在...下方”应理解为意味着“紧邻之下”。
同样应当理解,诸如“在…上方”和“在…之下”之类的术语以与前述的术语“上方”、“下方”、“顶部”、“底部”等类似的方式被理解。这些术语可用于促进讨论,但不旨在必然限制所要求保护的主题的范围。例如,作为示例,术语“在...上方”,并不意味着暗示权利要求范围仅限于例如其中实施例正面朝上(right side up)的情形,例如与颠倒的实施例相比。作为一个示例,示例包括倒装芯片,其中,例如,在各个时间(例如,在制造期间)的取向可能不一定与最终产品的取向相对应。因此,作为示例,如果对象在特定取向(例如颠倒)上在可适用的权利要求范围内,作为一个示例,同样地,旨在后者也应被解释为在另一取向(例如,正面朝上)上被包括在适用的权利要求范围内,再次,作为示例,反之亦然,即使适用的字面权利要求语言有可能被以其他方式解释。当然,同样,与专利申请的说明书中的情况一样,描述和/或使用的特定上下文提供了关于要得出的合理推断的有用指导。
除非另有说明,否则在本专利申请的上下文中,术语“或”如果被用于关联列表,例如A、B或C,旨在表示A、B和C,这里以包含的意义使用,以及A、B或C,这里以排他的意义使用。在这种理解下,“和”以包含的意义使用,并且旨在表示A、B和C;而“和/或”可以以足够谨慎的方式使用,以清楚地表明所有前述含义是预期的,尽管这种使用不是必需的。此外,术语“一个或多个”和/或类似术语用于以单数形式描述任何特征、结构、特性等等,“和/或”还用于描述特征、结构、特性等等的多个和/或一些其他组合。同样,术语“基于”和/或类似术语应理解为不一定旨在传达因素的详尽列表,而是允许存在不一定明确描述的附加因素。
此外,旨在以以下方式来理解与所要求保护的主题的实现方式有关并且经受有关程度的测试、测量和/或规格的情况。作为示例,在给定的情况下,假设要测量物理性质的值。如果可选地本领域的普通技术人员合理地可能想到一种用于有关程度的测试、测量和/或规格的合理的方法,至少相对于特性,继续该示例,至少出于实现的目的,除非另有明确说明,否则所要求保护的主题旨在涵盖那些可选的合理方法。作为示例,如果产生了一个区域上方的测量图并且所要求保护的主题的实现方式是指对该区域上方的斜率进行测量,但是存在各种合理且可选的技术来评估该区域上方的斜率,除非另有明确说明,否则所要求保护的主题旨在涵盖那些合理的可选技术。
在某种程度上所要求保护的主题涉及一种或多种特定测量,例如关于能够进行物理测量的物理表现,例如但不限于温度、压力、电压、电流、电磁辐射等,应相信所要求保护的主题不属于法定主题的抽象概念司法例外。相反,可以断言,物理测量不是精神步骤,并且同样也不是抽象概念。
然而,应注意,所采用的典型测量模型是一个或多个测量可分别包括至少两个分量(component)的总和。因此,例如,对于给定的测量,一个分量可以包括确定性分量,该确定性分量在理想的意义上可以包括物理值(例如,经由一个或多个测量而求得),通常以一个或多个信号、信号样本和/或状态的形式,并且一个分量可以包括随机分量,该随机分量可以具有可能难以量化的各种源。有时,例如,缺乏测量精度可能会影响给定的测量。因此,对于所要求保护的主题,除了确定性模型之外,还可以使用统计或随机模型作为关于可能涉及所要求保护的主题的一个或多个测量值的识别和/或预测的方法。
例如,可以收集相对大量的测量以更好地评估确定性分量。同样,如果测量变化(其通常可能发生),则可能是方差的某些部分可以解释为确定性分量,而变化的某些部分可以解释为随机分量。通常,如果可行的话,期望与测量相关的随机变化相对较小。也就是说,通常最好能够以确定性的方式考虑测量变化的合理部分,而不是随机性事件,以帮助识别和/或可预测性。
沿着这些思路,已经使用了多种技术,以便可以处理一个或多个测量以更好地评估根本的确定性分量,以及评估潜在的随机分量。当然,这些技术可能会因特定情况而有所不同。然而,通常,更复杂的问题可能涉及使用更复杂的技术。就这一点而言,如上所述,可以确定性地和/或随机性地对身体表现的一个或多个测量进行建模。采用模型允许潜在地识别和/或处理所收集的测量,和/或潜在地允许例如相对于随后要进行的测量而对根本的确定性分量进行评估和/或预测。给定的评估可能不是完美的评估;然而,通常,期望平均一个或多个评估可以更好地反映根本的确定性分量,例如,如果考虑了可能包含在一个或多个获得的测量中的随机分量。当然,从实践上来说,期望能够例如通过评估方法来生成影响要进行的测量的过程的物理上有意义的模型。
然而,如所指出的,在某些情况下,潜在的影响可能是复杂的。因此,试图了解要考虑的适当因素可能特别具有挑战性。因此,在这种情况下,相对于生成一个或多个评估,采用启发式(heuristic)并不罕见。例如,启发式是指使用与经验相关的方法,这些方法可以反映已实现的过程和/或已实现的结果,例如关于历史测量的使用。例如,启发式可用于其中更多的分析方法可能过于复杂和/或难以处理的情况。因此,例如,关于所要求保护的主题,在示例实施例中,创新特征可以包括启发式,所述启发式可以被采用以评估和/或预测一个或多个测量。
还应注意,如果术语“类型”和/或“类似”例如与特征、结构、特性等一起使用,使用“光学”或“电学”作为简单示例,则意味着至少部分地和/或与特征、结构、特性等相关,使得存在微小变化,甚至可能以其他方式不被认为与特征、结构、特性等完全一致的变化,如果微小变化足够小使得特征、结构、特性等仍将被认为基本上与也存在的这种变化一起存在,则一般不阻止特征、结构、特性等是“类型”和/或“类似”(例如是诸如“光学类型”或“光学类似”)。因此,继续该示例,术语光学类型和/或类似光学的性质必然旨在包括光学性质。同样,作为另一示例,术语电学类型和/或类似电学的性质必然旨在包括电学性质。应当注意,本专利申请的说明书仅提供了一个或多个说明性示例,并且所要求保护的主题旨在不限于一个或多个说明性示例;然而,再次,如关于专利申请的说明书的情况一样,描述和/或使用的特定上下文提供了关于要得出的合理推断的有用指导。
随着技术的进步,例如,采用分布式计算和/或通信方法已经变得更加典型,在分布式计算和/或通信方法中,过程的部分(例如信号样本的信号处理)例如可以经由计算和/或通信网络在各种设备(包括一个或多个客户端设备和/或一个或多个服务器设备)之间分配。网络可以包括两个或更多个设备(例如网络设备和/或计算设备),和/或可以耦合设备(例如网络设备和/或计算设备),使得信号通信(例如以信号分组和/或信号帧(例如包括一个或多个信号样本)的形式)例如可以在诸如服务器设备和/或客户端设备以及其他类型的设备之间(包括例如在经由有线和/或无线网络耦合的有线和/或有线设备之间)被交换。分布式计算系统的示例包括所谓的Hadoop分布式计算系统,该系统采用了映射减少(map-reduce)型架构。在本专利申请的上下文中,术语映射减少架构和/或类似术语旨在指代分布式计算系统实现方式和/或实施例,用于使用映射来处理和/或用于生成更大的信号样本集,和/或减少用于通过设备网络执行的并行、分布式过程的操作。映射操作和/或类似术语是指对信号(例如,信号样本)的处理,以生成一个或多个密钥值对,并将一个或多个对分配给系统(例如,网络)的一个或多个设备。减少操作和/或类似术语是指经由总结操作(例如,诸如对队列中的学生的数量进行计数,产生名字频率等)对信号(例如,信号样本)的处理。在实施例中,系统可以采用这样的架构,例如通过封送(marshaling)分布式服务器设备,并行执行各种任务,和/或管理系统(例如,网络)的各个部分之间的通信,例如信号传输。如上所述,一个非限制性但众所周知的示例包括Hadoop分布式计算系统。它指的是映射减少型架构(可从Apache软件基金会、1901Munsey Drive、Forrest Hill、MD、21050-2747获得)的开源实现方式和/或实施例,但可能包括其他方面,例如Hadoop分布式文件系统(HDFS)(可从Apache软件基金会、1901Munsey Drive、Forrest Hill、MD、21050-2747获得)。因此,通常,“Hadoop”和/或类似术语(例如,“Hadoop型”等)是指调度程序的实现方式和/或实施例,用于在分布式系统上使用映射减少架构来执行较大的处理作业。此外,在本专利申请的上下文中,术语“Hadoop”的使用旨在包括当前已知的和/或将在以后开发的版本。
在本专利申请的上下文中,术语网络设备是指能够经由网络和/或作为网络的一部分进行通信的任何设备,并且可以包括计算设备。尽管网络设备可能能够例如经由有线和/或无线网络来传送信号(例如,信号分组和/或帧),但是它们也可能能够执行与计算设备相关联的操作,例如算术和/或逻辑操作,处理和/或存储操作(例如,存储信号样本),例如在存储器中作为有形的、物理的存储器状态,和/或例如可以在各种实施例中作为服务器设备和/客户端设备进行操作。作为示例,能够作为服务器设备、客户端设备和/或其他设备进行操作的网络设备可以包括专用机架式服务器、台式计算机、膝上型计算机、机顶盒、平板电脑、上网本、智能手机、可穿戴设备、组合了前述设备的两个或更多个特征的集成设备等等,或其任何组合。如上所述,信号分组和/或帧例如可以在诸如服务器设备和/或客户端设备以及其他类型的设备之间(包括例如在经由有线和/或无线网络或其任何组合而耦合的有线和/或有线设备之间)被交换。注意,术语,服务器、服务器设备、服务器计算设备、服务器计算平台和/或类似术语可互换使用。类似地,术语客户端、客户端设备、客户端计算设备、客户端计算平台和/或类似术语也可以互换使用。尽管在某些实例中,为了便于描述,这些术语可以以单数形式使用,例如通过对“客户端设备”或“服务器设备”的引用,但该描述旨在涵盖一个或多个客户端设备和/或一个或多个服务器设备(视情况而定)。同样,对“数据库”的引用被理解为意味着一个或多个数据库和/或其部分(视情况而定)。
应该理解,为了便于描述,可以根据计算设备来体现和/或描述网络设备(也称为联网设备),反之亦然。然而,还应该理解,该描述绝不应该被解释为使得所要求保护的主题限于一个实施例,诸如仅计算设备和/或仅网络设备,而是可选地,可以被体现为包括诸如一个或多个说明性示例的各种设备或其组合。
例如,网络还可以包括现在已知的和/或将在以后开发的布置、派生和/或改进,包括例如过去、现在和/或将来的大容量存储,例如网络附属存储(NAS)、存储区域网络(SAN)和/或其他形式的设备可读介质。网络可以包括互联网的一部分、一个或多个局域网(LAN)、一个或多个广域网(WAN)、有线类型的连接、无线类型的连接、其他连接或其任何组合。因此,网络在范围和/或程度上可以是全球性的。同样,诸如可以采用不同架构和/或可以与诸如网络计算和/或通信协议(例如,网络协议)之类的不同协议基本适用和/或基本兼容的子网可以在更大的网络内互操作。
在本专利申请的上下文中,术语子网和/或类似术语,在例如相对于网络被使用时,是指网络和/或其一部分。子网也可以包括链路,例如物理链路、连接和/或耦合节点,以便能够在特定节点的设备之间传递信号分组和/或帧,包括经由有线链路、无线链路或其组合。可以使诸如网络设备和/或计算设备之类的各种类型的设备可用,以使得设备互操作性被使能和/或在至少某些实例中可以是透明的。在本专利申请的上下文中,术语“透明的”,在相对于网络的设备被使用时,是指经由网络进行通信的设备,其中该设备能够经由诸如一个或多个中间节点之类的一个或多个中间设备进行通信,但通信设备不必指定一个或多个中间节点和/或一个或多个中间节点的一个或多个中间设备,和/或因此可以在网络内包括如下设备:经由一个或多个中间节点和/或一个或多个中间节点的一个或多个中间设备进行通信,但是可以参与信号通信,好像不一定要涉及这些中间节点和/或中间设备。例如,路由器可以在原本分开的和/或独立的LAN之间提供链路和/或连接。
例如,在本专利申请的上下文中,“专用网络”是指能够诸如经由信号分组和/或信号帧通信与其他设备(例如,特定有限的集中的网络设备和/或计算设备)进行通信的特定有限的设备集(例如网络设备和/或计算设备),而无需重新路由和/或重新定向信号通信。专用网络可以包括独立网络;然而,例如,专用网络也可以包括较大网络的子集,例如但不限于互联网的全部或一部分。因此,例如,“在云中”的专用网络可以指代包括互联网的子集的专用网络。例如,尽管信号分组和/或帧通信(例如,信号通信)可以使用中间节点的中间设备来交换信号分组和/或信号帧,但是那些中间设备不一定是针对一个或多个信号分组和/或信号帧的源或指定目的地,因此不一定被包含在专用网络中。在本专利申请的上下文中,应理解,专用网络可以将流出信号通信定向到不在专用网络中的设备,但是专用网络外部的设备可能不一定能够将流入信号通信定向到包括在专用网络中的设备。
互联网是指符合互联网协议(IP)的可互操作网络的分散式全球网络。注意,存在多种版本的互联网协议。术语互联网协议、IP和/或类似术语旨在表示现在已知和/或以后开发的任何版本。互联网包括局域网(LAN)、广域网(WAN)、无线网络和/或长途公共网络,其例如可以允许信号分组和/或帧在LAN之间通信。术语万维网(WWW或Web)和/或类似术语也可以被使用,尽管它表示符合超文本传输协议(HTTP)的互联网的一部分。例如,网络设备可以通过交换适当的基本适用和/或基本兼容的信号分组和/或帧来参与HTTP会话。注意,存在多种版本的超文本传输协议。术语超文本传输协议、HTTP和/或类似术语旨在表示现在已知和/或以后开发的任何版本。同样要注意的是,在本文档中的不同地方,在意义没有明确偏离的情况下,并且因此,也可以通过这种方式理解,在使用这样的替换而语句将保持正确时,可以用术语万维网(“Web”)替换术语互联网。
尽管所要求保护的主题的范围不特别限于互联网和/或Web;尽管如此,至少出于说明的目的,互联网和/或Web可以但不限于提供实施例的有用示例。如所指出的,互联网和/或Web可以包括可互操作网络的全球系统,包括那些网络内的可互操作设备。互联网和/或Web已经发展成为一种全世界有数十亿甚至更多的人可以访问的公共的、自我维持的设施。而且,在实施例中,并且如上所述,术语“WWW”和/或“Web”是指符合超文本传输协议的互联网的一部分。因此,在本专利申请的上下文中,互联网和/或Web可以包括如下服务:例如通过使用诸如超媒体来组织所存储的数字内容(例如文本、图像、视频等)的服务。注意,可以采用诸如互联网和/或Web之类的网络来存储电子文件和/或电子文档。
术语电子文件和/或术语电子文档在该文档中用于表示以某种方式关联的所存储的存储器状态集和/或物理信号集,从而至少在逻辑上形成文件(例如,电子)和/或电子文档。即,这并不意味着隐含地参考例如关于关联的存储器状态集和/或关联的物理信号集使用的特定语法、格式和/或方法。例如,如果打算使用特定类型的文件存储格式和/或语法,则应明确地引用。还应注意的是,例如,存储器状态的关联可以是逻辑上的意义,并且不必是有形的物理上的意义。因此,在实施例中,尽管文件和/或电子文档的信号和/或状态分量例如将在逻辑上相关联,但是其存储例如可以驻留在有形的物理存储器中的一个或多个不同位置中。
例如,超文本标记语言(“HTML”)诸如可以用于指定数字内容和/或指定其格式,例如以电子文件和/或电子文档的形式,例如网页、网站等。在实施例中,可扩展标记语言(“XML”)也可以用于指定数字内容和/或指定其格式,例如以电子文件和/或电子文档的形式,例如网页、网站等。当然,HTML和/或XML仅是“标记”语言的示例,该示例被作为非限制性示例提供。此外,HTML和/或XML旨在表示这些语言的现在已知的和/或以后开发的任何版本。同样,所要求保护的主题当然也不旨在限于作为示例提供的示例。
在本专利申请的上下文中,术语“网站”和/或类似术语是指电子地关联以形成其特定集合的网页。此外,在一个示例实施例中,在本专利申请的上下文中,“网页”和/或类似术语是指经由网络可访问的电子文件和/或电子文档,包括通过经由Web指定可访问的统一资源定位符(URL)。如上所述,在一个或多个实施例中,例如,网页可包括使用一种或多种语言(例如包括HTML和/或XML的标记语言)编码(例如,经由计算机指令)的数字内容,尽管所要求保护的主题在这方面不受范围限制。此外,在一个或多个实施例中,例如,应用开发人员可以以JavaScript(或其他编程语言)的形式编写代码(例如计算机指令),例如可由计算设备执行该代码以提供数字内容从而填充适当格式(例如用于特定应用)的电子文档和/或电子文件。术语“JavaScript”和/或旨在表示一种或多种特定编程语言的类似术语的使用旨在表示已识别、现在已知和/或将在以后开发的一种或多种编程语言的任何版本。因此,JavaScript仅仅是示例编程语言。如上所述,所要求保护的主题并不旨在限于示例和/或说明。
在本专利申请的上下文中,术语“条目”、“电子条目”、“文档”、“电子文档”、“内容”、“数字内容”、“项目(item)”和/或类似术语旨在表示物理格式(例如数字信号和/或数字状态格式)的信号和/或状态,例如,如果由诸如数字设备(包括例如计算设备)之类的设备显示、播放、触觉生成等和/或以其他方式执行,则用户可以感知到该信号和/或状态,但是以其他方式可能不一定是人类容易感知的(例如,如果是数字格式的)。同样,在本专利申请的上下文中,以某种形式向用户提供数字内容,以便相对于用户,使得用户能够容易地感知根本的内容本身(例如,以人类可消费的形式呈现的内容,例如听见音频、感知触觉和/或看到图像等)是指“消费”数字内容、数字内容的“消费”、“可消费的”数字内容和/或类似术语。对于一个或多个实施例,例如,电子文档和/或电子文件可以包括由计算和/或联网设备执行或将要执行的标记语言形式的代码(例如计算机指令)的网页。在另一实施例中,电子文档和/或电子文件可以包括网页的部分和/或区域。然而,所要求保护的主题并不旨在在这些方面受到限制。
同样,对于一个或多个实施例,电子文档和/或电子文件可以包括多个组件。如前所述,在本专利申请的上下文中,组件是物理的,但不一定是有形的。作为示例,在一个或多个实施例中,参考电子文档和/或电子文件的组件可以包括诸如以物理信号和/或物理状态(例如,能够被物理地显示)的形式的文本。典型地,例如,存储器状态包括有形组件,而物理信号不一定是有形的,尽管信号可能变得(例如,被做成)有形的,例如如果出现在诸如有形的显示器上,这是不常见的。而且,对于一个或多个实施例,例如,参考电子文档和/或电子文件的组件可以包括图形对象,例如图像(例如数字图像)和/或子对象(包括其属性),其同样包括物理信号和/或物理状态(例如,能够被有形地显示)。在实施例中,数字内容可以包括例如文本、图像、音频、视频和/或其他类型的电子文档和/或电子文件,例如包括其部分。
此外,在本专利申请的上下文中,术语参数(例如,一个或多个参数)是指信号样本集的材料描述,例如一个或多个电子文档和/或电子文件,并且以物理信号和/或物理状态(例如存储器状态)的形式而存在。例如,作为示例,一个或多个参数(例如,引用包含图像的电子文档和/或电子文件)可以包括例如图像被捕获的时间,图像捕获设备(例如,相机等)的纬度和经度。在另一示例中,例如,作为示例,与数字内容有关的一个或多个参数(例如包括技术文章(article)的数字内容)可以包括一个或多个作者。所要求保护的主题旨在包含任何格式的有意义的、描述性参数,只要一个或多个参数包括物理信号和/或状态,作为参数示例,其可包括集名称(例如,电子文件和/或电子文档标识符名称)、创建技术、创建目的、创建时间和日期、逻辑路径(如果被存储的话)、编码格式(例如,计算机指令的类型,诸如标记语言)和/或用于一个或多个用途的协议兼容(例如,意味着基本适用和/或基本兼容)的标准和/或规范等。
信号分组通信和/或信号帧通信,也称为信号分组传输和/或信号帧传输(或仅称为“信号分组”或“信号帧”),可以在网络的节点之间进行通信,其中例如,节点可以包括一个或多个网络设备和/或一个或多个计算设备。作为说明性示例,但不限于,节点可以包括一个或多个采用本地网络地址的站点,例如在本地网络地址空间中。同样,诸如网络设备和/或计算设备之类的设备可以与该节点相关联。还应注意,在本专利申请的上下文中,术语“传输”旨在作为可能在多种情况中的任何一种情况下发生的信号通信类型的另一术语。因此,不旨在暗示通信的特定方向性和/或用于“传输”通信的通信路径的特定起始端。例如,在本专利申请的上下文中,仅仅使用术语“中”和“其本身”并不意味着具有关于正在进行通信的一个或多个信号的特定含义,例如,诸如信号是否正在“向”特定设备通信,信号是否正在“从”特定设备通信,和/或关于通信路径的哪一端可以发起通信,例如,诸如以信号传输的“推送型”或以信号传输的“拉取型”方式。在本专利申请的上下文中,通过通信路径的哪一端发起信号传输来区分推送型和/或拉取型信号传输。
因此,作为示例,信号分组和/或帧可以经由通信信道和/或通信路径(例如包括互联网和/或Web的一部分)从站点经由耦合到互联网的访问节点来通信,反之亦然。同样,例如,信号分组和/或帧可以经由网络节点转发到耦合到本地网络的目标站点。例如,经由互联网和/或Web通信的信号分组和/或帧可以经由诸如被“推送”或“拉取”之类的路径进行路由,例如,该路径包括一个或多个网关、服务器等,例如,其可以诸如基本上根据目标和/或目的地地址以及网络节点到目标和/或目的地地址的网络路径的可用性来路由信号分组和/或帧。尽管互联网和/或Web包含可互操作网络的网络,但并非所有这些可互操作网络都必须是公众可用的和/或可访问的。
在特定专利申请的上下文中,诸如用于在网络的设备之间通信的网络协议可以至少部分地基本上根据分层(layered)描述(例如所谓的开放式系统互连(OSI)七层类型的方法和/或描述)来表征。网络计算和/或通信协议(也称为网络协议)是指诸如在网络中的设备之间和/或之中发生的诸如用于通信传输的信令约定集。在本专利申请的上下文中,如果适合于特定用途,则术语“在...之间”和/或类似术语应理解为包括“在...之中”,反之亦然。同样,在本专利申请的上下文中,术语“与…兼容”、“符合…”和/或类似术语应理解为分别包括实质性兼容和/或实质性符合。
网络协议(例如基本上根据上述OSI描述而表征的协议)具有多个层。这些层称为网络堆栈。诸如网络通信之类的各种类型的通信(例如,传输)可以跨各个层发生。网络堆栈中的最低级别层(例如所谓的物理层)可以表征如何经由物理介质(例如双绞铜线、同轴电缆、光纤电缆、无线空中接口、其组合等等)将符号(例如,位和/或字节)作为一个或多个信号(和/或信号样本)进行通信。前进到网络协议堆栈中的较高级别层,附加的操作和/或特征可以经由参与与这些较高级别层处的特定网络协议基本适用和/或基本兼容的通信来获得。例如,网络协议的较高级别层可能会诸如影响设备权限、用户权限等。
在实施例中,网络和/或子网络可以经由信号分组和/或信号帧(例如经由参与的数字设备)进行通信,并且可以与但不限于以下网络协议堆栈中的任何堆栈的现在已知和/或将要开发的版本基本适用和/或基本兼容:ARCNET、可路由协议组(AppleTalk)、ATM、蓝牙、DECnet、以太网、FDDI、帧中继、HIPPI、IEEE 1394、IEEE 802.11、IEEE-488、互联网协议套件、IPX、Myrinet、OSI协议套件、QsNet、RS-232、SPX、系统网络架构、令牌环、USB和/或X.25。网络和/或子网络可以采用例如以下各项的现在已知和/或以后要开发的版本:TCP/IP、UDP、DECnet、NetBEUI、IPX、可路由协议组等等。互联网协议(IP)的版本可以包括IPv4、IPv6和/或其他稍后要开发的版本。
关于与包括通信和/或计算网络的网络有关的方面,无线网络可以将包括客户端设备的设备与网络耦合。无线网络可以采用独立的自组织网络、网状网络、无线LAN(WLAN)网络、蜂窝网络等等。无线网络还可以包括由无线无线电链路等等耦合的终端、网关、路由器等等的系统,其可以自由地、随机地移动和/或任意地组织它们自己,使得网络拓扑有时甚至可以快速地改变。无线网络还可以采用多种网络访问技术,包括长期演进(LTE),WLAN,无线路由器(WR)网状,第二代、第三代或第四代(2G、3G或4G)蜂窝技术等等的版本,无论当前是否已知和/或将在以后开发。网络访问技术可以实现对具有不同程度的移动性的设备(例如计算设备和/或网络设备)的广域覆盖。
网络可以经由无线网络访问技术和/或空中接口(例如,全球移动通信系统(GSM)、通用移动电信系统(UMTS)、通用分组无线电服务(GPRS)、增强型数据GSM环境(EDGE)、3GPP长期演进(LTE)、LTE高级宽带码分多址(WCDMA)、蓝牙、超宽带(UWB)、802.11b/g/n等等)来实现射频和/或其他无线类型的通信。无线网络实际上可以包括任何类型的现在已知和/或将要开发的无线通信机制和/或无线通信协议,通过这些机制和协议可以在设备之间、网络之间、网络内等等之间进行通信,当然包括前述内容。
在一个示例实施例中,如图6所示,系统实施例可以包括局域网(例如,设备604和介质640)和/或另一类型的网络(例如计算和/或通信网络)。因此,出于说明的目的,图6示出了可用于实现一种类型或两种类型的网络的系统的实施例600。网络608可以包括一个或多个网络连接、链路、过程、服务、应用和/或资源,以促进和/或支持通信,例如,诸如在诸如602之类的计算设备与诸如606之类的另一计算设备之间的通信信号的交换,其可以例如包括一个或多个客户端计算设备和/或一个或多个服务器计算设备。通过示例而非限制的方式,网络608可以包括无线和/或有线通信链路、电话和/或电信系统、Wi-Fi网络、Wi-MAX网络、互联网、局域网(LAN)、广域网(WAN)或其任何组合。
在实施例中,图6中的示例设备可以包括例如客户端计算设备和/或服务器计算设备的特征。还应注意的是,术语计算设备通常无论是用作客户端和/或服务器,还是其他方式,至少是指通过通信总线连接的处理器和存储器。
根据所要求保护的主题的实施例可以包括一种在无需进一步的人为干预的情况下在至少一个计算设备上执行计算机指令的方法,其中,至少一个计算设备包括至少一个处理器和至少一个存储器。实施例可以包括:从至少一个计算设备的至少一个存储器获取计算机指令,以在至少一个计算设备的至少一个处理器上执行,在至少一个计算设备的至少一个处理器上执行所获取的计算机指令,并且在至少一个计算设备的至少一个存储器中存储在至少一个计算设备的至少一个处理器上执行所获取的计算机指令的任何结果。在实施例中,要执行的计算机指令包括用于格式化神经网络权重参数的指令,其中执行所获取的指令还包括从至少一个计算设备的至少一个存储器中检索表示神经网络权重参数集的信号和/或状态,并且利用至少一个计算设备的至少一个处理器来处理表示神经网络权重参数集的信号和/或状态,以格式化神经网络权重参数集,包括根据指定的组大小将神经网络权重参数集分组为多个权重组。
在实施例中,一种装置可以包括至少一个计算设备,至少一个计算设备包括至少一个处理器和至少一个存储器,至少一个计算设备在无需进一步的人为干预的情况下在至少一个处理器上执行计算机指令。在实施例中,可以从至少一个存储器中获取要执行的计算机指令以在至少一个处理器上执行,并且至少一个计算设备可以在至少一个计算设备的至少一个存储器中存储将由在至少一个处理器上执行要执行的计算机指令而生成的任何结果。在实施例中,要执行的计算机指令可以包括用于格式化神经网络权重参数的指令,其中,作为执行结果要执行的指令可以从至少一个计算设备的至少一个存储器中检索表示神经网络权重参数集的信号和/或状态,并且可以处理表示神经网络权重参数集的信号和/或状态,以格式化神经网络权重参数集,以包括根据指定的组大小将神经网络权重参数集分组为多个权重组。
现在参考图6,在实施例中,例如,第一设备602和第三设备606能够渲染用于网络设备和/或计算设备的图形用户界面(GUI),使得用户操作者可以参与系统使用。在该图示中,设备604可能潜在地起到类似的功能。同样,在图6中,在实施例中,计算设备602(图中的“第一设备”)可以与计算设备604(图中的“第二设备”)接口,该计算设备例如还可以包括客户端计算设备和/或服务器计算设备的特征。处理器(例如,处理设备)620和存储器622(其可以包括主存储器624和副存储器626)可以例如通过通信总线615的方式进行通信。在本专利申请的上下文中,术语“计算设备”是指具有处理(例如,执行计算)和/或存储数字内容(例如信号和/或状态形式的电子文件、电子文档、测量、文本、图像、视频、音频等等)的能力的系统和/或设备,例如计算装置。因此,在本专利申请的上下文中,计算设备可以包括硬件、软件、固件或其任何组合(除了软件本身)。如图6所示,计算设备604仅是一个示例,并且所要求保护的主题的范围不限于该特定示例。
对于一个或多个实施例,计算设备可以包括例如各种数字电子设备中的任何一种数字电子设备,包括但不限于台式和/或笔记本计算机、高清电视、数字多功能光盘(DVD)和/或其他光盘播放器和/或记录器、游戏机、卫星电视接收器、蜂窝电话、平板设备、可穿戴设备、个人数字助理、移动音频和/或视频播放和/或记录设备、或其任何组合。此外,除非另有明确的说明,否则诸如参考流程图和/或以其他方式描述的过程也可以全部或部分地由计算设备和/或网络设备执行和/或影响。诸如计算设备和/或网络设备之类的设备可以在能力和/或特征方面变化。所要求保护的主题旨在涵盖各种潜在的变化。例如,设备可以包括数字小键盘和/或功能受限的其他显示器,例如用于显示诸如文本的单色液晶显示器(LCD)。然而,与此相反,作为另一示例,例如,支持Web的设备可以包括物理和/或虚拟键盘、大容量存储、一个或多个加速度计、一个或多个陀螺仪、全球定位系统(GPS)和/或其他位置识别类型能力、和/或具有更高功能等级的显示器,例如触敏彩色2D或3D显示器。
如先前所建议的,计算设备和/或网络设备与无线网络之间的通信可以是根据已知和/或要开发的网络协议(包括例如全球移动通信系统(GSM)、增强型数据速率的GSM演进(EDGE)、802.11b/g/n/h等等、和/或全球微波接入互操作性(WiMAX))的。计算设备和/或网络设备还可以具有订户身份模块(SIM)卡,例如,该卡可以包括可存储用户的订购内容和/或还能够存储联系人列表的可拆卸或嵌入式智能卡。例如,用户可以拥有计算设备和/或网络设备,或者可以是用户,例如主要用户。无线网络运营商、有线网络运营商和/或互联网服务提供商(ISP)可以为设备分配地址。例如,地址可以包括国内或国际电话号码,互联网协议(IP)地址和/或一个或多个其他标识符。在其他实施例中,计算和/或通信网络可以体现为有线网络、无线网络或其任何组合。
计算和/或网络设备可以包括和/或可以执行各种现在已知和/或将要开发的操作系统、其派生和/或版本,包括计算机操作系统(例如Windows、iOS、Linux)、移动操作系统(例如iOS、Android、Windows Mobile等等)。计算设备和/或网络设备可以包括和/或可以执行各种可能的应用,例如使得能够与其他设备进行通信的客户端软件应用。例如,一个或多个消息(例如,内容)可以诸如经由现在已知和/或以后要开发的适合于电子邮件、短消息服务(SMS)和/或多媒体消息服务(MMS)的通信的一个或多个协议来通信,包括经由诸如社交网络之类的网络,该网络至少部分地由计算和/或通信网络(包括但不限于Facebook、LinkedIn、Twitter、Flickr和/或Google+,以仅提供一些示例)的一部分形成。例如,计算和/或网络设备还可以包括可执行的计算机指令,以处理和/或传送数字内容,例如文本内容、数字多媒体内容等。计算和/或网络设备还可以包括可执行的计算机指令,以执行各种可能的任务,例如浏览、搜索、播放各种形式的数字内容,包括本地存储和/或流传输的视频、和/或游戏,例如但不限于幻想体育联盟。提供前述内容仅是为了说明所要求保护的主题旨在包括多种可能的特征和/或能力。
在图6中,例如,计算设备602可以以物理状态和/或信号(例如,存储为存储器状态)的形式来提供可执行计算机指令的一个或多个源。例如,计算设备602可以通过网络连接的方式(例如经由网络608)与计算设备604通信。如前所述,连接虽然是物理的,但不一定是有形的。尽管图6的计算设备604示出了各种有形的、物理的组件,但是所要求保护的主题不限于仅具有这些有形的组件的计算设备,因为其他实现方式和/或实施例可以包括可选布置,所述可选布置可以包括附加的有形的组件或更少的有形的组件,例如,该功能在达到相似结果的同时有所不同。相反,仅提供示例作为说明。不旨在将所要求保护的主题的范围限制于说明性示例。
存储器622可以包括任何非暂态存储机制。存储器622可以包括例如主存储器624和副存储器626,可以使用附加的存储器电路、机制或其组合。例如,存储器622可以包括例如随机存取存储器、只读存储器等,例如以一个或多个存储设备和/或系统的形式,例如包括光盘驱动器、磁带驱动器、固态存储器驱动器等的盘驱动器,这里仅举几个示例。
存储器622可用于存储可执行计算机指令的程序。例如,处理器620可以从存储器获取可执行指令,并且继续执行所获取的指令。例如,存储器622还可以包括用于访问可以携带数字内容和/或使数字内容可访问的设备可读介质640的存储器控制器,所述数字内容可以包括例如可由处理器620和/或一些其他设备(作为一个示例,例如能够执行计算机指令的控制器)执行的代码和/或指令。在处理器620的指导下,非暂态存储器(例如存储物理状态(例如,存储器状态)的存储器单元),包括例如可执行计算机指令的程序,可以由处理器620执行该程序并且能够生成将经由网络传送的信号,例如,如先前所描述的。所生成的信号也可以存储在存储器中,这也是先前建议的。
例如,存储器622可以存储诸如与一个或多个用户有关的电子文件和/或电子文档,并且还可以包括计算机可读介质,该计算机可读介质可以携带和/或制作包括代码和/或指令的可访问内容,例如,所述代码和/或指令可由处理器620和/或一些其他设备(作为一个示例,例如能够执行计算机指令的控制器)来执行。如前所述,术语电子文件和/或术语电子文档在整个文档中用来表示以某种方式关联的所存储的存储器状态集和/或物理信号集,以便由此形成电子文件和/或电子文档。也就是说,其并不意味着隐含地参考例如关于关联的存储器状态集和/或关联的物理信号集而使用的特定语法、格式和/或方法。还应注意,存储器状态的关联例如可以是逻辑意义的,并且不必是有形的物理意义的。因此,在实施例中,尽管电子文件和/或电子文档的信号和/或状态分量将在逻辑上相关联,但是其存储例如可以驻留在有形的物理存储器中的一个或多个不同位置中。
算法描述和/或符号表示是信号处理和/或相关领域的普通技术人员用来向本领域其他技术人员传达其工作实质的技术的示例。在本专利申请的上下文中,算法通常被认为是导致期望结果的操作和/或类似信号处理的自洽序列。在本专利申请的上下文中,操作和/或处理涉及物理量的物理操纵。通常,尽管不是必须的,但是这样的量可以采取能够被存储、传输、组合、比较、处理和/或以其他方式操纵的电和/或磁信号和/或状态的形式,例如,作为构成各种形式的数字内容(例如信号测量、文本、图像、视频、音频等等)的分量的电子信号和/或状态。
主要出于通用的目的,有时已经证明方便的是,将这样的物理信号和/或物理状态称为位、值、元素、参数、符号、字符、项、数字、数字的、测量、内容等。然而,应当理解,所有这些和/或类似术语均应与适当的物理量相关联,并且仅仅是方便的标签。除非另有明确的说明,否则从前面的讨论中可以明显看出,应当理解,在整个说明书的讨论中,使用诸如“处理”、“计算”、“计算的”、“确定”、“建立”、“获得”、“识别”、“选择”、“生成”等之类的术语可以表示诸如专用计算机和/或类似的专用计算和/或网络设备之类的特定装置的动作和/或过程。因此,在本说明书的上下文中,专用计算机和/或类似的专用计算和/或网络设备能够处理、操纵和/或转换信号和/或状态,通常以物理电子和/或磁量的形式,在专用计算机和/或类似的专用计算和/或网络设备的存储器、寄存器和/或其他存储设备、处理设备和/或显示设备内。如上所述,在该特定专利申请的上下文中,因此,术语“特定装置”包括诸如通用计算机之类的通用计算和/或网络设备,一旦其被编程以执行特定功能,例如根据程序软件指令。
在某些情况下,例如,存储器设备的操作,诸如从二进制1到二进制0或反之亦然的状态改变,可以包括诸如物理转换之类的转换。对于特定类型的存储器设备,这种物理转换可以包括将文章物理转换为不同的状态或事物。例如但不限于,对于某些类型的存储器设备,状态的变化可以涉及电荷的累积和/或存储或者所存储的电荷的释放。同样,在其他存储器设备中,状态的变化可以包括物理变化,例如磁取向的转换。同样,物理变化可以包括分子结构的转换,例如从结晶形式到非晶形式或反之亦然。在其他存储器设备中,物理状态的变化可能涉及量子力学现象,例如叠加、纠缠等等,例如其可能涉及量子位(qubit)。前述内容并非旨在详尽列出所有示例,其中在存储器设备中从二进制1到二进制0或反之亦然的状态变化均可包括转换,例如物理但非暂态的转换。相反,前述内容旨在作为说明性示例。
再次参考图6,处理器620可以包括一个或多个电路(例如数字电路),以执行计算步骤和/或过程的至少一部分。通过示例而非限制的方式,处理器620可以包括一个或多个处理器,例如控制器、微处理器、微控制器、专用集成电路、数字信号处理器、可编程逻辑设备、现场可编程门阵列等、或其任何组合。在各种实现方式和/或实施例中,处理器620通常可以基本上根据所获取的可执行计算机指令来执行信号处理,例如以便利用以例如被传送和/或存储在存储器中的方式而生成的信号和/或状态来操纵信号和/或状态、构造信号和/或状态等。
图6还将设备604示为包括可与例如输入/输出设备一起操作的组件632,以使得信号和/或状态可在设备(例如,设备604和输入设备和/或设备604和输出设备)之间适当地通信。用户可以利用输入设备,例如计算机鼠标、触控笔、轨迹球、键盘和/或能够接收用户动作和/或运动作为输入信号的任何其他类似设备。同样,用户可以使用输出设备,例如显示器、打印机等,和/或能够为用户提供信号和/或对用户产生刺激(例如视觉刺激、音频刺激和/或其他类似的刺激)的任何其他设备。
在前面的描述中,已经描述了所要求保护的主题的各个方面。出于说明的目的,举例说明了诸如数量、系统和/或配置之类的细节。在其他实例中,省略和/或简化了众所周知的特征,以免模糊所要求保护的主题。尽管已经在本文中示出和/或描述了某些特征,但是本领域技术人员现在将想到许多修改、替换、改变和/或等同物。因此,应理解,所附权利要求旨在涵盖落入所要求保护的主题内的所有修改和/或改变。
Claims (20)
1.一种方法,包括:
从至少一个计算设备的至少一个存储器中检索表示神经网络权重参数集的信号或状态;
利用所述至少一个计算设备的至少一个处理器来对表示所述神经网络权重参数集的信号或状态进行处理以格式化所述神经网络权重参数集,包括:
根据指定的组大小将所述神经网络权重参数集分组为多个权重组;
将所述多个权重组存储在第一阵列中;
将到所述第一阵列中的索引存储在第二阵列中,所述索引针对所述多个权重组中的各个权重组指定所述神经网络权重参数集的个体行的第一权重组;以及
在第三阵列中存储针对所述多个权重组中的各个权重组指定所述神经网络权重参数集的个体列的索引。
2.根据权利要求1所述的方法,其中,所述根据所述指定的组大小对所述神经网络权重参数集进行分组包括:根据单指令多数据(SIMD)宽度对所述神经网络权重参数集进行分组。
3.根据权利要求1或权利要求2所述的方法,其中,所述对表示所述神经网络权重参数集的信号或状态进行处理以格式化所述神经网络权重参数集还包括:计算所述多个权重组中的相应权重组的多个重要参数。
4.根据权利要求3所述的方法,其中,所述计算所述多个权重组中的相应权重组的多个重要参数包括:计算所述多个权重组中的所述相应权重组的均方根(RMS)参数。
5.根据权利要求3或权利要求4所述的方法,其中,所述对表示所述神经网络权重参数集的信号或状态进行处理以格式化所述神经网络权重参数集还包括:移除所述多个权重组中具有小于指定的阈值参数的重要参数的一个或多个权重组。
6.根据权利要求5所述的方法,还包括对表示所格式化的神经网络权重参数集的信号或状态进行处理以重新训练所格式化的神经网络权重参数集。
7.根据权利要求5或权利要求6所述的方法,还包括对表示所述神经网络权重参数集的信号或状态进行处理,以迭代地移除所述多个权重组中具有小于指定的阈值参数的重要参数的一个或多个权重组,并且重新训练所述神经网络权重参数集,直到确定计算出的精度参数小于指定的阈值。
8.根据权利要求6或权利要求7所述的方法,还包括对表示所格式化且重新训练的神经网络权重参数集的信号或状态进行处理,以根据分组压缩的稀疏行格式来重新格式化所格式化且重新训练的神经网络权重参数集。
9.根据权利要求8所述的方法,其中,对表示所格式化且重新训练的神经网络权重参数集的信号或状态进行处理以根据所述分组压缩的稀疏行格式来重新格式化所格式化且重新训练的神经网络权重参数集包括:
生成第一参数集,所述第一参数集表示所述多个权重组中被确定为具有大于指定的阈值的重要参数的一个或多个权重组;
将表示所述多个权重组中被确定为具有大于所述指定的阈值的重要参数的所述一个或多个权重组的所述第一参数集存储在所述第一阵列中;
生成第二参数集,所述第二参数集表示针对所格式化且重新训练的神经网络权重参数集的个体行的到所述第一参数集中的多个索引;
将表示针对所格式化且重新训练的神经网络权重参数集的个体行的到所述第一参数集中的多个索引的所述第二参数集存储在所述第二阵列中;
生成第三参数集,所述第三参数集表示针对所格式化且重新训练的神经网络权重参数集的所述多个权重组中的个体权重组的列索引;并且
将表示针对所格式化且重新训练的神经网络权重参数集的所述多个权重组中的个体权重组的列索引的所述第三参数集存储在所述第三阵列中。
10.根据权利要求8或权利要求9所述的方法,还包括将表示经分组压缩的稀疏行格式化的神经网络权重参数集的信号或状态存储在所述至少一个计算设备的所述至少一个存储器中。
11.一种装置,包括:
至少一个计算设备的至少一个处理器,用于从所述至少一个计算设备的至少一个存储器中检索表示神经网络权重参数集的信号或状态,所述至少一个处理器还用于对表示所述神经网络权重参数集的信号或状态进行处理以格式化所述神经网络权重参数集,其中,至少部分地为了格式化所述神经网络权重参数集,所述至少一个处理器用于:
根据指定的组大小将所述神经网络权重参数集分组为多个权重组;
将所述多个权重组存储在第一阵列中;
将到所述第一阵列中的索引存储在第二阵列中,所述索引用于针对所述多个权重组中的各个权重组指定所述神经网络权重参数集的个体行的第一权重组;以及
在第三阵列中存储用于为所述多个权重组中的各个权重组指定所述神经网络权重参数集的个体列的索引。
12.根据权利要求11所述的装置,其中,为了根据所指定的组大小对所述神经网络权重参数集进行分组,所述至少一个处理器用于根据单指令多数据(SIMD)宽度对所述神经网络权重参数集进行分组。
13.根据权利要求11或权利要求12所述的装置,其中,为了对表示所述神经网络权重参数集的信号或状态进行处理以格式化所述神经网络权重参数集,所述至少一个处理器还用于计算所述多个权重组中的相应权重组的多个重要参数。
14.根据权利要求13所述的装置,其中,至少部分地为了计算所述多个权重组中的相应权重组的多个重要参数,所述至少一个处理器用于计算所述多个权重组中的所述相应权重组的均方根(RMS)参数。
15.根据权利要求13或权利要求14所述的装置,其中,至少部分地为了对表示所述神经网络权重参数集的信号或状态进行处理以格式化所述神经网络权重参数集,所述至少一个处理器还用于移除所述多个权重组中具有小于指定的阈值参数的重要参数的一个或多个权重组。
16.根据权利要求15所述的装置,其中,所述至少一个处理器还用于对表示所格式化的神经网络权重参数集的信号或状态进行处理以重新训练所格式化的神经网络权重参数集。
17.根据权利要求16所述的装置,其中,所述至少一个处理器还用于对表示所述神经网络权重参数集的信号或状态进行处理,以迭代地格式化和重新训练所述神经网络权重参数集,直到确定计算出的精度参数小于指定的阈值为止。
18.根据权利要求16或权利要求17所述的装置,其中,所述至少一个处理器还用于对表示所格式化且重新训练的神经网络权重参数集的信号或状态进行处理,以至少部分地根据分组压缩的稀疏行格式来格式化所格式化且重新训练的神经网络权重参数集。
19.根据权利要求18所述的装置,其中,为了对表示所格式化且重新训练的神经网络权重参数集的信号或状态进行处理,以至少部分地根据所述分组压缩的稀疏行格式来重新格式化所格式化且重新训练的神经网络权重参数集,所述至少一个处理器用于:
生成第一参数集,所述第一参数集表示所述多个权重组中被确定为具有大于指定的阈值的重要参数的一个或多个权重组;
将表示所述多个权重组中被确定为具有大于所述指定的阈值的重要参数的所述一个或多个权重组的所述第一参数集存储在所述第一阵列中;
生成第二参数集,所述第二参数集表示针对所格式化且重新训练的神经网络权重参数集的个体行的到所述第一参数集中的多个索引;
将表示针对所格式化且重新训练的神经网络权重参数集的个体行的到所述第一参数集中的多个索引的所述第二参数集存储在所述第二阵列中;
生成第三参数集,所述第三参数集表示针对所格式化且重新训练的神经网络权重参数集的所述多个权重组中的个体权重组的列索引;并且
将表示针对所格式化且重新训练的神经网络权重参数集的所述多个权重组中的个体权重组的列索引的所述第三参数集存储在所述第三阵列中。
20.根据权利要求18或权利要求19所述的装置,其中,所述至少一个处理器还用于将表示经分组压缩的稀疏行格式化的神经网络权重参数集的信号或状态存储在所述至少一个计算设备的所述至少一个存储器中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/629,394 | 2017-06-21 | ||
US15/629,394 US11275996B2 (en) | 2017-06-21 | 2017-06-21 | Systems and devices for formatting neural network parameters |
PCT/GB2018/051708 WO2018234788A1 (en) | 2017-06-21 | 2018-06-20 | SYSTEMS AND DEVICES FOR FORMATTING NEURONAL NETWORK PARAMETERS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111033531A CN111033531A (zh) | 2020-04-17 |
CN111033531B true CN111033531B (zh) | 2023-10-27 |
Family
ID=62837950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880039789.8A Active CN111033531B (zh) | 2017-06-21 | 2018-06-20 | 用于格式化神经网络参数的系统和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11275996B2 (zh) |
CN (1) | CN111033531B (zh) |
WO (1) | WO2018234788A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9008208B2 (en) | 2012-05-13 | 2015-04-14 | Amir Keyvan Khandani | Wireless transmission with channel state perturbation |
US10177896B2 (en) | 2013-05-13 | 2019-01-08 | Amir Keyvan Khandani | Methods for training of full-duplex wireless systems |
US10333593B2 (en) | 2016-05-02 | 2019-06-25 | Amir Keyvan Khandani | Systems and methods of antenna design for full-duplex line of sight transmission |
US11037330B2 (en) * | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
US10700766B2 (en) | 2017-04-19 | 2020-06-30 | Amir Keyvan Khandani | Noise cancelling amplify-and-forward (in-band) relay with self-interference cancellation |
WO2019033380A1 (en) * | 2017-08-18 | 2019-02-21 | Intel Corporation | SLURRY OF NEURAL NETWORKS IN MACHINE LEARNING ENVIRONMENTS |
US11212089B2 (en) | 2017-10-04 | 2021-12-28 | Amir Keyvan Khandani | Methods for secure data storage |
US11012144B2 (en) | 2018-01-16 | 2021-05-18 | Amir Keyvan Khandani | System and methods for in-band relaying |
CA3033014A1 (en) * | 2018-02-07 | 2019-08-07 | Royal Bank Of Canada | Robust pruned neural networks via adversarial training |
WO2020091139A1 (ko) * | 2018-10-31 | 2020-05-07 | 주식회사 노타 | 시뮬레이션-가이드된 반복적 프루닝을 사용하는 효율적인 네트워크 압축 |
US11777715B2 (en) | 2019-05-15 | 2023-10-03 | Amir Keyvan Khandani | Method and apparatus for generating shared secrets |
US11494624B2 (en) * | 2019-05-20 | 2022-11-08 | Mipsology SAS | Accelerating neuron computations in artificial neural networks with dual sparsity |
US11403097B2 (en) * | 2019-06-26 | 2022-08-02 | Intel Corporation | Systems and methods to skip inconsequential matrix operations |
FR3098622A1 (fr) * | 2019-07-12 | 2021-01-15 | Stmicroelectronics (Grenoble 2) Sas | Procede de gestion d’instructions d’un programme contenues dans une memoire programme et circuit integre correspondant |
US11341745B1 (en) * | 2019-11-14 | 2022-05-24 | Lockheed Martin Corporation | Unresolved object target detection using a deep neural network |
KR20210084123A (ko) * | 2019-12-27 | 2021-07-07 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US20230075643A1 (en) * | 2020-02-14 | 2023-03-09 | Northeastern University | Real-time dnn execution framework on mobile devices with block-based column-row pruning |
US11915138B2 (en) * | 2020-02-18 | 2024-02-27 | Alibaba Group Holding Limited | Method and device for reducing a size of a neural network model |
CN111507473B (zh) * | 2020-04-20 | 2023-05-12 | 上海交通大学 | 一种基于Crossbar架构的剪枝方法及系统 |
US20220147826A1 (en) * | 2020-11-06 | 2022-05-12 | Moffett Technologies Co., Limited | Method and system for convolution with workload-balanced activation sparsity |
US20220292360A1 (en) * | 2021-03-15 | 2022-09-15 | Nvidia Corporation | Pruning neural networks |
US20220300816A1 (en) * | 2021-03-19 | 2022-09-22 | Rebellions Inc. | Neural processing device and method for pruning thereof |
CN114418086B (zh) | 2021-12-02 | 2023-02-28 | 北京百度网讯科技有限公司 | 压缩神经网络模型的方法、装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734797A (en) * | 1996-08-23 | 1998-03-31 | The United States Of America As Represented By The Secretary Of The Navy | System and method for determining class discrimination features |
CN103038772A (zh) * | 2010-03-15 | 2013-04-10 | 新加坡保健服务集团有限公司 | 预测患者的存活性的方法 |
CN103699873A (zh) * | 2013-09-22 | 2014-04-02 | 杭州电子科技大学 | 基于ga-bp神经网络下肢平地行走步态识别方法 |
CN106169961A (zh) * | 2016-09-07 | 2016-11-30 | 北京百度网讯科技有限公司 | 基于人工智能的神经网络的网络参数处理方法及装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6828920B2 (en) * | 2001-06-04 | 2004-12-07 | Lockheed Martin Orincon Corporation | System and method for classifying vehicles |
EP1298581A1 (fr) * | 2001-09-27 | 2003-04-02 | C.S.E.M. Centre Suisse D'electronique Et De Microtechnique Sa | Procédé et dispositif pour calculer les valeurs des neurones d'un réseau neuronal |
JP4027218B2 (ja) * | 2002-12-13 | 2007-12-26 | キヤノン株式会社 | 濾過膜の製造方法 |
KR100486735B1 (ko) * | 2003-02-28 | 2005-05-03 | 삼성전자주식회사 | 최적구획 분류신경망 구성방법과 최적구획 분류신경망을이용한 자동 레이블링방법 및 장치 |
US7567252B2 (en) * | 2003-12-09 | 2009-07-28 | Microsoft Corporation | Optimizing performance of a graphics processing unit for efficient execution of general matrix operations |
US8510242B2 (en) * | 2007-08-31 | 2013-08-13 | Saudi Arabian Oil Company | Artificial neural network models for determining relative permeability of hydrocarbon reservoirs |
US8527807B2 (en) * | 2009-11-25 | 2013-09-03 | Cleversafe, Inc. | Localized dispersed storage memory system |
US8700552B2 (en) * | 2011-11-28 | 2014-04-15 | Microsoft Corporation | Exploiting sparseness in training deep neural networks |
US9153230B2 (en) * | 2012-10-23 | 2015-10-06 | Google Inc. | Mobile speech recognition hardware accelerator |
US9367519B2 (en) | 2013-08-30 | 2016-06-14 | Microsoft Technology Licensing, Llc | Sparse matrix data structure |
US9606921B2 (en) * | 2013-09-21 | 2017-03-28 | Oracle International Corporation | Granular creation and refresh of columnar data |
US9477482B2 (en) * | 2013-09-26 | 2016-10-25 | Nvidia Corporation | System, method, and computer program product for implementing multi-cycle register file bypass |
US10235732B2 (en) * | 2013-12-27 | 2019-03-19 | Intel Corporation | Scheduling and dispatch of GPGPU workloads |
US9619749B2 (en) * | 2014-03-06 | 2017-04-11 | Progress, Inc. | Neural network and method of neural network training |
US9460456B2 (en) * | 2014-03-21 | 2016-10-04 | Yahoo! Inc. | Computation through array decomposition |
US10832138B2 (en) * | 2014-11-27 | 2020-11-10 | Samsung Electronics Co., Ltd. | Method and apparatus for extending neural network |
US20160259826A1 (en) * | 2015-03-02 | 2016-09-08 | International Business Machines Corporation | Parallelized Hybrid Sparse Matrix Representations for Performing Personalized Content Ranking |
US9595002B2 (en) * | 2015-05-29 | 2017-03-14 | Sas Institute Inc. | Normalizing electronic communications using a vector having a repeating substring as input for a neural network |
US11423311B2 (en) * | 2015-06-04 | 2022-08-23 | Samsung Electronics Co., Ltd. | Automatic tuning of artificial neural networks |
US10460230B2 (en) * | 2015-06-04 | 2019-10-29 | Samsung Electronics Co., Ltd. | Reducing computations in a neural network |
US11244225B2 (en) * | 2015-07-10 | 2022-02-08 | Samsung Electronics Co., Ltd. | Neural network processor configurable using macro instructions |
US10467528B2 (en) * | 2015-08-11 | 2019-11-05 | Oracle International Corporation | Accelerated TR-L-BFGS algorithm for neural network |
US20180082181A1 (en) * | 2016-05-13 | 2018-03-22 | Samsung Electronics, Co. Ltd. | Neural Network Reordering, Weight Compression, and Processing |
US10528864B2 (en) * | 2016-08-11 | 2020-01-07 | Nvidia Corporation | Sparse convolutional neural network accelerator |
WO2018053835A1 (en) * | 2016-09-26 | 2018-03-29 | Intel Corporation | Method and apparatus for reducing parameter density of deep neural network (dnn) |
CN108009976A (zh) * | 2016-10-27 | 2018-05-08 | 超威半导体公司 | 用于图形处理单元(gpu)计算的超级单指令多数据(超级simd) |
US11934934B2 (en) * | 2017-04-17 | 2024-03-19 | Intel Corporation | Convolutional neural network optimization mechanism |
-
2017
- 2017-06-21 US US15/629,394 patent/US11275996B2/en active Active
-
2018
- 2018-06-20 WO PCT/GB2018/051708 patent/WO2018234788A1/en active Application Filing
- 2018-06-20 CN CN201880039789.8A patent/CN111033531B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734797A (en) * | 1996-08-23 | 1998-03-31 | The United States Of America As Represented By The Secretary Of The Navy | System and method for determining class discrimination features |
CN103038772A (zh) * | 2010-03-15 | 2013-04-10 | 新加坡保健服务集团有限公司 | 预测患者的存活性的方法 |
CN103699873A (zh) * | 2013-09-22 | 2014-04-02 | 杭州电子科技大学 | 基于ga-bp神经网络下肢平地行走步态识别方法 |
CN106169961A (zh) * | 2016-09-07 | 2016-11-30 | 北京百度网讯科技有限公司 | 基于人工智能的神经网络的网络参数处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于Gibbs采样与概率分布估计的移动云数据存储;李又玲;《计算机工程》(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US11275996B2 (en) | 2022-03-15 |
WO2018234788A1 (en) | 2018-12-27 |
US20180373978A1 (en) | 2018-12-27 |
CN111033531A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111033531B (zh) | 用于格式化神经网络参数的系统和设备 | |
CN111033530B (zh) | 用于压缩神经网络参数的系统和设备 | |
US11645860B2 (en) | Generating preference indices for image content | |
US9852492B2 (en) | Face detection | |
US9805305B2 (en) | Boosted deep convolutional neural networks (CNNs) | |
US10102227B2 (en) | Image-based faceted system and method | |
US11188780B2 (en) | Image cropping | |
US20240289599A1 (en) | Systems and devices for configuring neural network circuitry | |
US9690860B2 (en) | Recommended query formulation | |
US10984189B2 (en) | Search engine content switch | |
CN112910890B (zh) | 基于时间卷积网络的匿名网络流量指纹识别方法及设备 | |
US10931304B1 (en) | Sensor content encoding | |
Afzaal et al. | Data recoverability and estimation for perception layer in semantic web of things | |
CN113168397B (zh) | 分布式存储器系统、设备和方法 | |
US20220382226A1 (en) | Device and/or method for approximate causality-preserving time series mixing for adaptive system training | |
US11874793B2 (en) | Broadcast hub for multi-processor arrangement | |
US20170193109A1 (en) | On-line content sampling | |
US12032506B2 (en) | Multi-processor arrangement with point of serialization for broadcast communications | |
US12001369B2 (en) | Broadcast regions for multi-processor arrangement | |
US11455268B2 (en) | Method, system and device for electronic interconnect delay bound determination | |
US20230004794A1 (en) | Training a sensing system to detect real-world entities using digitally stored entities | |
US20180077216A1 (en) | Method and/or system for credit report sharing | |
Cheng et al. | MIAM: Motion information aggregation module for action recognition | |
CN117633747A (zh) | 身份映射匹配方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |