卷积网络的渐进式改进
杨立昆在2003年去了纽约大学后,仍继续开发他的视觉网络,现在被称为卷积网络(ConvNet)(见图9–2)。这个网络的基本结构是基于卷积的,卷积可以被想象成一个小的滑动滤波器,在滑过整张图像的过程中创建一个特征层。例如,过滤器可以是一个定向边缘检测器,就像第5章中介绍的那样,只有当窗口对准图像中具有正确方向或纹理的对象的边缘时,才会产生大数值输出。尽管第一层上的窗口只是图像中的一小块区域,但由于可以有多个滤波器,因此在每个图块中都能得到许多特征信息。第一层中与图像卷积的滤波器,与大卫·休伯尔和托斯坦·威泽尔在初级视觉皮层中发现的“简单细胞”类似(见图9–3)。[11] 更高层次的滤波器则对更复杂的特征做出响应。[12] 在卷积网络的早期版本中,每个滤波器的输出都要通过一个非线性的Sigmoid函数(输出从0平稳地增加到1),这样可以抑制弱激活单元的输出(见方框7.2中的Sigmoid函数)。第二层接收来自第一层的输入,第二层的窗口覆盖了更大的视野区域,这样经过多层之后,就会存在一些能接收整个图像输入的单元。这个最顶层就类似于视觉层级的顶层,在灵长类动物中被称为“下颞叶皮层”,并且具有覆盖大部分视野的感受野。接着,顶层的单元被送入分类层,与其中的所有分类单元连接,再采用反向传播误差的方式训练整个网络,对图像中的对象进行分类。
非线性层中的操作)。以上操作在网络的每个卷积层上重复。输出层与来自上一个卷积层的全部输入具有全面的连接(每个输出单元都有上一层全部单元的输入)。//图片来源:Yamins and DiCarlo,“Using Goal-Driven Deep Learning Models to Understand Sensory Cortex”,figure 1。
图片来源:Krizhevsky,Sutskever and Hinton,“ImageNet Classication with Deep Convolutional Neural Networks”,figure 3。
卷积网络多年来一直在经历许多渐进式改进。一个重要的补充,是将一个区域上的每个特征聚合起来,叫作“池化”(pooling)。这种操作提供了一种平移不变性(translation invariance)的量度,类似于由休伯尔和威泽尔在初级视觉皮层中发现的复杂细胞,能够通过一个图块对整个视野中相同方向的线做出响应。另一个有用的操作是增益归一化(gain normalization),就是调整输入的放大倍数,使每个单元都在其操作范围内工作,在皮层中是通过反馈抑制(feedback inhibition)实现的。Sigmoid输出函数也被线性整流函数(rectified linear units,简称ReLUs)取代。在输入达到一个阈值之前这些单元的输出都为零,超过阈值之后则输出和输入呈线性增长。该操作的优点在于:低于阈值的单元被有效地排除在网络外,这更接近真实神经元中阈值的作用。
卷积网络的每一个性能的改进,其背后都有一个工程师可以理解的计算理由。但有了这些变化,它越来越接近20世纪60年代我们所了解的视觉皮层的体系结构,尽管当时我们只能去猜测简单和复杂单元的功能是什么,或者层级结构顶部的分布式表征的存在意味着什么。这说明了生物学与深度学习之间存在相得益彰的共生关系的潜力。
本书评论