[发明专利]用于执行人工神经网络自学习运算的装置和方法有效
申请号: | 201610267211.0 | 申请日: | 2016-04-27 |
公开(公告)号: | CN107316078B | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 李震;郭崎;陈云霁;陈天石 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 鄢功军 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 执行 人工 神经网络 自学习 运算 装置 方法 | ||
本公开提供了一种用于执行人工神经网络自学习运算的装置和方法,所述装置包括控制器单元、互连模块、主运算模块、以及多个从运算模块。本公开可对多层神经网络的自学习预训练按照逐层训练的训练方式,对于每一层网络,本公开经过多次运算迭代直至权重更新小于一定阈值后,该层网络的自学习预训练完成。每次迭代过程可分为四个阶段,前三个阶段分别计算生成一阶隐层中间值.一阶可见层中间值和二阶隐层中间值,最后一阶段则利用前三个阶段的中间值更新权重。
技术领域
本公开涉及人工神经网络技术,具体地涉及一种用于执行人工神经网络自学习运算的装置和方法。
背景技术
多层人工神经网络被广泛应用于模式识别,图像处理,函数逼近和优化计算等领域,多层人工网络在近年来由于其较高的识别准确度和较好的可并行性,受到学术界和工业界越来越广泛的关注。
典型的多层人工神经网络训练方法为反向传播(BP)算法。此方法是监督学习的代表类型,在训练过程中需要大量的带标签的训练样本,然而样本的收集所需的成本代价很高。同时,此方法的训练过程中,误差校正信号随着传播层数的增加而减小,训练容易收敛于局部最小值而且收敛速度较慢。因此,先采用收敛速度快且不需带标签训练样本的自学习算法对网络参数预训练,然后再采用反向传播训练进行微调多层神经网络成为一个新的热点。其中,作为预训练的自学习运算尤为重要。
一种支持多层人工神经网络自学习运算的已知方法是使用通用处理器。该方法通过使用通用寄存器堆和通用功能部件执行通用指令来支持上述算法。该方法的缺点之一是单个通用处理器的运算性能较低,无法满足通常的多层人工神经网络运算的性能需求。而多个通用处理器并行执行时,通用处理器之间相互通信又成为了性能瓶颈。另外,通用处理器需要把多层人工神经网络预训练运算译码成一长列运算及访存指令序列,处理器前端译码带来了较大的功耗开销
另一种支持多层人工神经网络预训练的已知方法是使用图形处理器(GPU)。该方法通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来支持上述算法。由于GPU是专门用来执行图形图像运算以及科学计算的设备,没有对多层人工神经网络运算的专门支持,仍然需要大量的前端译码工作才能执行多层人工神经网络运算,带来了大量的额外开销。另外GPU只有较小的片上缓存,多层人工神经网络的模型数据(权值)需要反复从片外搬运,片外带宽成为了主要性能瓶颈。另外,GPU只有较小的片上缓存,多层人工神经网络的模型数据(权值)需要反复从片外搬运,片外带宽成为了主要性能瓶颈,同时带来了巨大的功耗开销。
发明内容
本公开所要解决的是现有技术中通用处理器(GPU、CPU)进行多层神经网络预训练需要一系列的简单运算以及访存运算,前端译码功耗开销较大以及现有的通用处理器数据访存开销大、单个通用处理器运算性能低等问题。
本公开提出一种用于执行人工神经网络自学习运算的装置,包括指令存储单元、控制器单元、数据访问单元、互连模块、主运算模块、以及多个从运算模块,其中:所述指令存储单元用于通过数据访问单元读入指令并缓存读入的指令;所述控制器单元用于从指令存储单元读取指令,并将该指令译码成控制互连模块、主运算模块、以及从运算模块行为的控制信号,然后将各自的控制信号分发至各个模块;所述数据访问单元用于访问外部地址空间,完成数据的加载和存储;所述互连模块具有不同拓扑实现,用于将所述主运算模块的输入向量分发给所述多个从运算模块,以及将各从运算模块的计算结果合并后返回给主运算模块;所述主运算模块用于对所述互连模块返回的中间值进行激活函数、吉布斯采样,以及对激活函数的偏置的更新;所述从运算模块用于输入向量和相应权重矩阵的点积运算,输入向量中的相应分量标量和对应权重矩阵的乘积运算,以及权重矩阵的更新。
根据本公开的具体实施方式,所述主运算模块包括运算单元、数据依赖关系判断单元和存储单元,其中,所述存储单元用于缓存主运算模块在计算过程中用到的输入数据和输出数据,所述运算单元用于完成主运算模块的运算;所述数据依赖关系判断单元是所述运算单元和读写存储单元的端口,用于保证存储单元中数据的读写一致性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610267211.0/2.html,转载请声明来源钻瓜专利网。