用于神经网络的推理引擎及其操作方法技术

技术编号:31889611 阅读:20 留言:0更新日期:2022-01-15 12:15
本发明专利技术公开了一种用于神经网络的推理引擎及其操作方法,其中用于一神经网络的推理引擎使用存储一核心系数(kernel coefficient)的一存储器内计算阵列。一箝位输入矩阵被提供至存储器内计算阵列,以产生代表箝位输入向量及核心的一函数的一输出向量。一电路被包括,接收一输入向量,输入向量的元素具有一第一数值范围中的数值。电路箝位在一第二数值范围的一限度的输入向量的元素的数值,以提供箝位输入向量。第二数值范围系更窄于第一数值范围且根据存储器内计算阵列的特性被设定。第一数值范围可被使用于使用数字计算资源的训练中,第二数值范围可被使用于使用存储器内计算阵列的推理中。的推理中。的推理中。

【技术实现步骤摘要】
用于神经网络的推理引擎及其操作方法


[0001]本专利技术是有关于实施人工神经网络的技术的改善,且特别包括特征是非理想存储器装置行为(non

ideal memory device behavior)的存储器装置及其操作方法。

技术介绍

[0002]人工神经网络(artificial neural network,ANN)技术已成为一有效且重要的计算工具,特别是人工智能的实现。深度神经网络(deep neural network)是使用多个非线性且复杂的转换层以依次塑造(model)高级特征(high

level feature)的人工神经网络的一类型。为了训练的目的,深度神经网络通过后向传播(backpropagation)提供回馈,其负载(carry)观测的输出及预测的输出之间的差异以调整模型参数。深度神经网络随着大训练数据组(training dataset)的可用性(availability)、并行计算及分布式计算(parallel and distributed computing)的能力(power)及精密训练算法而发展。包括深度神经网络的所有种类的人工神经网络(ANN)促进众多领域(domain)的主要进展,例如计算机视觉(computer vision)、语音识别(speech recognition)及自然语言处理(natural language processing)。
[0003]卷积神经网络(convolutional neural network,CNNs)及递归神经网络(recurrent neural network,RNNs)可被使用于深度神经网络的元件(component)中,或被使用作为深度神经网络的元件。卷积神经网络已特别在具有包括卷积层(convolution layer)、非线性层及池化层(pooling layer)的一架构(architecture)的影像识别(image recognition)成功。递归神经网络系被设计,以利用具有建立区块(building block)中的循环连接(cyclic connection)的输入数据的循序信息(sequential information),建立区块例如是感知器(perceptron)、长短期存储器单元与门控递归单元(gated recurrent unit)。此外,许多其他新兴的(emergent)深度神经网络已被提出而用于各种内容,例如深度时空神经网络(deep spatio

temporal neural network)、多维递归神经网络(multi

dimensional recurrent neural network)及卷积自动编码器(convolutional auto

encoder)。
[0004]一些应用中,一人工神经网络(ANN)系统的训练系使用高速计算系统完成,此高速计算系统系使用分布式处理器或平行处理器(distributed or parallel processor),参数的结果组(resulting set)系被转换至一计算单元中的一存储器,本专利技术中系被称作一推理引擎(inference engine),系实施使用于仅进行推理的操作(inference

only operation)的人工神经网络(ANN)的一训练实例(trained instance)。然而,由于编程错误(programming error)、存储器电平波动(memory level fluctuation)、噪声(noise)及其他因素,仅进行推理的机器(inference

only machine)中的存储单元的行为可以是非理想的,特别是在一些类型的非易失性存储器中。存储参数的存储单元的非理想行为可能导致应用参数的推理引擎中的计算错误。这些计算错误依序(in turn)导致人工神经网络(ANN)系统中的准确度(accuracy)的损失(loss)。
[0005]应用于人工神经网络(ANN)技术的一算术函数(arithmetical function)是一「积项和(sum

of

product)」操作,亦已知为一「乘法与累加(multiply

and

accumulate)」操作。此函数可以下方的简单形式表示:
[0006][0007]此表示式(expression)中,每一个乘积项(product term)是一变量输入(variable input)X
i
及一权重W
i
的一乘积(product)。举例而言,权重W
i
是可在多个项中变化的一参数,这些项系对应于变量输入X
i
的参数。人工神经网络(ANN)技术亦可包括其他类型的参数,例如加入至用于偏差(bias)或其他效应的多个项的常数。
[0008]各种技术(techniques)系被发展以加速乘法与累加操作。已知为「存储器内计算(compute

in

memory,CIM)」的一技术包含非易失性存储器的使用,例如电阻式存储器、浮栅存储器(floating gate memory)及相变化存储器等,以存储代表计算的参数的数据及提供代表积项和计算结果的输出。举例而言,一交叉点可变电阻式存储器阵列(cross

point ReRAM array)可被配置在一存储器内计算架构中,转换一输入电压至电流而作为阵列中的存储单元的电导(electrical conductance)的一函数且提供使用多输入及一交叉点串行(cross

point string)的一积项和操作。举例而言,请参照Lin等人于

Performance Impacts of Analog ReRAM Non

ideality on Neuromorphic Computing

,IEEE Transactions on Electron Devices,Vol.66,No.3,2019年3月,第1289

1295页所述,在此被并入参考,如同已被充分阐述(which is incorporated by reference as if fully set forth herein)。
[0009]然而,由于存储单元可具有代表操作中的系数或权重的非定值电导(non

constant conductance),使用于存储器内计算系统中的非易失性存储器可以是非理想的。举例而言,可变电阻式存储器(ReRAM)可具有多个存储单元,这些存储单元具有作为读取电压及编程电导(programmed conductance)(本专利技术称作一目标电导(t本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于一神经网络的推理引擎,其中,包括:一存储器内计算阵列,存储一核心的系数,该存储器内计算阵列具有多个输入以接收一箝位输入向量且产生代表该箝位输入向量及该核心的一函数的一输出向量;以及一电路,操作地耦接于一输入向量的一来源,其中该输入向量的多个元素具有一第一数值范围中的多个数值,该电路用以箝位在一第二数值范围的一限度的该输入向量的这些元素的这些数值以提供该箝位输入向量,该第二数值范围系更窄于该第一数值范围。2.根据权利要求1所述的推理引擎,其中,该存储器内计算阵列包括存储该核心的元素的多个存储单元,这些存储单元具有多个电导,这些电导具有误差量,该误差量系在这些存储单元的输入电压及这些存储单元的这些电导的一函数。3.根据权利要求1所述的推理引擎,其中,该存储器内计算阵列包括多个存储单元,这些存储单元具有多个电导,这些电导具有误差量,该误差量系在这些存储单元的输入电压的一函数。4.根据权利要求1所述的推理引擎,其中,还包括:一数字

模拟转换器,转换该箝位输入向量为多个模拟电压且施加这些模拟电压至该存储器内计算阵列的这些输入,这些模拟电压代表代表该箝位输入向量的多个元素。5.根据权利要求1所述的推理引擎,其中,该神经网络包括多个层,该多个层包括一第一层、一或多个中间层及一最终层,该存储器内计算阵列系该一或多个中间层中的一中间层的一元件,且该输入向量的该来源包括该多个层中的一在先层;其中该在先层应用一激活函数以产生该输入向量,用以箝位该输入向量...

【专利技术属性】
技术研发人员:林榆瑄许柏凯李岱萤
申请(专利权)人:旺宏电子股份有限公司
类型:发明
国别省市:

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

1