RPU阵列的更新管理制造技术

技术编号:22662499 阅读:22 留言:0更新日期:2019-11-28 05:01
提供了一种计算机实现的方法和计算机处理系统,用于神经网络的更新管理。该方法包括使用电阻处理单元在神经网络上执行各向同性更新过程。各向同性更新过程使用乘法运算中的被乘数和乘数。执行步骤包括缩放被乘数和乘数以具有相同的数量级。

Update management of RPU array

This paper provides a method of computer realization and a computer processing system, which is used for the update management of neural network. The method includes performing an isotropic update process on the neural network using a resistance processing unit. The isotropic update process uses the multipliers and multipliers in the multiplication operation. The execution steps include scaling the multiplier and the multiplier to have the same order of magnitude.

【技术实现步骤摘要】
【国外来华专利技术】RPU阵列的更新管理
技术介绍

本专利技术一般涉及电阻处理单元,尤其涉及电阻处理单元(RPU)阵列的更新管理。相关技术的描述电阻处理单元(RPU)是可用于深度神经网络训练的电阻器件阵列。RPU由完全连接的层、卷积层、循环层等组成。但是,RPU的更新可能需要密集的时间和资源。因此,需要改进RPU的更新。
技术实现思路
根据本专利技术的一个方面,提供了一种用于神经网络的更新管理的计算机实现的方法。该方法包括使用电阻处理单元在神经网络上执行各向同性更新过程。各向同性更新过程使用乘法运算中的被乘数和乘数。执行步骤包括缩放被乘数和乘数以具有相同的数量级。根据本专利技术的另一方面,提供了一种用于神经网络的更新管理的计算机程序产品。该计算机程序产品包括非暂时性计算机可读存储介质,具有与其一起体现的程序指令。程序指令可由计算机执行以使计算机执行方法。该方法包括使用电阻处理单元在神经网络上执行各向同性更新过程。各向同性更新过程使用乘法运算中的被乘数和乘数。执行步骤包括缩放被乘数和乘数以具有相同的数量级。根据本专利技术的又一方面,提供了一种用于神经网络的更新管理的计算机处理系统。该计算机处理系统包括电阻处理单元(RPU),被配置为在神经网络上执行各向同性更新处理。各向同性更新过程使用乘法运算中的被乘数和乘数。RPU被配置为通过将被乘数和乘数缩放以具有相同的数量级来执行各向同性更新过程。从以下对结合附图来阅读的说明性实施例的详细描述中,这些和其他特征和优点将变得显而易见。>附图说明以下描述将参考以下附图提供优选实施例的细节,其中:图1示出了根据本专利技术实施例的可以应用本专利技术原理的示例性处理系统;图2示出了根据本专利技术实施例的RPU阵列上的示例性模拟向量矩阵乘法;图3示出了根据本专利技术实施例的RPU阵列上的另一示例性模拟向量矩阵乘法;图4示出了根据本专利技术实施例的可以应用本专利技术的示例性更新操作;图5示出了根据本专利技术实施例的可应用本专利技术的RPU阵列的随机更新规则电路;图6示出了根据本专利技术的一个实施例对应于图5的随机更新规则电路的更新周期;以及图7示出了根据本专利技术实施例的用于RPU阵列的更新管理的示例性方法。具体实施方式本专利技术涉及电阻处理单元(RPU)阵列的更新管理。在一个实施例中,针对RPU提出了各向同性更新方案,以便在提高整体性能的同时利用最少的周期用于训练所需来充分利用RPU的更新周期。本专利技术可以应用于随机比特流和确定性比特流中的任何一个。在一个实施例中,为RPU提出的更新方案包括填充随机比特流并使用重合的随机比特流来执行更新。在一个实施例中,本专利技术在运行随机更新周期之前调节输入,以便消除由于必须乘以彼此不同的多个数量级的两个数而导致的错误空间相关性。也就是说,在一个实施例中,随机更新方案中的被乘数具有相同的数量级。使用此方法,RPU测试准确性可显着提高CNN和DNN的训练,使用单次迭代完成RPU阵列更新,从而加快更新周期。使用最短的比特流使更新周期尽可能快。这种情况对应于BL=1,其中更新周期通过单个脉冲操作(使得最大和最小可能更新相同,同时相对于xiδj值仍然保持概率)。为了尽可能有效地使用这个单脉冲窗口,我们提出了一种以更加各向同性的方式进行更新的方法。在一个实施例中,本专利技术可以解决由硬件不完善引起的问题。在一个实施例中,本专利技术通过减小节点之间的相关性来降低(在RPU中)具有不对称行为的电阻元件的影响。本专利技术可以涉及缩放值以增加随机性并最小化设备对测试结果的不完美影响。图1示出了根据本专利技术实施例的可以应用本专利技术原理的示例性处理系统100。处理系统100包括总线102,用于互连一个或多个非线性滤波器(NLF)(统一地和单独地由附图标号110表示),一个或多个电阻处理单元(RPU)(统一地和单独地由附图标记120表示),一个或多个存储器(统一地和单独地由附图标记130表示),以及一个或多个输入/输出(I/O)电路(统一地和单独地由附图标记140表示)。在处理系统100的集成电路(IC)实现的情况下,可以由总线102提供片上通信,而可以由I/O电路140提供片外通信。当然,如本领域技术人员容易想到的,处理系统100还可以包括其他元件(未示出),并且省略某些元件。例如,各种其他输入设备和/或输出设备可以包括在处理系统100中,这取决于其特定实现,如本领域普通技术人员容易理解的。例如,可以使用各种类型的无线和/或有线输入和/或输出设备。此外,如本领域普通技术人员容易理解的,还可以使用各种配置的附加RPU、处理器、控制器、存储器等。鉴于本文提供的本专利技术的教导,本领域普通技术人员容易想到处理系统100的这些和其他变型。图2示出了根据本专利技术实施例的RPU阵列上的示例性模拟向量矩阵乘法200。模拟向量矩阵乘法200涉及一组数字输入值(δ)210,其中每个数字输入值(δ)210由相应的模拟信号脉冲宽度220表示。模拟信号脉冲宽度220被提供给具有运算放大器231的运算放大器(op-amp)积分电路230,电容器(Cint)232连接到运算放大器231的反相输入端(并跨越)运算放大器231的输出端。运算放大器231的非反相输入端接地。运算放大器231的输出还连接到模数转换器(ADC)240的输入。ADC240输出信号y1,表示RPU阵列上模拟向量矩阵乘法200的(数字化)结果。图3示出了根据本专利技术实施例的RPU阵列上的另一示例性模拟向量矩阵乘法300。乘法300基本上是图2中所示的乘法,使用不同的格式(表示)。模拟向量矩阵乘法300涉及施加到运算放大器积分电路330的反相输入的一组输入值320。运算放大器积分电路330包括具有电容器(Cint)332的运算放大器331。输入值320对应于输入电压Vin和对应的跨导到和到运算放大器331的非反相输入端接地。电容器332连接到运算放大器331的反相输入端(并跨越)运算放大器331的输出端。运算放大器的输出端还连接到模数转换器(ADC)340的输入端。运算放大器331输出信号Vout,表示RPU阵列上的模拟向量矩阵乘法300的结果。ADC340将来自运算放大器331的模拟输出Vout转换为数字信号。图4示出了根据本专利技术实施例的可以应用本专利技术的示例性更新操作400。更新操作400涉及将原始向量输入δ411和原始向量输入x412提供给电阻处理单元(RPU)420。如下提供RPU420的输出:wij=wij+η(xi×δj)其中wij表示第i行和第j列之间的连接的权重,η表示学习速率(标量值),xi表示输入神经元处的活动,δj表示由输出神经元计算的误差。在一个实施例中,使用反向传播方法训练RPU,该反向传播方法包括三个周期,即前向周期、后向周期和权重更新周期(这里简称为“权重更新”)。前向和后向周期主要涉及在前向和后向上计算向量-矩阵乘法。本专利技术基本上涉本文档来自技高网...

【技术保护点】
1.一种用于神经网络的更新管理的计算机实现的方法,该方法包括:/n使用电阻处理单元RPU在神经网络上执行各向同性更新过程,各向同性更新过程使用乘法运算的被乘数和乘数,/n其中所述执行步骤包括缩放被乘数和乘数以具有相同的数量级。/n

【技术特征摘要】
【国外来华专利技术】20170414 US 15/487,7011.一种用于神经网络的更新管理的计算机实现的方法,该方法包括:
使用电阻处理单元RPU在神经网络上执行各向同性更新过程,各向同性更新过程使用乘法运算的被乘数和乘数,
其中所述执行步骤包括缩放被乘数和乘数以具有相同的数量级。


2.如权利要求1所述的计算机实现的方法,其中缩放被乘数和乘数以在缩放之前和之后保持相同的乘积。


3.如权利要求1所述的计算机实现的方法,其中缩放步骤在应用于各向同性更新过程的输入的输入调节过程中执行。


4.根据权利要求3所述的计算机实现的方法,其中输入调节过程移除由被乘数与乘数的数量级之间的差异导致的错误空间相关性。


5.如权利要求1所述的计算机实现的方法,其中仅使用单个更新周期来执行各向同性更新过程。


6.如权利要求1所述的计算机实现的方法,其中,RPU阵列被配置为执行模拟向量矩阵乘法。


7.如权利要求1所述的计算机实现的方法,还包括由一个或多个随机转换器将对应于神经网络的神经元的数字组翻译成随机比特流。


8.如权利要求7所述的计算机实现的方法,其中,对具有满足一个或多个预定标准的比特长度的各个随机比特流执行各向同性更新过程。


9.如权利要求8所述的计算机实现的方法,其中,一个或多个预定标准包括具有最小比特流长度。


10.如权利要求7所述的计算机实现的方法,其中,缩放因子被应用于一个或多个随机转换器的放大因子。


11.如权利要求7所述的计算机实现的方法,其中,一个或多个随机转换器包括第一随机转换器和第二随机转换器,并且其中,缩放步骤包括将第一随机转换器的放大因子乘以所述缩放因子,并将第二随机转换器的放大因子除以所述缩放因子。


12.如权利要求1所述的计算机实现的方法,还包括由一个或多个确定性转换器将对应于神经网络的神经元的数字组转换成确定性比特流。


13.如权利要求12所述的计算机实现的方法,其中,对具有满足一个或多个预定标准的比特长度的确定性比特流中的相应比特流执行各向...

【专利技术属性】
技术研发人员:T戈克曼OM奥宁
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1