掌桥专利:专业的专利平台
掌桥专利
首页

残差神经网络在线训练架构及存储压缩与计算加速方法

文献发布时间:2024-04-18 19:52:40


残差神经网络在线训练架构及存储压缩与计算加速方法

技术领域

本发明属于计算机技术领域,尤其涉及一种残差神经网络在线训练架构及存储压缩与计算加速方法。

背景技术

现有的深度残差神经网络在计算资源充足时表现出了强大的性能,但在计算资源有限时则不能表现出理想的效果,甚至当下大多数个人电脑都已经无法实现深度神经网络的有效训练。

深度残差神经网络的训练往往需要大批量数据作为并行输入,同时要求高精度的浮点数以保证训练的性能和精度。针对深度残差神经网络的在线训练的计算加速和压缩存储方法主要围绕着数据量化的算法的优化。

而应用常见的量化方式往往需要付出很大的性能下降的代价,这是因为在数据分布不平均时常用的离散化方法不能较好的表达出原数据的分布,造成离散化过程中的大量信息缺失。因此现有的残差神经网络算法大多使用量化算法来优化前向传播时的模型的调用,而针对残差神经网络的在线训练方法依旧有很多探索的空间。

发明内容

本发明目的在于提供一种残差神经网络在线训练架构及存储压缩与计算加速方法,以解决上述的技术问题。

为解决上述技术问题,本发明的一种残差神经网络在线训练架构及存储压缩与计算加速方法的具体技术方案如下:

一种残差神经网络在线训练架构,移除了批归一化运算模块,包括前向传播模块和反向传播模块两个部分,所述前向传播模块和反向传播模块均包含两个加法偏置Bias,一个卷积层Conv,一个乘法算子Multiplier,和一个激活层ReLu,所述前向传播模块用于进行一个加法偏置Bias、一个卷积层Conv、一个乘法算子Multiplier、一个加法偏置Bias和一个激活层ReL的运算,所述反向传播模块用于进行一个激活层ReL、一个加法偏置Bias、一个乘法算子Multiplier、一个卷积层Conv和一个加法偏置Bias的运算。

本发明还公开了一种残差神经网络在线训练架构的存储压缩与计算加速方法,包括如下步骤:

步骤1:前向传播,经过加法偏置运算、卷积运算、乘法运算、加法偏置运算和激活运算后完成前行传播过程;

步骤2:反向传播,经过激活运算、加法偏置运算、乘法运算、一个卷积运算和加法偏置运算完成反向传播。

进一步地,所述步骤1包括如下具体步骤:

在第l个基本结构块中,输入的x

进一步地,所述步骤2包括如下具体步骤:

步骤2.1:参数的量化;

步骤2.2:更新权重;

步骤2.3:浮点数整形化;

步骤2.4:根据不同参数的数据分布和作用制定离散化策略。

进一步地,所述步骤2.1包括如下具体步骤:

在反向传播时k

进一步地,所述步骤2.2包括如下具体步骤:

更新权重时,对所有参数使用相同的更新策略,对于学习率和参数z,权重更新值u及其整形化方案如公式所示:

进一步地,所述参数z是乘法权重γ,偏置的权重b,或者卷积层的权重w。

进一步地,所述步骤2.3包括如下具体步骤:

采用的浮点数整形化函数方法如下:对于神经网络图像处理算法中的参数张量x,和离散化后的位宽k,使用函数将浮点数张量归一化后离散为定点数,CQ(.)进一步将Q(.)的结果的范围进行控制,限定在k位宽可以表达的空间之内,Clamp(.)表示超出限定的边界的数值向左右边界取整,

使用的SQ(.)是在CQ(.)的基础上增加了放缩算子,该放缩算子scale(.)用最接近浮点数张量x绝对值最大值的定点数来估计浮点数张量x绝对值最大值,当x数值较小时引入scale(.)使得离散化估计的精度提升,

进一步地,所述步骤2.4包括如下具体步骤:

根据不同参数的数据分布和作用,乘法算子γ

本发明的一种残差神经网络在线训练架构及存储压缩与计算加速方法具有以下优点:

本发明相较于传统32-bit浮点数的深度残差神经网络,能够大幅降低功耗,提升处理速度。更重要的是,因为删去了批归一化中的平方根运算,深度神经网络在线学习芯片的设计可以大大简化。除此之外,该方法已被证明在批量样本较少的小批量在线训练中更具优势。该发明专为降低网络训练中卷积和批归一化的高计算成本而设计,在资源有限设备上的在线训练中有广阔应用前景。

附图说明

图1为本发明的前向传播示意图;

图2为本发明的反向传播示意图。

具体实施方式

为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种残差神经网络在线训练架构及存储压缩与计算加速方法做进一步详细的描述。

本发明的一种残差神经网络在线训练架构,移除了批归一化运算模块,能够在计算资源有限的设备上进行在线训练。残差神经网络在线训练架构包括前向传播模块和反向传播模块两个部分。前向传播模块和反向传播模块均包含两个加法偏置Bias,一个卷积层Conv,一个乘法算子Multiplier,和一个激活层ReLu。前向传播模块用于进行一个加法偏置Bias、一个卷积层Conv、一个乘法算子Multiplier、一个加法偏置Bias和一个激活层ReL的运算。反向传播模块用于进行一个激活层ReL、一个加法偏置Bias、一个乘法算子Multiplier、一个卷积层Conv和一个加法偏置Bias的运算。

本发明的一种残差神经网络在线训练的存储压缩与计算加速方法,包括

步骤1:前向传播。

如图1所示,在第l个基本结构块中,输入的x

步骤2:反向传播。

如图2所示,误差反向传播的过程与前向传播类似。在反向传播时k

更新权重时,我们对所有参数使用了相同的更新策略。对于学习率和参数z(这个参数可以是乘法权重γ,偏置的权重b,或者卷积层的权重w),我们的权重更新值u及其整形化方案如公式所示

/>

本发明采用的浮点数整形化函数方法如下。对于神经网络图像处理算法中的参数张量x,和离散化后的位宽k,使用函数将浮点数张量归一化后离散为定点数。CQ(.)进一步将Q(.)的结果的范围进行控制,限定在k位宽可以表达的空间之内。Clamp(.)表示超出限定的边界的数值向左右边界取整。

更进一步地,为了解决数据分布较小的参数量化问题,我们使用的SQ(.)是在CQ(.)的基础上增加了放缩算子。该放缩算子scale(.)用最接近浮点数张量x绝对值最大值的定点数来估计浮点数张量x绝对值最大值。当x数值较小时引入scale(.)可以使得离散化估计的精度提升。

针对不同的参数,不同参数的离散化策略会极大影响量化后模型的性能。在本发明下,根据不同参数的数据分布和作用,乘法算子γ

本发明相较于传统32-bit浮点数的深度残差神经网络,能够大幅降低功耗,提升处理速度。更重要的是,因为删去了批归一化中的平方根运算,深度神经网络在线学习芯片的设计可以大大简化。除此之外,该方法已被证明在批量样本较少的小批量在线训练中更具优势。该发明专为降低网络训练中卷积和批归一化的高计算成本而设计,在资源有限设备上的在线训练中有广阔应用前景。

可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

技术分类

06120116333724