开发者社区> 【方向】> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

卷积神经网络导览

简介: 关于卷积神经网络最重要的概念都在这里!
+关注继续查看

这篇文章旨在以全面和简洁的方式介绍卷积神经网络(CNN),目标是建立对这些算法的内部工作的直观理解。因此,这项工作对于刚从这个主题开始的非数学、非计算机科学背景的读者来说意味着特别有价值。

我写这篇文章的灵感来自于我正在参加的Fast.ai课程'Code Deeprs For Coders v3',导师Jeremy Howard鼓励我们在博客上讲述我们学到的东西。我在这里分享的知识来自于阅读各种材料和参加不同的课程的成果,目的是在以医学影像的学生研究项目。这些帖子的主要部分取自我最近完成的这篇论文。

在旅程开始之前,必须采取一些预防措施来对卷积神经网络进行透视。机器学习(ML)是计算机科学的子领域,通过具有学习能力的算法解决问题。“学习”通过内部组件的自动优化一个称为参数的权重。适用于ML的问题是两种形式的预测:回归-连续值的预测以及分类-通过类成员预测将对象细分为不同的组。

深度学习(DL)又是ML的子域,通过将具有特定架构的算法(称为神经网络)应用于机器学习问题来区分。这种架构的灵感来自于自然界中的神经网络,并且包括-稍微简化-表示连接不同神经元的计算单元和边缘以及确保信息流动的神经元。其中存在多种不同类型的神经网络:人工神经网络(ANN),专门用于处理表格数据;用于时间序列数据的递归神经网络(RNN),如语音和卷积神经网络(CNN),特别适用于图像数据。有了这些基础知识,我们就可以开始研究后一种类型了。

“解剖”CNN

a03cd382eb5a2be1e95bce6386440c8de43664a2

图1.示例图

图1是网络的循环示例图,它的灵感来自LeNet(LeCun等,1998)第一个CNN架构。虽然CNN之间的特定架构不同,但它们的特征在于都有该示例网络所涵盖的规定元素。该算法旨在解决二元分类问题,例如猫与狗之间的区别。

在这一点上,重要的是该图和紧接着的用于为演练创建框架。因此,不需要完全理解和熟悉所有术语。这些更深入的理解在即将到来的部分中逐渐形成,图1将作为便于读者大致的参考。

图1中可以看出,网络被细分为前向和后向传递。在前向传递期间,数据通过不同的层(图1:彩色箭头)。由二维阵列表示的输入图像(图1:左空矩形)被提供给给出名称的卷积层。该层识别输入数据上的轮廓和形状,并输出一组特征图(图1:垂直条纹矩形)。最大池层成为卷积层的成功之处,它成功的消除了无关紧要的部分,从而缩小了数据。

此后,数据通过平均池化操作,将图像数据转换为矢量,进入完全连接的层(图1:水平条纹矩形)。这些图层在此向量中标识特定于类的模式,并在此基础上预测输入数据的类成员资格。

到目前为止,还没有学习过,因为这是在向后传递中完成的。首先,通过损失函数量化分类误差,基于损失函数的结果,通过反向传播和梯度下降来优化前述层中的参数。很明显更高的迭代次数,即输入更多训练样本图像,是实现正确分类结果所必需的。完整训练数据集通过模型的点称为epoch。

线性整流函数和最大池化

5f217ad09214201b29ac7fd59be4f04e28141fe4

图2卷积操作

术语“卷积”描述了特定类型的矩阵计算,其中称为滤波器的特殊目的矩阵应用于输入图像,如图2所示。滤波器(3x3矩阵)通常是较小的矩阵,在卷积运算中,它被放置在图像的子部分上:(图2中的3x3青色图像子集)。每对相应值的元素乘法和随后对所有乘积的进行求和,产生单个输出值。换句话说,图像子集的左上角值与滤波器的左上角值相乘,顶部中间值与相应的顶部中间值相乘,最后所有乘积都相加。之后,滤波器以滑动窗口的方式在输入图像的每个拟合子集上执行上述计算的图像上移动。得到的输出值被收集在称为特征图的输出矩阵中,其中特征图中的输出值的位置(图2:青色顶部中间值)对应于计算中涉及的输入图像子集的位置。

过滤器在图像上的移动方式取决于步幅和填充。一个步骤描述了每个卷积运算将滤波器移动一个像素,从而产生更小的特征图(图2:步幅s=1)。通过向图像的外边界添加零像素来抵消特征图的尺寸减小,称为填充(图2:填充=0)。在卷积操作期间,大多数单独的滤波器应用于输入图像,从而产生每个滤波器的特征图(图2:滤波器和特征图后面的多个silhouttes)。换句话说,卷积层输出与其滤波器计数对应的一叠特征映射。

4e0eed716f142816d9120c5b69f2f2b94b33d715

图3.卷积操作

可以将滤波器视为专用轮廓检测​​器,并且得到的特征图报告检测位置。如果过滤器放置在包含边缘的图像子部件上,它会将其转换为特征图中的高值。换句话说,高特征映射值表示特定位置处的输入图像中的轮廓检测。该过程如图3所示:如果过滤器到达由黄色和绿色框标记的子部分,则识别基础轮廓。因此,特征图也可以被视为图像并相应地可视化。

ab50d82aa6635923bae61dfc854fc3f6f02f2596

图4.卷积操作示例结果

图4显示出了对输入图像应用滤波器(图4:底行)以进行垂直或水平边缘检测的结果。

 

bba6d2e736f6b259b8433922f5d253372676cb1b

图5.学习后的过滤器,来自Zeiler和Fergus,2014年

过滤器值是权重、是学习的参数。它们在后向传递期间不断优化,同时更多的数据通过网络。通过这种方式,实现了调整过程:过滤器学习识别输入图像中可用的特定元素,并且可以将其可视化为图片本身。而早期图层中的过滤器(图5:左)将学习基本像素,如轮廓,后期图层中的过滤器(图5:右)将连接上游特征,并学习更复杂的构造,例如眼睛甚至脸部( Zeiler和Fergus,2014)。因此,可以小心地将滤波器与视觉皮层神经元的感受野进行比较。

f5668fa6a969a26ea53a84af86a3b66893151cd3

图6.整流线性单元(ReLU)

这个被称为线性整流单元(ReLU)的函数应用于输出特征图(图6)。在令人生畏的名称下隐藏了一个简单的阈值步骤:零以下的所有值都归零。

4fc93d91085fa8310a37a8250bafd98d5e163339

图7.最大池

阈值化的特征图被移交给最大池化层(图7)。这里,虽然类似于卷积,但实际上发生了更简单的矩阵计算。过滤器再次以滑动窗口方式放置在要素图子集上,并提取子集的最高值,将它们保留在精简输出要素图中。目的是丢弃多余的数据:没有表示任何轮廓检测的值被划掉,而空间信息大致保留,这导致较低的计算成本。

灵感和参考

  • Jeremy Howard和Fast.ai深入学习编码器;
  • Andrew Ng和deeplearning.ai的神经网络和深度学习
  • LeCun,Y.,Bottou,L.,Bengio,Y.,Haffner,P.,1998。基于梯度的学习应用于文档识别
  • Zeiler,MD,Fergus,R.,2014。可视化和理解卷积网

本文由阿里云云栖社区组织翻译。
文章原标题《a-guided-tour-through-a-convolutional-neural-network

作者:marvin petersen

译者:虎说八道,审校:。
文章为简译,更为详细的内容,请查看原文

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
迁移学习实践 深度学习打造图像的别样风格
神经风格传递的原理是定义两个距离函数,一个描述两幅图像的内容如何不同,一个描述两幅图像之间的风格差异。然后,给定三个图像,一个期望的样式图像,一个期望的内容图像,和输入图像(用内容图像初始化),我们尝试转换输入图像,以最小化与内容图像的内容距离和它与样式图像的样式距离
0 0
数字图像处理课程设计---基于CNN(卷积神经网络)的医学影像识别
医学影像的识别(recognition)、分割(segmentation)和解析(parsing)是医学影像分析的核心任务。医学影像识别是指识别医学图像中的目标。理论上,目标的识别并不需要对目标进行检测或定位;但是实际上,通常会结合检测和定位去辅助完成目标识别。一旦完成识别,或检测,即得到了目标的最小外包矩形框(bounding box),就可以通过分割的任务寻找目标物体的精确边界。当图像中存在多个目标物体时,对多个目标的分割就变成了语义解析的任务,即对2D图像或3D图像中的像素赋予语义标签(Semantic Labels)。通过将同一目标的像素或体素打上相同的标签,就完成了对该目标的分割。
0 0
AI教父Hinton胶囊模型又出新作——胶囊如何表示视觉层次结构
AI教父Hinton胶囊模型又出新作——胶囊如何表示视觉层次结构
0 0
【图像识别】白天鹅黑天鹅灰天鹅?卷积神经网络帮你识别
本文将通过一系列的天鹅图片来解释卷积神经网络(CNN)的概念,并使用CNN在常规多层感知器神经网络上处理图像。
1398 0
时间卷积网络(TCN)在 NLP 多领域发光,RNN 或将没落
我们一开始认为,时序问题(如语言、语音等等)天生就是 RNN 的地盘。然而现在这一观点要成为过去式了。时间卷积网络(Temporal Convolutional Nets, TCNs)作为 CNN 家族中的一员健将,拥有许多新特性,如今已经在诸多主要应用领域中击败了 RNN。
5377 0
Neurons字幕组 | 2分钟看AI通过2D照片设计出面部3D模型(附论文下载)
来吧,和Neurons一起,玩点不一样的AI! 还记得童年的哆啦A梦系列为我们带来的神奇工具“六面相机”吗?当你拍摄物体的时候,获得的不只是物体在一个角度上二维平面的投影,而是6个不同角度的照片。虽然看上去特别不可思议,但仍然限于二维平面的图像。
1225 0
卷积神经网络实战(可视化部分)——使用keras识别猫咪
在近些年,深度学习领域的卷积神经网络(CNNs或ConvNets)在各行各业为我们解决了大量的实际问题。但是对于大多数人来说,CNN仿佛戴上了神秘的面纱。我经常会想,要是能将神经网络的过程分解,看一看每一个步骤是什么样的结果该有多好!这也就是这篇博客存在的意义。
21546 0
+关注
【方向】
欢迎各位对内容方向及质量提需求,我们尽量满足,将国外优质的内容呈现给大家!
文章
问答
文章排行榜
最热
最新
相关电子书
更多
达摩院通义视觉生成大模型
立即下载
利用CNN实现无需联网的图像识别
立即下载
人工智能时代下的视觉合成
立即下载