卷积神经网络的直观解释

卷积神经网络的直观解释

参考文献: https://www.kdnuggets.com/2016/11/intuitive-explanation-convolutional-neural-networks.html/3



前言

提示:本文简单地介绍了什么是卷积神经网络及其工作原理:

综合起来——使用反向传播进行训练;
卷积+池化层充当输入图像的特征提取器,而全连接层充当分类器。


一、训练 ConvNet

注意,在下面的图15中 ,由于输入图像是一艘船,因此Boat类的目标概率为1,其他三个类的目标概率为0,即

输入图像 = 船
目标向量 = [0, 0, 1, 0]
训练 ConvNet
训练 ConvNet

二、步骤

卷积网络的整体训练过程可以总结如下:

步骤1: 我们用随机值初始化所有过滤器和参数/权重

步骤2: 网络将训练图像作为输入,执行前向传播步骤(卷积、ReLU 和池化操作以及全连接层中的前向传播),并找到每个类别的输出概率。
假设上面的船图像的输出概率是 [0.2, 0.4, 0.1, 0.3]
由于第一个训练示例的权重是随机分配的,因此输出概率也是随机的。

步骤3: 计算输出层的总误差(所有 4 个类的总和)
总误差 = Σ ½ (目标概率 – 输出概率) ²

步骤4: 使用反向传播计算网络中所有权重的误差梯度,并使用梯度下降更新所有滤波器值/权重和参数值,以最小化输出误差。
权重根据其对总误差的贡献按比例进行调整。
当再次输入相同的图像时,输出概率现在可能是[0.1,0.1,0.7,0.1],这更接近目标向量[0,0,1,0]。
这意味着网络已经学会通过调整其权重/滤波器来正确分类该特定图像,从而减少输出误差。
过滤器数量、过滤器大小、网络架构等参数在步骤 1 之前已全部固定,并且在训练过程中不会更改 - 仅更新过滤器矩阵和连接权重的值。

步骤5: 对训练集中的所有图像重复步骤2-4。
上述步骤 训练了 ConvNet——这本质上意味着 ConvNet 的所有权重和参数现在都已经过优化,可以正确地对训练集中的图像进行分类。
当新的(看不见的)图像输入到 ConvNet 时,网络将经过前向传播步骤并输出每个类别的概率(对于新图像,输出概率是使用经过优化以正确分类的权重计算的)所有之前的训练示例)。如果我们的训练集足够大,网络将(希望)很好地推广到新图像并将它们分类到正确的类别。

注 1:上述步骤过于简化,并且避免了数学细节,以便为训练过程提供直观的信息。请参阅[ 4 ]和[ 12 ]了解数学公式和透彻理解。

注 2:在上面的示例中,我们使用了两组交替的卷积层和池化层。但请注意,这些操作可以在单个 ConvNet 中重复任意多次。事实上,当今一些性能最好的 ConvNet 具有数十个卷积层和池化层!此外,没有必要在每个卷积层之后都有一个池化层。如下图 16所示,在进行 Pooling 操作之前,我们可以连续进行多个 Convolution + ReLU 操作。另请注意下面的图 16 中 ConvNet 的每一层是如何可视化的。
在这里插入图片描述
图 16:来源 [ 4 ]

三、可视化卷积神经网络

一般来说,我们拥有的卷积步骤越多,我们的网络能够学习识别的特征就越复杂。例如,在图像分类中,ConvNet 可以学习从第一层中的原始像素检测边缘,然后使用边缘来检测第二层中的简单形状,然后使用这些形状来阻止更高级别的特征,例如面部形状在较高层[ 14 ]。这在下面的图 17中得到了演示——这些特征是使用卷积深度置信网络学习的 ,该图包含在这里只是为了演示这个想法(这只是一个例子:现实生活中的卷积滤波器可能会检测到对人类没有意义的对象) 。

在这里插入图片描述
图 17:从卷积深度置信网络学习到的特征
Adam Harley 创建了在 MNIST 手写数字数据库上训练的卷积神经网络的令人惊叹的可视化效果 [ 13 ]。我强烈建议尝试使用它来了解 CNN 工作原理的细节。

我们将在下面看到网络如何针对输入“8”工作。请注意,图 18中的可视化并未单独显示 ReLU 操作。
在这里插入图片描述
图 18:可视化手写数字训练的 ConvNet

输入图像包含 1024 像素(32 x 32 图像),第一个卷积层(卷积层 1)由六个唯一的 5 × 5(步长 1)滤波器与输入图像卷积形成。如图所示,使用六个不同的滤波器产生深度为六的特征图。

卷积层 1 之后是池化层 1,它在卷积层 1 中的六个特征图上分别执行 2 × 2 最大池化(步幅为 2)。您可以将鼠标指针移到池化层中的任何像素上,并观察 4 x它在前面的卷积层中形成了 4 个网格(如图 19所示)。您会注意到 4 x 4 网格中具有最大值(最亮的像素)的像素将进入池化层。

在这里插入图片描述
图 19:可视化池化操作

池化层 1 之后是执行卷积运算的 16 个 5 × 5(步幅 1)卷积滤波器。接下来是池化层 2,它执行 2 × 2 最大池化(步幅为 2)。这两个层使用与上述相同的概念。

然后我们就有了三个全连接(FC)层。有:

第一 FC 层 120 个神经元
第二个 FC 层有 100 个神经元
第三个 FC 层中的 10 个神经元对应于 10 个数字 - 也称为输出层
请注意,在图 20中,输出层中的 10 个节点中的每一个都连接到第二个全连接层中的所有 100 个节点(因此称为全连接)。

另外,请注意输出层中唯一明亮的节点如何对应于“8”——这意味着网络正确地对我们的手写数字进行了分类(更亮的节点表示它的输出更高,即 8 在所有其他数字中具有最高的概率) )。

在这里插入图片描述
图 20:可视化完全连接的层

其他ConvNet架构
卷积神经网络自 20 世纪 90 年代初就已出现。我们上面讨论了 LeNet,它 是最早的卷积神经网络之一。下面列出了一些其他有影响力的架构[ 3 ][ 4 ]。

LeNet (1990s):本文已经介绍过。
1990 年代到 2012 年:从 90 年代末到 2010 年代初,卷积神经网络处于孵化期。随着越来越多的数据和计算能力的出现,卷积神经网络可以处理的任务变得越来越有趣。
AlexNet (2012) – 2012 年,Alex Krizhevsky(和其他人)发布了AlexNet,它是 LeNet 的更深、更宽的版本,并在 2012 年困难的 ImageNet 大规模视觉识别挑战赛 (ILSVRC) 中以大幅优势获胜。这项工作相对于之前的方法和当前 CNN 的广泛应用取得了重大突破。
ZF Net (2013) – ILSVRC 2013 的获胜者是 Matthew Zeiler 和 Rob Fergus 的卷积网络。它被称为ZFNet(Zeiler & Fergus Net 的缩写)。它是通过调整架构超参数对 AlexNet 进行的改进。
GoogLeNet (2014) – ILSVRC 2014 获胜者是Szegedy 等人的卷积网络。来自谷歌。它的主要贡献是开发了一个Inception 模块,该模块大大减少了网络中参数的数量(4M,而 AlexNet 为 60M)。
VGGNet (2014) – ILSVRC 2014 的亚军是后来被称为 VGGNet 的网络。它的主要贡献在于表明网络深度(层数)是良好性能的关键组成部分。
ResNets (2015) – 由 Kaiming He(和其他人)开发的残差网络是 ILSVRC 2015 的获胜者。ResNets 是目前为止最先进的卷积神经网络模型,并且是在实践中使用 ConvNets 的默认选择(截至 2016 年 5 月) )。
DenseNet(2016 年 8 月)——最近由高黄(和其他人)发表, 密集连接卷积网络的 每一层都以前馈方式直接连接到其他每一层。事实证明,在五个竞争激烈的对象识别基准任务中,DenseNet 比以前最先进的架构获得了显着改进。在这里查看 Torch 的实现。


总结

在这篇文章中,我试图用简单的术语解释卷积神经网络背后的主要概念。我过度简化/跳过了一些细节,但希望这篇文章能让您对它们的工作原理有一些直观的了解。

这篇文章最初的灵感来自于 Denny Britz 所著的Understanding Convolutional Neural Networks for NLP(我建议阅读该书),这里的许多解释都基于该文章。为了更彻底地理解其中一些概念,我鼓励您阅读斯坦福大学卷积网络课程 的注释 以及下面参考文献中提到的其他优秀资源。如果您在理解上述任何概念时遇到任何问题或有疑问/建议,请随时在下面发表评论。

本文中使用的所有图像和动画均属于其各自的作者,如下面的参考文献部分所列。

原帖:https://www.kdnuggets.com/2016/11/intuitive-explanation-convolutional-neural-networks.html/3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值