CNN 2.2 Classic Networks--经典的网络结构
三种经典的网络结构
- LeNet-5(1998)
- Alex Net(2012)
- VGG-16(2015)
都是大佬的作品,非常经典,有时间要拜读论文呀(每张网络结构图片上都有论文信息)
LeNet-5
LeNet-5的任务
识别手写数字,因为它是在灰度图像上训练,所以图片的维度是32x32x1。
LeNet-5的结构
最后一件以前做现在没有再做的事是 原始LeNet-5在池化后有非线性处理 我想应是池化层后用了sigmoid非线性 所以如果你读了这篇论文 这是一篇较难的论文 与随后一些视频中讲的论文相比 随后这篇论文更容易开始 这张幻灯片中大部分算法属于论文第二三章 后面几章讨论了其他想法 即图转换网络(GTN) 该网络现在已不再广泛使用 所以如果你想读这篇论文 我推荐多关注讨论LeNet-5结构的第二章 也可以快速看下第三章 第三章很有趣 讲了实验和结果
因为年代原因LeNet-5需要重新考虑的部分
- LeNet-5的池化层选用的是均值pooling,现在很少用均值pooling,大部分情况下都 是使用max pooling
- 在这篇文章完成的1998年,人们不怎么用填充或你总用有效卷积计算。这也就是为什么每次你用卷积层结果的尺寸都会缩小。所以这就是为什么这里你会得到从14乘14降到10乘10的结果,然后接着另一池化层,因此高和宽都以2的因子降低,然后得到5乘5的结果。
- 作为该网络结构的现代版,我们用softmax层来生成10个分类结果,尽管LeNet-5原先是用别的分类器做输出层,而这个分类器现在已经不用了。
- 那时候,人们用sigmoid和tanh非线性函数 而不用ReLU非线性函数。因此我们 读文章会发现提及的sigmoid和tanh。
- 因为计算力的问题,以现代标准来看这个网络级联的方式很有趣。例如你会发现 如果有一个nh乘nw乘nc的网络结构,其中nc是通道数,然后用f乘f乘nc维的滤波器,其中每个滤波器是处理了每一维通道,但那时计算机非常慢 为了节省计算量和参数数量,原始LeNet-5有种比较疯狂的计算方法 其中不同滤波器会处理输入块的不同通道。这篇文章会讲到这些细节,而现在先进些的应用则不会有这种复杂方法。
- 原始LeNet-5在池化后有非线性处理,应该是池化层后用了sigmoid非线性函数,现在已经不这样做了。
AlexNet
AlexNet的结构
AlexNet 以一作Alex Krizhevsky命名 另两位是Ilya Sutskever和Geoffrey Hinton
AlexNet和现在做法相同的点
- 用softmax输出结果 即目标可能是1000类中的哪一类
- 使用的是ReLU**函数
文章中提到的现在不需要特别关注的点
- 写这篇文章的时候 GPU还比较慢 因此该文有在两块GPU上训练的复杂方法 其中基本思想是 网络中很多层被分割到两块不同GPU上 两块GPU可以互相通讯 。
- 原始的AlexNet结构还有另一种层 叫做局部响应归一层(LRN) 这种层实际上用得很少。
AlexNet需要考虑的问题
AlexNet有个比较复杂的结构,有许多超参数。所以在哪放置这些参数,是必须要考虑的问题。
AlexNet的启发式贡献
在AlexNet之前,深度学习开始在语音识别和其他一些领域获得关注,但这篇文章让大部分计算机视觉领域的研究者开始认真对待深度学习,确信深度学习对计算机视觉有用。随后深度学习产生了巨大的影响力对计算机视觉和其他领域产生了巨大影响。
VGG-16
VGG-16的结构
VGG-16结构特别的地方
- 与大量的超参数不同,VGG-16结构更简单,更能关注卷积层即3乘3,步长为1,用相同填充的卷积滤波器。所有最大池化层滤波器都是2乘2,步长为2。VGG的优点是真正简化了神经网络结构。
- 该网络有16层带权重的层 这是个相当大的网络 该网络总共有1亿3千8百万个参数 即使以现在标准衡量也是很大了。