吴恩达深度学习笔记(81)-为什么使用卷积?(Why convolutions?)
我们探讨一下卷积为何在神经网络中应用广泛,接着简要说明如何组合这些卷积,以及怎样借助已标记的数据集来训练卷积神经网络。与单纯使用全连接层相比,卷积层有两个核心优点,分别是权重复用和连接稀疏,下面举例说明。
设想有一幅32×32×3维度的图像,该图像是先前课程中的范例kaiyun全站登录网页入口,假定运用了6个尺寸为5×5的滤波器,其结果维度为28×28×6。原始图像的元素总数为3072,处理后的数据量变为4704。我们设计了一个神经网络,其中一个部分有3072个节点,另一个部分有4074个节点,这两个部分的所有节点都相互连接,接着要确定权重矩阵,这个矩阵的维度是4074×3072,大约有1400万个数值,因此需要学习的参数数量非常庞大。
尽管当前的技术允许我们借助超过1400万个参数来训练网络,由于这张32×32×3尺寸的图像十分微小,因此训练如此庞大的参数量并不会构成困难。倘若这是一幅1000×1000的图像,那么权重矩阵的规模将会急剧膨胀。我们考察一下这个卷积层的参数总数,单个过滤器尺寸为5×5,每个过滤器包含25个参数kaiyun.ccm,另外还需加上一个偏差参数,因此每个过滤器总共有26个参数,整个层中共有6个过滤器kaiyun官方网站登录入口,所有参数加起来是156个,这个参数数量相对较少。
卷积网络映射这么少参数有两个原因:
一是参数共享。
注意到,特征识别例如竖直轮廓的探查,当它对图像某个部分有效时,往往对其他部分也适用。换言之,倘若采用3×3的模板来探查竖直轮廓,图像的左上角位置,以及邻近的各个位置(左侧矩阵中蓝色框标示的部分),都能应用这个3×3的模板。各个特征探测器与相应输出,均可在输入图像的各个位置采用相同配置,用以识别竖直轮廓或其它特性。
它既可用于处理初级特征,比如轮廓细节,也能够处理复杂特征,比如识别面部五官、猫咪等特定对象。即便降低参数数量,这九个参数依然能够产生十六个结果。
直接感觉是,一个特征探测器,比如垂直边缘探测器,用来识别图像左上角的细节,这些细节很可能也适用于图像的右下角部分。所以,在处理图像左上角和右下角时,无需再增加其他特征探测器。如果存在某个数据集,它的左上部分与右下部分或许存在差异,也许仅有轻微不同,却大体相似,所有图像都使用同一个特征检测器,识别效果相当理想。
第二个方法是使用稀疏连接
第二种方式是采用零散的关联,我来阐述下。这个0是经由3×3的卷积运算算出来的,它仅仅取决于那3×3的输入的格子,右边那个输出单元(元素0)仅和36个输入特征中的9个建立联系。其余的像素值都不会对结果造成作用,这就是零散关联的内涵(这个务必弄懂na,记住了)。
再来看一个案例,那个结果,就是右侧矩阵里被红色标出的数值30,它完全由那9个特性决定,这些特性位于左侧矩阵的红色框框内,看上去仅是这9个输入特性同结果存在关联,其余图像点对结果毫无作用。
神经网络借助两种途径压缩参数数量,使我们能够采用规模更小的数据集进行训练,以此来避免模型发生过度学习现象。
或许你们也听说过,卷积神经网路专精于识别位移不变性。仔细观察可知,若将图像向右平移两个单位,画面中的猫咪依然轮廓分明,原因在于神经网络特有的卷积构造,即便图像发生数个像素的偏移,其核心特征依然高度吻合,因此系统会判定它属于同一类别标签。
实际上,我们借助同一个筛选装置,获取各层级图像的全部像素数据,期望网络借助自主训练,提升其稳定性,从而更有效地实现预期的位移不变特性。
这就是卷积或卷积网络在计算机视觉任务中表现良好的原因。
最后,我们把这些层整合起来,看看如何训练这些网络。
比如我们要构建一个猫咪检测器,
我们这里有一个标记数据集,其中x代表一张图像,而^y则是一个二进制标签或者某种关键标识。
我们选择了一种卷积神经网络模型,输入图像,然后增加卷积单元和池化单元,接着加入全连接单元,最终得到一个softmax输出,也就是预测结果^y。
卷积层与全连接层各自拥有不同的权重w和偏置b,能够依据任意参数组合来构建损失函数。
一种与我们先前讨论过的代价函数相似的函数,需要随机设定其参数w和b,该代价函数J是神经网络针对全部训练样本预测误差的总和,随后除以m这个数值
因此优化神经网络,你需要借助梯度下降法,或者其它方法,比如带动量的梯度下降法,包含RMSProp等因子的梯度下降,来调整神经网络中所有参数,目的是使代价函数J的数值降低,借此你可以打造一个高效的猫咪识别器,或者其它识别器。
你已掌握卷积神经网络的核心组成单元,并且懂得怎样将这些单元融入高效的图像识别体系之中。
下周,我们将进一步研究卷积神经网络。我之前说过,卷积神经网络包含大量调节参数,下周,我准备介绍一些效果最佳的卷积神经网络范例,你可以试着分辨哪种网络结构性能更优。一般来讲,人们倾向于将文献中公开的架构用到自己的项目上。等下周看了更多实例,相信你会有更佳的判断。另外,下周我们将仔细探究卷积神经网络高效运作的缘由,并且会介绍部分新颖的计算机视觉用途,比如物体识别和神经风格转换,还有怎样借助这些方法创作出独特的艺术作品,期待再次与您相见!