一种用于执行卷积神经网络训练的装置和方法
摘要文本
本公开提供了一种执行卷积神经网络训练的装置和方法,其中装置部分包括了互连模块、主运算模块、以及多个从运算模块。对于每一层来说,首先对输入神经元向量依据卷积窗口进行数据选择,然后依据选择得到的来自前一层的数据和来自后一层的数据梯度作为本装置运算单元的输入,计算并且更新卷积核,其次依据卷积核、数据的梯度以及激活函数的导函数,计算得到本装置输出的数据梯度,并且存入存储器以输出给前一层进行反向传播计算。本公开将参与计算的数据和权重参数暂存在高速暂存存储器上,使得可以更加灵活有效地支持卷积神经网络反向运算,提升包含大量访存应用的执行性能。
申请人信息
- 申请人:中科寒武纪科技股份有限公司
- 申请人地址:100190 北京市海淀区科学院南路6号科研综合楼644室
- 发明人: 中科寒武纪科技股份有限公司
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种用于执行卷积神经网络训练的装置和方法 |
| 专利类型 | 发明授权 |
| 申请号 | CN202010164111.1 |
| 申请日 | 2016年4月29日 |
| 公告号 | CN111310904B |
| 公开日 | 2024年3月8日 |
| IPC主分类号 | G06N3/084 |
| 权利人 | 中科寒武纪科技股份有限公司 |
| 发明人 | 陈云霁; 支天; 刘少礼; 郭崎; 陈天石 |
| 地址 | 北京市海淀区科学院南路6号科研综合楼644室 |
专利主权项内容
1.一种卷积神经网络训练的装置,包括存储单元、寄存器单元和卷积神经网络反向训练运算单元,其中:存储单元,用于存储输入神经元数据、输出神经元数据、输入神经元数据梯度、输出神经元数据梯度和卷积核;所述寄存器单元,用于存储输入神经元数据存储的地址、输出神经元数据存储的地址、输入神经元数据梯度存储的地址、输出神经元数据梯度存储的地址和卷积核存储的地址;所述卷积神经网络反向训练运算单元,用于依据卷积核,从当前层的正向时输入神经元数据中选择出对应待运算的输入神经元数据,依据卷积窗口,从当前层的前一层的输出数据中选取出对应本层运算模块的输入数据,然后依据这部分输入数据和来自当前层的后一层的数据梯度执行向量乘向量运算,在卷积窗口遍历完数据后,对向量乘向量运算的结果进行求和,得到该卷积核对应的梯度,依据卷积核对应的梯度更新卷积核;所述卷积神经网络反向运算的指令包括:卷积神经网络group指令,根据该指令,分别从数据访问单元的指定地址取出指定大小的输出神经元数据梯度和卷积核,划分group之后,在卷积神经网络反向训练运算部件中做卷积操作,然后将输出结果做激活。