面向深度学习的稀疏自适应神经网络、算法及实现装置的制造方法

文档序号:9727825阅读:722来源:国知局
面向深度学习的稀疏自适应神经网络、算法及实现装置的制造方法
【技术领域】
[0001] 本发明涉及集成电路/神经网络/大数据计算领域,具体涉及片上深度自适应神经 网络的模型构建与优化领域。
【背景技术】
[0002] 在该技术领域,神经网络模型的实现,现有的技术主要分为软件实现和硬件实现。
[0003] 软件实现:通常基于冯?诺依曼架构的通用处理器(CPU)或通用图形处理器 (GPGPU)来运行特定的神经网络算法。神经网络模型,如经典的DBN模型,其神经元之间的连 接需要用一个存储权重值的矩阵实现。随着神经元数目的增加,该权重矩阵的规模会按神 经元数量的平方关系〇(n 2)爆炸式地增长,这意味着需要消耗大量的存储资源(如内存)。受 限于冯?诺依曼架构的固有缺陷,计算单元与存储单元间的数据交换需要很大的带宽,在 神经网络模型的实现中业已成为瓶颈。且大量的数据交换和大量存储资源的使用也意味着 更高的功耗,这种远远高于生物系统(如大脑)的功耗,这对于片上应用、实时处理的应用是 显然过高的,对于服务器端的应用也是难以接受的。
[0004] 硬件实现:可以进一步细分为模拟电路实现、数字电路实现、混合实现,其局限如 下:
[0005] 含有模拟电路的硬件实现:1.利用模拟电路实现人工神经网络容易受温度、噪声 等外部因素影响,导致计算精确度不高;2.模拟电路难以实现大规模高密度的神经元的集 成;3.难以进行训练与实际应用,多为实验性质。
[0006] 现有数字集成电路实现:1.相关训练算法耗时较长,以往研究主要针对浅层的神 经网络;2.现有深度神经网络,参数(如权值)稠密,占有资源大,功耗高,不利于大规模集 成;3.神经网络浮点运算计算量巨大,影响整体运行效率。
[0007] 例如要在现有深度神经网络模型在芯片上实现集成百万数量级的神经元,主要困 难在于有限的集成电路片上内存要保存与百万数量级神经元全连接有关的参数,通常这些 参数是实数的,稠密的。而采用传统的方法量化浮点型数据,直接采用定点计算,往往导致 丢失精确性。这些问题亟待优化解决。同时,生物神经科学的发展表明,大脑皮层神经元的 连接是稀疏的。

【发明内容】

[0008] 鉴于此,本发明的目的之一是提供一种面向深度学习的稀疏自适应神经网络,称 为深度自适应神经网络模型(Deep Adaptive Network),其具有稀疏连接,准确度高,功耗 低,实时性强,扩展灵活等诸多优点,可以在机器视觉、场景感知、特征提取、大数据处理等 领域中得到广泛的应用;本发明的目的之二是提供一种基于前述神经网络的算法,本发明 的目的之三是提供一种基于前述神经网络的实现装置。
[0009] 本发明的目的之一是通过以下技术方案实现的,一种面向深度学习的稀疏自适应 神经网络,包括至少一层自适应有限玻尔兹曼机;至少一层自适应有限玻尔兹曼机包括可 视层和隐藏层,所述可视层和隐藏层之间的连接是稀疏的。
[0010] 进一步,当自适应有限玻尔兹曼机的层数大于1层时,前一层自适应有限玻尔兹曼 机的隐藏层为后一层自适应有限玻尔兹曼机的可视层。
[0011] 进一步,该神经网络还包括标签层。
[0012] 本发明的目的之二是通过以下技术方案实现的,面向深度学习的稀疏自适应神经 网络的算法,
[0013] 1)采用对能量函数的概率分布的最大似然估计的负对数形式求最小值的凸优化 形式表示目标函数;
[0014] 2)向目标函数中加入一范数正则化项
,其中λ表示正则化系 数,Wij表示连接的权值;
[0015] 3)所述目标函数的优化目标为以《1,以7,1,#1?,优化结果是¥1朐优化目标区间 的端点x,y靠近。
[0016] 进一步,
[0017] 1)采用短位宽的离散的整数表示连接的权重值;
[0018] 2)对叉,7取整,用[叉],[7]表示,取|^]<1111,1112<[7],当《4,」<1111,'\^,」=|^],当《^ > m2,wi,j = [y],否则wi,j用约定值表示连梓不存在。
[0019] 进一步,所述目标函数为:
,其中λ表 示正则化系数
·1表示网络的层数,最低为1层,ν(1)表示每一层RBM的可 视层,h(1)表示每一层RBM的隐藏层。
[0020] 进一步,所述目标函数的优化目标为-1 < Wl, J 1。
[0021] 进一步,在常规项的梯度下降步骤后,应用contrastive divergence规则进行更 新,应用Rs的梯度更新参数。
[0022]本发明的目的之三是通过以下技术方案实现的,面向深度学习的稀疏自适应神经 网络的实现装置,
[0023] 1)检测输入位axon[i]是否为1:若为1,即有一个突触事件到来,则根据i的值访问 MAP列表中的对应位置,若为0,则检测下一位输入位。
[0024] 2)读出MAP中相应的起始地址和长度值,如果长度值不为0,则用此基地址和长度 值访问TABLE。否则返回事件解码器(detect axons),检测下一位输入。
[0025] 3)读出TABLE中的数据,根据weight位来控制neuron-num位神经元对应的值进行 ± 1操作(accumulate results),直到访问完成从base_addr到base_addr+length_l位,返 回detect axons,然后检测下一位输入。
[0026] 4)当事件解码器(detect axons)完成所有输入位的检测后,执行CMP操作,同时对 所有神经元对应值与其阈值进行比较,得到神经元状态并输出。
[0027] 由于采用以上技术方案,本发明具有以下有益技术效果:
[0028] 本发明所述的神经网络中的连接是稀疏的,并且把一些权重接近于0的连接忽略 掉。此外,采用自适应的稀疏方法,给予某些重要连接更大的权重,被忽略的连接不占用存 储空间。
[0029] 本发明仅需要定点运算和少量乘法(在1-bit表示时仅需进行与)运算,可节省 99%的存储需求,就可以在单芯片上实现大规模神经网络。
[0030] 硬件资源在芯片上整合大量神经元的瓶颈是有限数量的RAM,本发明通过省略小 的权重和量化大的权重到-1和1之间,只存储了有效连接信息,平均使用不到lbit代表一个 神经元之间的一个连接,显著减少了所需内存量。具体来说,假设一个k个轴突和η个神经元 组成的尖峰神经元网络,如果S是非零连接的比例,参数列表的体积可以写作SknX(logn+ 1),表示一个突触所需的平均比特位数为Wlogn+1)。
【附图说明】
[0031] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步的详细描述,其中:
[0032] 图1为经典DBN模型示意图;
[0033]图2为本发明所述的DAN模型示意图;
[0034] 图3为带有线性分类器的DAN模型示意图;
[0035] 图4为DAN模型的每层神经网络的硬件实现及其控制流程。
【具体实施方式】
[0036] 以下将结合附图,对本发明的优选实施例进行详细的描述;应当理解,优选实施例 仅为了说明本发明,而不是为了限制本发明的保护范围。
[0037] 实施例一
[0038]通常,传统的人工神经网络包括具有一定数目输入节点的可见层和具有一定数目 输出节点的隐含层。有些设计中会在最高一层网络中使用标签层,这也是本发明的可选组 成部分,但并非必须组成部分。一个隐藏层的各节点通过加权连接到可见层的输入节点。注 意当隐藏层为两层及以上时,上一个隐藏层连接到另一个隐藏层。在低层网络的隐藏层一 旦训练完成,对于高层的网络,该隐藏层即是高层网络的可见层。
[0039]图1为经典DBN模型示意图,在DBN网络中,描述连接的参数是稠密的实数,每一层 的计算是互相连接的单元及其激励之间的矩阵乘法,大量的浮点型数据乘法运算使得难以 在片上实现大规模DBN集成。因此本发明提出了一种面向数字电路实现的深度自适应神经 网络(DAN),该神经网络仅需要定点运算和少量乘法(在Ι-bit表示时仅需进行与)运算,就 可以在单芯片上实现大规模神经网络。
[0040] 如图2所示,本发明所述的一种面向深度学习的稀疏自适应神经网络,包括至少一 层自适应有限玻尔兹曼机;至少一层自适应有限玻尔兹曼机包括可视层和隐藏层,所述可 视层和隐藏层之间的连接是稀疏的(即隐藏层的神经元与可视层的神经元不完全连接)。
[0041] 当自适应有限玻尔兹曼机的层数大于1层时,前一层自适应有限玻尔兹曼机的隐 藏层为后一层自适应有限玻尔兹曼机的可视层。
[0042] 为了提高特征识别的精确度,该神经网络还包括标签层(线性分类器),其模型示 意图如图3所示。
[0043] 针对上述面向深度学习的稀疏自适应神经网络,本发明还提供一种面向深度学习 的稀疏自适应神经网络的算法,该方法为:
[0044] 1)采用对能量函数的概率分布的最大似然估计的负对数形式求最小值的凸优化 形式表示目标函数;
[0045] 2)向目标函数中加入一范数正则化项
实中λ表示正则化系 数,Wij表示连接的权值;
[0046] 3)所述目标函数的优化目标为1<?^<74,761?,优化结果是 ¥1」向优化目标区间 的端点x,y靠近。
[0047] 优选的,1)采用短位宽的离散的整数表示连接的权重值;
[0048] 2)对叉,7取整,用[叉],[7]表示,取|^]<1111,1112<[7],当《4,」<1111,'\^,」=|^],当《
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1