[发明专利]基于自旋转移力矩磁存储器的神经网络处理方法及系统在审
申请号: | 201710182534.4 | 申请日: | 2017-03-24 |
公开(公告)号: | CN107103358A | 公开(公告)日: | 2017-08-29 |
发明(设计)人: | 韩银和;宋莉莉;许浩博;王颖 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 北京律诚同业知识产权代理有限公司11006 | 代理人: | 祁建国,梁挥 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 自旋 转移 力矩 磁存储器 神经网络 处理 方法 系统 | ||
技术领域
本发明涉及硬件神经网络模型计算加速领域,特别涉及一种基于自旋转移力矩磁存储器的神经网络处理方法和系统。
背景技术
深度神经网络是人工智能领域具有最高发展水平的感知模型之一,该类网络通过建立模型模拟人类大脑的神经连接结构,通过多个变换阶段分层对数据特征进行描述,为图像、视频和音频等大数据处理任务的应用带来了突破性进展。由于神经网络模型对环境噪声及信号完整性问题具有足够的鲁棒性,因此计算数据的部分丢失不会对计算结果产生灾难性影响,实现神经网络运算的神经网络处理器可被看做为一种近似计算处理器。
随着深度学习技术的快速进展,通用神经网络处理器深入到图像分类、语音识别、智能机器人等人工智能领域的不同应用领域,这些应用的共同特征为属于近似计算领域。该类应用通过采集海量数据集进行有效训练完成预测、分类等功能,而不过分依靠数值计算的准确性来得到最终结果,然而在嵌入式设备及小规模数据中心中,由于其系统结构特点及应用领域需求,处理器在实际工作时难以依托海量数据来实现高准确度计算的目的,因此通过近似计算方法,利用神经网络模型内在的精度容忍性实现高精度计算成为缓解片上资源、能耗、精度之间矛盾的行之有效方式。
神经网络模型应用过程中需要处理足够规模的数据集,这对存储系统的容量及访问速度同样提出了较高要求。基于CMOS技术的存储器是目前片上存储器设计的主流技术,例如静态随机存储器(SRAM)和动态随机存储器(DRAM)等。然而随着工艺尺寸及功耗问题的限制,CMOS存储器目前面临着严重的设计挑战,设计一款适应神经网络近似计算特点的存储器并以此存储器为基础搭建具有容错特征的神经网络处理器存储系统成为一项具有挑战性的任务。
发明内容
本发明针对神经网络处理中存在的运算数据规模大、片上资源需求高及电路能量消耗大等问题,提供一种基于自旋转移力矩磁存储器的神经网络处理方法和系统,采用多层自旋转移力矩磁存储器(STT-RAM,全称Spin Toque Transfer RAM)作为主存储器并根据多层STT-RAM多模式存储的特点,提出一种面向神经网络近似计算方法的数据映射结构及数据路径关断技术,在保证神经网络计算精度的前提下,减少了片上存储开销、降低了电路工作能耗。
具体来说,本发明公了一种基于自旋转移力矩磁存储器的神经网络处理方法,其中包括以下步骤:
步骤S1,从存储单元读取需要执行的操作指令,并根据该操作指令将待计算的输入数据写入该存储单元,并生成控制信号;
步骤S2,从该存储单元中获取该输入数据,结合该控制信号执行神经网络计算中的计算操作,产生中间计算数据和最终计算数据,并存入该存储单元;
其中该存储单元存储介质为多层自旋转移力矩磁存储器。
该基于自旋转移力矩磁存储器的神经网络处理方法,其中该存储单元具备多层单元存储模式、单比特存储模式和状态限制多单元存储模式,并根据神经网络处理规模及计算精度要求在上述三种存储模式之间切换,其中,
多层单元存储模式,每个存储单元内全部MJT均参与存储数据,数据位宽为2N;
单比特存储模式,每个存储单元内一半MJT参与存储数据,数据位宽为N;
状态限制多单元存储模式,每两个存储单元内四分之三MJT参与存储数据,数据位宽为二分之三N。
该基于自旋转移力矩磁存储器的神经网络处理方法,其中采用Q格式存储该操作指令、该最终计算数据和该中间计算数据,该Q格式的形式为Qn.m,其中n为二进制数小数的整数部分,m为二进制数小数的小数部分,且n+m=2N,2N为数据位宽。
该基于自旋转移力矩磁存储器的神经网络处理方法,其中步骤S1还包括在该输入数据写入该存储单元时,若该输入数据的位宽大于存储单元的数据位宽,则抛弃该输入数据中的低位数据,并在步骤S2中取消对于该低位数据的计算。
该基于自旋转移力矩磁存储器的神经网络处理方法,其中该计算操作包括向量乘加操作、池化操作和局部相应归一化操作。
本发明还公开了一种基于自旋转移力矩磁存储器的神经网络处理系统,其中包括以下单元:
控制单元,从存储单元读取需要执行的操作指令,并根据该操作指令将待计算的输入数据写入该存储单元,并生成控制信号;
计算单元阵列,包括多个计算单元,用于从该存储单元中获取该输入数据,结合该控制信号执行神经网络计算中的计算操作,产生中间计算数据和最终计算数据,并存入该存储单元;
其中该存储单元存储介质为多层自旋转移力矩磁存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710182534.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:异进制数编码
- 下一篇:一种基于混合云的可靠应用分配分布式遗传方法