mit数据集_MIT的DNN硬件加速器教程(二)流行的DNN和数据集

本slide主要介绍当前流行的一些DNN以及数据集

slide链接

https://www.rle.mit.edu/eems/wp-content/uploads/2019/06/Tutorial-on-DNN-02-Popular-DNNs-datasets.pdf​www.rle.mit.edu

d79c8a12ab4f9ddfac0fe03cbda0d8f5.png

从“古老”的LeNet开始,AlexNet开启了近10年的深度学习热潮,ResNet当前非常火热,效果也很好。也可以参考阅读之前的文章的简单介绍,下面会进行详细介绍。

严忻恺:深度学习入门-深度学习(一)​zhuanlan.zhihu.com

dfc003fa683bd2c4dde861c78e85a8bd.png

MNIST数据集是最典型的手写数字识别数据集。它包含了数字0~9的10个类型,每个数字图片28x28的像素,有60000个训练集和10000个测试集

d61eb4cf10af894bc1897c76ea56fc70.png

709b856cf2472a32f690e3215e753e6a.png

LeNet-5是基于MNIST数据集的数字分类神经网络,由于层数不多所以还称不上是深度

4e5fc1d49033ff188f1092d0d1ed3fdc.png

IMAGENET是一个图像数据集,给个别人的介绍吧

ImageNet图像数据集介绍_网络资源是无限的-CSDN博客​blog.csdn.net
8838e368eef735349fed783a5e1135c4.png

基于Imagenet的图像识别比赛就是ILSVR,选出识别精度错误率最低的5名

AlexNet是ILSVRC12年的冠军,此网络一出甩开了传统图像识别精度一大截,也掀起了深度学习的热潮.

ebe28fcdd4432f635d9c2743d18d2283.png

AlexNet有5个卷积层,3个全连接层,使用ReLU作为激活函数。它的权重有61M个,乘加MAC有724M次。

66327f6a38600b6a0c394ad0ff049083.png

可以看到AlexNet有8层深度,前五层为卷积层,后三层为全连接层。

由于输入图像是彩色的有RGB三个通道,图像大小为224x224,即输入数据规模为224x224x3,对应L1层使用的filter大小为11x11x3,即对每个通道完成11x11的卷积。

L2层使用5x5的卷积,L3层~L5使用3x3对的卷积。

6786954d353e9a41225322fecba0cbcf.png

可以看到第一层的权重有11(R)x11(S)x3(C)x96(M)=34848=34k个,由于stride为4,可以迅速的减少输出特征图的大小;

根据当前层的M等于下一层的C,所以第一层输出的特征图共96组,AlexNet将分为两组,每组48个通道;两组共享权重,所以第二层的权重有5x5x48x256 =307200=307k个

依次类推,权重的总数量还是挺大的。

3819789235f444c40caf58fc9da814e6.png

图中详细给出了每一层使用的组件和每一层权重的个数。

e3a64d5dcd774b42449d6c49d58b426f.png

VGG-16是16层的VGG结构网络,也有19层版本的。VGG-16的权重个数为138M,乘加操作为15.5G个。相比于Alexnet,VGG网络层数更多,即深度更深。

cc9a1bfcc849b94c8a3733da42e55a4c.png

23149989509cce7dc61e4dc525f429c0.png

更深的网络也意味着更多的权重,所以使用多个较小的filter(比如3x3的卷积核)来完成一个大卷积,比一次使用一个大卷积核能少使用权重。比如5x5的卷积需要25个权重,而2个3x3的卷积只需要18个权重。

c7c90e0d596e3d085ad448705029298e.png

GoogleNetV1是ILSVRC14的关键,目前为止它还有v2、v3和v4的版本

57b0226d6fa1ea5cf2b5634ddfc3c442.png

GoogleLeNetV1总共有21层深度卷积层,但是总共有57个卷积层,这是因为它采用了每层在横向并行处理的方法而并不是一味加深深度。并且使用了1x1的卷积来减少权重和乘法的数量。

4c83610c2e65db410e1cbe7ad7fe1c04.png

使用1x1的卷积处理多个通道卷积,可以减少下一层的通道数量。这是因为虽然特征图大小没有改变,但是C张输入特征图经过1x1卷积后为1张输出特征图,这样的好处是存储压力可以极大的减少,还可以降低算力。

13487dfe192e02b5ee59decc3a1ff4c6.png

在大卷积之前使用1x1的卷积,可以减少权重和乘法次数,乘法数量从854M个减少到358M个。

7c791e483ac610dd767996e551427216.png

Resnet是ILSVRC15的冠军,它就更深了,达到了152层。不过效果也很明显,错误精度直接到了3.57%。

2e5c9c9d0ae1c046d68254c9b801aaed.png

训练和验证误差会随着层数的增加而增加,这是由于梯度消失带来的代价,为了解决这个问题,Resnet引入了残差块(short cut module)。

425f41d676066e5b45a53d4d49ae1d16.png

残差块的思路就是将很多层之间的特征图和当前层的进行相减得到残差值,再用残差值去更新神经网络,这样可以解决梯度消失的问题,也就可以将网络做的更深了。不过带来的问题就是要存储多层以前的数据。slide右边可以看到除了第一层是卷积层,最后一层是全连接层外,中间所有的层都是残差层。

d7afb314a5a58db40720782273a422ae.png

继承GooleNet的思路,也使用1x1的卷积来减少计算量和规模,从而使网络做的更深。

1729c38f86ceb35c62b6c818eb0d7855.png

比较一下讨论的以上网络的各个指标参数,会发现卷积层对各个指标的影响非常重大。

下面介绍几个近几年的高效网络。

f71192d1db489d9b9a7e18f5d86683df.png

DenseNet是17年提出的网络,它大量的使用了密集块。密集块的核心思想是将特征图concat(拼接合并,通道组,没有加法乘法操作)起来而不是加起来。

bf2e49cc42f37880bc842dad204c644c.png

它比Resnet有更高的精度,更少的权重数量和乘法数量。

0bda6ac5642e9230a54b8bc330f3a575.png

WideResNet是对ResNet网络的优化,核心思路是增加计算并行。因为它采用加宽而不是加深网络的方法,它采用了更宽的残差块,将152层的ResNet减少到了50层。因为相比于增加深度,增加宽度对并行计算来说更友好。

85b0c72ef0309f96a82c158229ac511e.png

ResNeXt采用了分组卷积的方式,它将一个残差块内部的实现分为32组来处理,分组卷积也可以减少计算量。

所以综上所述,我们可以总结出一些有效的提升DNN的方法。

83efd340c313f55e9614ca3b64b54713.png

1.使用1x1的卷积

29c2be793b00907eb132181f95230b8f.png

2.使用多个小卷积核来完成大的卷积

efbdbc5fea52209ee67df6375d8feba1.png

3.将通道和空间解耦合进行相关处理

193aa74349e594a9edeedd41e568482d.png

4.采用分组卷积,用合并操作代替来减少权重和乘法数量

9a51893bcabfc25738b337b7595829d4.png

不过这些都有效的方法也会带来一定的复杂度,比如存储代价等。所以我们设计神经网络的时候要在精度和复杂度之间选取平衡。

数据集

图像分类数据集,图像分类/识别,不用检测

b57b8bd5d11cfd092f89db292fd8ba53.png

现在的一些数据集

966d05cde03b4f6f75b86ad09590761f.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值