一种基于线性分段的激活函数的硬件实现电路和方法技术

技术编号:23344911 阅读:42 留言:0更新日期:2020-02-15 04:23
本发明专利技术公开了一种基于线性分段的激活函数的硬件实现电路,包括控制器模块、地址产生模块、数据分发模块、初始化模块、激活函数模块;控制器模块用于配置定点位宽和定点整数位宽并送入到地址产生模块和数据分发模块,地址产生模块找到对应数据地址通过数据分发模块读取数据送入到初始化模块,然后初始化模块将数据送入到计算阵列中的激活函数模块,最后写入到SRAM相应位置;初始化模块根据神经网络应用场景和深度的不同改变定点整数位宽和定点小数位宽,并以此对线性分段的斜率和截距进行定点化表示,重构查找表。本发明专利技术同时提供一种方法,根据任意定点整数位宽来重新定点化表示斜率与截距,重构查找表,有效地节约运算资源、提高计算速度。

A hardware implementation circuit and method of activation function based on linear segmentation

【技术实现步骤摘要】
一种基于线性分段的激活函数的硬件实现电路和方法
本专利技术属于人工神经网络领域,更具体地说,涉及一种基于线性分段的激活函数的硬件实现电路和方法。
技术介绍
人工神经网络(artificialneuralnetwork,ANN),简称神经网络(neuralnetwork,NN)或类神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计、近似或预测。神经网络主要是由输入层、隐藏层、输出层构成。神经网络有单层神经网络(只有一个隐藏层和输入层)和多层神经网络。实际中,网络输入层的每个神经元代表了一个特征,输出层个数代表了分类标签的个数(在做二分类时,如果采用sigmoid函数分类器,输出层的神经元个数为1个;如果采用softmax函数分类器,输出层神经元个数为2个),而隐藏层层数以及隐藏层神经元是由人工设定。对于一个二分类问题,有些情况是线性不可分的问题,无法用一条直线将两种情况完全分开。如果用不带激活函数的单层感知机来解决,单层感知机依旧是只能画出一条直线,无法进行复杂的二分类情况,解决不了线性不可分的情本文档来自技高网...

【技术保护点】
1.一种基于线性分段的激活函数的硬件实现电路,其特征在于:包括:控制器模块、地址产生模块、数据分发模块、初始化模块和激活函数模块,其中,所述地址产生模块包括写结果地址产生模块,数据分发模块包括结果数据分发模块,/n所述控制器模块用于配置定点位宽和定点整数位宽,并将定点位宽和定点整数位宽送入到数据分发模块,数据分发模块将定点位宽和定点整数位宽发送给初始化模块,地址产生模块找到对应数据地址通过数据分发模块读取待处理数据送入到初始化模块,初始化模块根据定点位宽和定点整数位宽重构查找表并将待处理数据输送给激活函数模块,激活函数模块包括sigmoid函数和tanh函数;激活函数模块对待处理数据进行处理,...

【技术特征摘要】
1.一种基于线性分段的激活函数的硬件实现电路,其特征在于:包括:控制器模块、地址产生模块、数据分发模块、初始化模块和激活函数模块,其中,所述地址产生模块包括写结果地址产生模块,数据分发模块包括结果数据分发模块,
所述控制器模块用于配置定点位宽和定点整数位宽,并将定点位宽和定点整数位宽送入到数据分发模块,数据分发模块将定点位宽和定点整数位宽发送给初始化模块,地址产生模块找到对应数据地址通过数据分发模块读取待处理数据送入到初始化模块,初始化模块根据定点位宽和定点整数位宽重构查找表并将待处理数据输送给激活函数模块,激活函数模块包括sigmoid函数和tanh函数;激活函数模块对待处理数据进行处理,然后通过结果数据分发模块和写结果地址产生模块将激活函数模块处理后的数据写入到SRAM相应位置。


2.根据权利要求1所述的基于线性分段的激活函数的硬件实现电路,其特征在于:所述初始化模块以定点位宽和定点整数位宽对线性分段的斜率、截距和线性分段区间进行定点化表示,若斜率、截距和线性分段区间的整数位不大于定点整数位宽,则用定点整数位宽来表示斜率、截距和线性分段区间的整数;若斜率、截距和线性分段区间的整数位大于定点整数位宽,则通过定点运算溢出,将斜率、截距和线性分段区间赋值为定点所能表达的极值,定点小数位截取斜率、截距和线性分段区间的小数位前X-1-Y位,最后用定点数据构成重构的查找表,所述定点数据包括斜率、截距和线性分段区间,其中,X为定点运算位宽,其中一位为符号位;Y为定点整数位宽。


3.根据权利要求1所述的基于线性分段的激活函数的硬件实现电路,其特征在于:sigmoid函数和tanh函数首先对待处理数据进行定点化处理,根据定点整数位宽来表示线性分段区间坐标,然后根据待处理数据的线性分段区间坐标在查找表中找到所属的线性分段区间、斜率和截距,激活函数模块将待处理数据与在查找表中查找到的斜率相乘后,再与在查找表中查找到的截距相加得到结果。


4.一种基于线性分段的激活函数的硬件实现方法,其特征在于:包括以下步骤:
S1、外部的源数据从DDR中按照顺序搬运到bank中,先搬运到第一个bank,然后第二个,直到遍历源数据bank;数据分发模块根据地址产生模块输出的地址从源数据bank中读取待处理数据;
S2、控制器模块配置定点位宽和定点整数位宽,初始化模块根据定点位宽和定点整数位宽重构...

【专利技术属性】
技术研发人员:李丽张衡傅玉祥何书专
申请(专利权)人:南京宁麒智能计算芯片研究院有限公司
类型:发明
国别省市:江苏;32

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

1