[发明专利]一种用于执行全连接层神经网络正向运算的装置和方法有效
申请号: | 201610270004.0 | 申请日: | 2016-04-27 |
公开(公告)号: | CN107315571B | 公开(公告)日: | 2020-07-31 |
发明(设计)人: | 刘少礼;兰慧盈;郭崎;陈云霁;陈天石 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;G06N3/063 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 吕雁葭 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 执行 连接 神经网络 正向 运算 装置 方法 | ||
本公开提供了一种用于执行人工神经网络全连接正向运算的装置,包括指令存储单元、控制器单元、数据访问单元、互连模块、主运算模块、以及多个从运算模块。使用该装置可以实现一层或多层人工神经网络全连接层的正向运算。对于每一层来说,首先对输入神经元向量进行加权求和计算出本层的中间结果向量,然后对该中间结果向量加偏置并激活得到输出神经元向量。将输出神经元向量作为下一层的输入神经元向量。
技术领域
本公开总体上涉及人工神经网络,具体地涉及一种用于执行全连接层人工神经网络正向运算的装置和方法。
背景技术
多层人工神经网络被广泛应用于模式识别,图像处理,函数逼近和优化计算等领域,多层人工网络在近年来由于其较高的识别准确度和较好的可并行性,受到学术界和工业界越来越广泛的关注。人工神经网络涉及到多种算法,其中全连接层作为人工神经网络中的一种重要算法,被广泛的应用在各种人工神经网络模型中。
一种支持多层人工神经网络全连接层的正向运算的已知方法是使用通用处理器。该方法通过使用通用寄存器堆和通用功能部件执行通用指令来支持上述算法。该方法的缺点之一是单个通用处理器的运算性能较低,无法满足通常的多层人工神经网络运算的性能需求。而多个通用处理器并行执行时,通用处理器之间相互通信又成为了性能瓶颈。另外,通用处理器需要把多层人工神经网络正向运算译码成一长列运算及访存指令序列,处理器前端译码带来了较大的功耗开销
另一种支持多层人工神经网络正向运算的已知方法是使用图形处理器(GPU)。该方法通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来支持上述算法。由于GPU是专门用来执行图形图像运算以及科学计算的设备,没有对多层人工神经网络运算的专门支持,仍然需要大量的前端译码工作才能执行多层人工神经网络运算,带来了大量的额外开销。另外GPU只有较小的片上缓存,多层人工神经网络的模型数据(权值)需要反复从片外搬运,片外带宽成为了主要性能瓶颈。
发明内容
本公开的一个方面提供了一种
一种用于执行全连接层神经网络正向运算的装置,包括互连模块、主运算模块、以及多个从运算模块,其中:
互连模块;
主运算模块用于实现人工神经网络全连接层算法中的函数激活运算;
从运算模块用于实现人工神经网络全连接层算法中的输入神经元和权值参数的乘法和加法运算;
其中,互连模块用于连接主运算模块和从运算模块,以在所述主运算模块和所述从运算模块之间的数据传输。
本公开的另一个方面提供了一种使用上述装置执行单层人工神经网络全连接层正向运算的方法。
本公开的另一方面提供了一种使用上述装置执行多层人工神经网络全连接层正向运算的方法。
本公开的另一方面提供一种采用以上任一所述的装置执行多层人工神经网络全连接层正向运算的方法,包括:采用主运算模块实现人工神经网络全连接层算法中的函数激活运算;采用从运算模块实现人工神经网络全连接层算法中的输入神经元和权值参数的乘法和加法运算;采用互连模块连接主运算模块和从运算模块,以在所述主运算模块和所述从运算模块之间的数据传输。
本公开还提供一种电子设备,包括以上任一所述的装置。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示出了根据本公开实施例的用于执行全连接层神经网络正向运算的装置的整体结构的示例框图。
图2示意性示出了根据本公开实施例的用于执行全连接层神经网络正向运算的装置中H树模块(互连模块的一种实施方式)的结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610270004.0/2.html,转载请声明来源钻瓜专利网。