DNN硬件加速器设计2 -- Survey of DNN Development Resouces and DNN Hardware(MIT)

2.1 Survey of DNN Development Resources

        这里介绍一些基本的神经网络结构。它们是:在1998年提出的LeNet, 在2012年提出的AlexNet, 在2013年提出的OverFeat, 在2014年提出的VGGNet 和 GoogleNet, 在2015年提出的 ResNet。

(1) LeNet-5 -- 卷积神经网络的开山之作

图 1 LeNet-5

        图1所示为LeNet-5的网络结构图,LeNet-5应用于数字图像识别。整个网络包含2层卷积运算层,3层全连接运算层,2层池化运算层。网络的权值参数占用存储大小为431K, 乘加操作(MAC)次数为2.3M.这样的小网络,很适合用于硬件加速设计来练手用。

(2)AlexNet

图 2 AlexNet

        图2所示为AlexNet的网络结构图,相比于LeNet-5, 在AlexNet中,将Sigmod激活函数替换成了ReLU激活函数。使用ReLU激活函数不仅在计算方面比Sigmod更简单,而且可以克服Sigmoid激活函数在值接近于0或1时,出现的难以训练的问题。同时,AlexNet引入了Dropout方式用于解决在模型训练过程中容易出现过拟合的问题。

        整个AlexNet网络由5层卷积运算层,3层最大值池化运算层,3层全连接运算层组成,网络权值参数的存储大小为61M,乘加操作(MAC)次数为724M.

        这里值得一提的是,AlexNet中的归一化层(Normalization Layer)的类型就是Local Response Normalization(LRN)

表 1 

        表1所示为AlexNet网络中5层卷积运算层的相关配置参数信息。

(3)OverFeat(fast model)

 表 2

        OverFeat是早期经典的one-stage object Detection的网络算法。基于AlexNet网络,实现了识别,定位,检测共用同一个网络结构,获得了2013年ILSVRC定位比赛的冠军。OverFeat网络的主要创新点是multiscale, sliding window, offset pooling, 以及基于AlexNet的识别,定位和检测方法的融合。OverFeat网络由5层卷积运算层,3层全连接运算层,3层最大值池化运算层组成,其权值参数存储大小为144M,乘加操作数(MAC)为5.4G.

(4)VGG-16

图 3 VGG16 

        图3所示为VGG-16的网络结构,相比之前介绍的网络结构,直观的感受就是网络的层数更多了。VGG-16网络中由16层卷积运算层,3层全连接运算层,其权值参数存储大小为138M,乘加操作(MAC)次数为15.5G.在VGG-16中值得注意的结构特点是:VGG-16网络中的各个卷积运算层的卷积核的大小都是3x3的,因此,设计针对VGG-16的硬件加速器,其基本算子(PE)可以实现为3x3大小的DSP阵列,然后将多个PE组成大的处理阵列即可,不用考虑卷积核的大小变化,也很适合用于硬件加速器设计练手。

(5)GoogLeNet(v1)

 图 4 Inception module

        GoogleNet(v1)网络具有21层卷积运算层,1层全连接运算层,其权值参数的存储大小为7.0M,乘加操作(MAC)数为1.43G. GoogleNet网络的创新点是引入了如图4所示的Inception module的结构,将多个卷积运算结果concate在一起后,得到新的的特征图,用于下一阶段的数据输入。从硬件设计角度看,需要将多个运算过程独立出来,concate操作使用数据重排序来实现。

(6)ResNet-50

图 5 残差

        ResNet-50具有49层卷积运算层,1层全连接运算层,其权值参数存储大小为25.5M,乘加操作(MAC)数为3.9G. ResNet-50中引入了如图5所示的残差计算结构。随着网络的加深,出现了训练集准确率下降的现象,可以确定这不是由于Overfit过拟合造成的(过拟合的现象:训练集准确率应该很高)。针对这个问题提出了一种全新的网络结构,称为深度残差网络,允许网络尽可能的加深。残差指的是什么呢?其中ResNet提出了两种mapping:一种是identity mapping, 指的就是图中“弯的曲线”,数据 X,另一种residual mapping, 指的就是除了“弯的曲线”的部分,数据 F(x),所以最后的输出是y = F(x) + X. identity mapping 顾名思义,指本身,也就是公式中的X,而residual mapping指的是“差”,也就是y - x, 所以残差指的就是F(x)的部分。

        下表3所示为6种网络的具体相关评价参数:

 表 3

2.2 Survey of DNN Hardware

        对深度学习算法进行加速的硬件平台大致可以分为以下四类:

1) CPU; 2) GPU; 3) FPGA; 4) AISC(专用芯片)

(1)CPU

        CPU硬件平台的优点是软件生态好,易于算法的编程实现。缺点是因为CPU是面向通用运算事务处理设计的,因此,对于深度学习中的大量的各种矩阵向量运算,无法提供足够的硬件算力支持,同时,功耗也不利于移动式应用场景的使用。

(2)GPU

        GPU最初就是针对于图像渲染等图像处理算法设计的专用处理器。很适合用于进行矩阵向量计算,现今就是用GPU来加速深度学习算法。缺点是功耗和体积(散热需要),不利于嵌入式等移动式应用场景。

(3)ASIC(专用芯片)

        为了能在嵌入式应用场景下加速深度学习算法而专用设计的。优点是能够提供足够的算力和满足低功耗的需求。一个缺点是专用芯片研发周期长,同时深度学习算法日新月异,而专用芯片(ASIC)尽管可以设计成可配置的架构,但是也只能是适配某一种类型的算法结构。因此,专用芯片的另一个缺点就是相比不够灵活。

(4)FPGA

        FPGA,称为现场可编程门阵列。某种意义上来说,FPGA是上述其它三种硬件加速方案的折中而不是融合。因为,从硬件算力,功耗,价格(PPA)三个指标与以上三种硬件平台单独比较都不占绝对优势。但经过tradeoff后,是一种性价比很高的用于实现深度学习算法加速的硬件平台。(个人理解...)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值