[发明专利]面向压缩卷积神经网络的并行卷积运算方法及装置有效

专利信息
申请号: 201710077750.2 申请日: 2017-02-13
公开(公告)号: CN106951395B 公开(公告)日: 2018-08-17
发明(设计)人: 陈锋;陈艇 申请(专利权)人: 上海客鹭信息技术有限公司
主分类号: G06F17/15 分类号: G06F17/15;G06N3/04
代理公司: 上海汉声知识产权代理有限公司 31236 代理人: 郭国中
地址: 201799 上海市青*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 面向 压缩 卷积 神经网络 并行 运算 方法 装置
【说明书】:

发明提供了一种面向压缩卷积神经网络的并行卷积运算方法及装置,包括:根据输入控制信号卷积数据移位链长度选择、累加偏移量使能以及卷积计算使能决定所采用的操作方式。采用两条串行移位寄存器链,分别输入卷积数据和卷积参数与通道偏移量,在同一输入卷积数据流同时进行3×3和1×1卷积运算。本发明的方法在原有的基于串行移位寄存器链的3×3卷积运算的基础上仅仅增加了一个乘法器、一个累加器、一个参数寄存器和一个偏移量寄存器,实现方法简单,执行效率高,能够有效加快压缩神经网络算法中卷积运算。本发明中的装置可通过简单的硬件单元扩展和复制,可同时输出多个特征图,功耗低、功能单元利用率高,处理速率快的优点。

技术领域

本发明涉及数字信号处理以及专用硬件加速器领域,具体地,涉及面向压缩卷积神经网络的并行卷积运算方法及装置。

背景技术

近年来,卷积神经网络(Convolutional Neural Network,CNN)在深度学习中取得了重大的进展。最著名的是在2012年Alex Krizhevsky等人提出了一个经典的CNN计算结构AlexNet,在图像分类和识别中获得了巨大成功。如图1所示,AlexNet的输入为一个3通道的227×227图片数据,其整个处理过程总共包括8层运算,前五层为卷积层,后三层为全连接层,其中第一层卷积采用3×11×11宽度的卷积核,卷积核个数为96,第二层卷积采用96×5×5宽度的卷积核,卷积核个数为256,余下三层卷积都采用不同通道数的3×3宽度卷积核。AlexNet的总参数量超过了8MB,并且单通道卷积核大小不一致,运算复杂,不适合在存储器和计算资源受限的平台上实现。在AlexNet取得成功后,研究人员又提出了其他的更为完善和优化的方法,其中最著名结构有ZFNet[2013年],VGGNet[2014年],GoogleNet[2015年]和SqueezeNet(压缩卷积神经网络)[2016年]等,它们从性能和资源使用率等不同的方面进行优化,不同的CNN结构具有不同的卷积层数、通道维度、卷积核大小、以及每一层卷积核个数等。其中SqueezeNet主要是为了降低CNN模型的参数数量而设计的,它将整个网络封装成多级Fire模块,如图2所示,Fire模块是它的核心构件,将原来AlexNet简单的一层卷积变成两层:压缩层(squeeze)和扩展层(expand),并各自带上Relu激活层。在Squeeze层里全是1×1的卷积核;在expand层里面有数量相等的1×1和3×3的卷积核,expand层之后将1×1和3×3的卷积输出特征图(feature maps)在通道维度拼接起来。SqueezeNet通过将部分3×3卷积替换成1×1的卷积核,将卷积核参数缩小至2MB,相对于AlexNet,其性能并没有明显下降,使得SqueezeNet能够在FPGA和DSP等存储资源受限的设备上高效运行。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海客鹭信息技术有限公司,未经上海客鹭信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710077750.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top