[发明专利]编码存储装置及方法、处理器及训练方法有效
申请号: | 201810486460.8 | 申请日: | 2018-05-18 |
公开(公告)号: | CN110147872B | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编码 存储 装置 方法 处理器 训练 | ||
1.一种卷积神经网络的编码存储装置,包括:存储模块和编码模块,该编码模块包括比较器和编码器;其中,所述比较器用于将激活层的输入数据与一参照数据进行比较,所述编码器用于根据比较结果对所述激活层的输入数据或输出数据进行编码,其中,所述参照数据为一预设常数或激活层的输出数据,所述编码采用0/1编码或多值编码或占用多位存储空间的编码方式;
所述存储模块用于存储编码结果。
2.根据权利要求1所述的编码存储装置,其中,所述存储模块还用于存储所述比较结果和存储激活函数的参数α,将所述编码结果存储在特征映射图中。
3.根据权利要求1至2中任一项所述的编码存储装置,其中,
所述参照数据为激活层的输出数据,若激活层的输入数据与输出数据相等,则将输出数据编码为1;否则,编码为0;或
所述参照数据为一常数,该常数取0,若输入数据大于0,则将输入数据编码为1;否则,编码为0。
4.根据权利要求1或2所述的编码存储装置,其中,所述编码采用0/1编码、以位为单位进行存储。
5.一种卷积神经网络的处理器,其包括如权利要求1至4中任一项所述的编码存储装置,还包括:
计算模块,用于进行来自前向传播的运算和来自反向传播的运算;其中,在前向传播时,所述计算模块用于根据所述激活层的输入数据计算经由激活函数处理得到的所述激活层的所述输出数据;在反向传播时,所述计算模块用于根据编码结果对偏导数进行运算处理。
6.根据权利要求5所述的处理器,还包括:I/O模块,用于激活层与相邻层之间的数据传递,存储模块与计算模块之间的数据传递,以及编码存储装置的数据输入与输出。
7.根据权利要求5或6所述的处理器,其中,根据所述激活层的输入数据计算经由激活函数处理得到的所述激活层的所述输出数据,具体计算公式如下:
f(x)=max(x,αx),其中,x表示激活层的输入数据,f(x)表示激活层的输出数据,α表示所述激活函数的参数;
式中,所述激活函数为线性整流函数(Rectified Linear Unit,ReLU)或带泄露整流函数(Leaky Rectified Linear Unit,Leaky ReLU)。
8.根据权利要求7所述的处理器,其中,所述激活函数为线性整流函数,α取值在0~0.35的范围内。
9.根据权利要求5或6所述的处理器,其中,在反向传播时,所述计算模块用于根据编码结果对偏导数进行运算处理:若编码结果为1,则对当前偏导数dy不做运算处理,直接将dy传递给I/O模块;若编码结果为0,则将当前偏导数dy与所述激活函数的参数α相乘,得到dy1,并把所得dy1传递给I/O模块。
10.一种卷积神经网络的编码存储方法,包括:
将激活层的输入数据与一参照数据进行比较,其中,所述参照数据为一预设常数或激活成的输出数据;
根据比较结果对所述激活层的输入数据或输出数据进行编码,其中,所述编码采用0/1编码或多值编码或占用多位存储空间的编码方式,以及
存储编码结果。
11.根据权利要求10所述的卷积神经网络的编码存储方法,还包括:存储所述比较结果激活函数的参数α,将所述编码结果存储在特征映射图中。
12.根据权利要求10至11中任一项所述的卷积神经网络的编码存储方法,其中,
所述参照数据为输出数据,若激活层的输入数据与输出数据相等,则将输出数据编码为1;否则,编码为0;或
所述参照数据为一常数,该常数取0,若输入数据大于0,则将输入数据编码为1;否则,编码为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810486460.8/1.html,转载请声明来源钻瓜专利网。