[发明专利]一种卷积神经网络运算指令及其方法有效
申请号: | 201710903509.0 | 申请日: | 2016-04-29 |
公开(公告)号: | CN107704267B | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 陈天石;韩栋;陈云霁;刘少礼;郭崎 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;G06N3/063;G06N3/04 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 卷积 神经网络 运算 指令 及其 方法 | ||
1.一种卷积神经网络运算指令,其特征在于,所述卷积神经网络运算指令包括:至少1个操作码和至少1个操作域,其中,
所述操作码用于指示所述卷积神经网络运算指令的功能,所述操作域用于指示所述卷积神经网络运算指令的数据信息;
其中,所述卷积神经网络运算指令包括:COMPUTE指令、CONFIG指令、IO指令、NOP指令、JUMP指令和MOVE指令;
所述COMPUTE指令包括:卷积神经网络sigmoid指令、卷积神经网络TanH指令、卷积神经网络ReLU指令以及卷积神经网络group指令;
所述卷积神经网络sigmoid指令,用于在装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后根据所述sigmoid指令将输出结果做sigmoid激活;
所述卷积神经网络TanH指令,用于在装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后根据所述TanH指令将输出结果做TanH激活;
所述卷积神经网络ReLU指令,用于在装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后根据所述ReLU指令将输出结果做ReLU激活;
所述卷积神经网络group指令,用于装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,划分group之后,在卷积运算部件中做卷积操作,然后根据所述group指令将输出结果做激活;
所述COMPUTE指令,用于指引装置进行非线性激活和线性激活操作;
所述CONFIG指令,用于指引装置在每层人工神经网络计算开始前配置当前层计算需要的各种常数;
所述IO指令,用于指引装置实现从外部存储空间读入计算需要的输入数据以及在计算完成后将数据存回至外部存储空间;
所述NOP指令,用于指引装置清空当前装置内部所有控制信号缓存队列中的控制信号;
所述JUMP指令,用于指引装置实现控制流的跳转;
所述MOVE指令,用于指引装置内部地址空间中某一地址的数据搬运至内部地址空间的另一地址;
所述数据信息包括:立即数或寄存器号,具体包括:输入数据的起始地址和数据长度,卷积核的起始地址和数据长度,以及激活函数的类型。
2.根据权利要求1所述的运算指令,其特征在与,所述存储器为高速暂存存储器。
3.一种卷积神经网络运算指令的运算方法,其特征在于,所述方法包括如下步骤:
读入卷积神经网络运算指令并存储读入的卷积神经网络运算指令,
读取所述卷积神经网络运算指令,将所述卷积神经网络运算指令译成控制信号;所述卷积神经网络运算指令包括:至少1个操作码和至少1个操作域,其中,
所述操作码用于指示所述卷积神经网络运算指令的功能,所述操作域用于指示所述卷积神经网络运算指令的数据信息;
所述数据信息包括:立即数或寄存器号,具体包括:输入数据的起始地址和数据长度,卷积核的起始地址和数据长度;所述数据信息还包括:激活函数的类型;
执行所述卷积神经网络运算指令的读写操作,执行所述卷积神经网络运算指令实现所述输入数据与所述卷积核的卷积运算得到卷积运算结果;
将输入数据输送到每个运算模块,获取每个运算模块依据输入数据以及各自的卷积核计算得到的输出标量,将每个运算模块的输出标量拼成中间向量,将所有的输入数的中间向量拼接成中间结果,并对所述中间结果执行后续运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710903509.0/1.html,转载请声明来源钻瓜专利网。