不懂卷积神经网络?别怕,看完这几张萌图你就明白了!

人工智能 深度学习
这篇文章用最简明易懂的方式解释了卷积神经网络(CNN)的基本原理,并绕开了里面的数学理论。

这篇文章用最简明易懂的方式解释了卷积神经网络(CNN)的基本原理,并绕开了里面的数学理论。

同时,如果想对从头开始构建CNN网络之类的问题感兴趣,作者推荐去读《 Artificial Intelligence for Humans Volume 3: Deep Learning and Neural Networks》中第10章节的内容。

不多说了,开始CNN之旅——

网络结构

CNN的模型通常建立在前馈神经网络模型之上,它的结构你也应该不陌生。不同是的,“隐藏层”将被以下这些层取代:

  • 卷积层(Convolutional Layers)
  • 池化层(Pooling Layers)

全连接层(稠密层,Dense Layers)

结构类似下图:

 

 

 

 

卷积

在此阶段,输入图像被一个grid扫描,并作为输入传递到网络。之后,这个网络将一层卷积层应用于输入的图像,将它分割成包含3张图像的三维立方体结构。这3三张图像个框架分别呈现原图的红色、绿色和蓝色信息。

随后,它将卷积滤波器(也称神经元)应用到图像中,和用PhotoShop中的滤镜突出某些特征相似。例如在动画片《Doc And Mharti》中,用罗伯茨交叉边缘增强滤波器处理过的效果如下图所示:

 

 

 

 

原图

 

 

 

 

处理后

可以想象,拥有100多个不同滤波器的神经网络筛选复杂特征的能力有多强大,这将大大助力它识别现实世界中事物。一旦神经网络已经将卷积滤波器应用到图像中,我们就能得到特征/激活图。

特征图谱会被指定区域内的特定神经元激活,比如我们将边缘检测滤波器添加到下面左图中,则它的激活图如右图所示:

 

 

 

 

这些点代表0的行(表明这些区域可能是边缘)。在二维数组中,“30”的值表明图像区域存在边缘的可能性很高。

激活层

当我们有了激活图,就能在其中让激活函数大显身手了,我们用研究人员的***函数——ReLU激活函数(修正线性单元)举个例子。然而,一些研究人员仍然认为用Sigmoid函数或双曲切线能得到提供***的训练结果,但我不这么认为。

使用激活层是在系统中引入非线性,这样可以提高输入和输出的一般性。ReLU(x)函数只返回max(0、x)或简单地返回激活图中的负权值。

池化层

之后的***做法通常是在特征图中应用***池化(或任何其他类型的池)。应用***池化层的原理是扫描小型grid中的图像,用一个包含给定grid中***值的单个单元替换每个grid:

 

 

 

 

这样做的重要原因之一是,一旦我们知道给定特征在一个给定的输入区域,我们可以忽略特征的确切位置将数据普遍化,减少过拟合。举个例子,即使训练精度达到99%,但拿到没见过的新数据上测试时,它的精确度也只有50%。

输出层

***池化层后我们讲讲剩下的另一个激活图,这是传递给全连接网络的一部分信息。它包含一个全连接层,将上一层中每个神经元的输出简单映射到全连接层的一个神经元上,并将softmax函数应用到输出中,就是和我们之前提到的ReLU函数类似的激活函数。

因为我们将用神经网络将图片分类,因此这里使用了softmax函数。softmax输出返回列表的概率求和为1,每个概率代表给定图像属于特定输出类的概率。但后来涉及到图像预测和修复任务时,线性激活函数的效果就比较好了。

值得注意的是,讲到这里我们只考虑了单卷积层和单池层的简单情况,如果要实现***精度通常需要它们多层堆叠。经过每个完整的迭代后,通过网络反向根据计算损失更新权重。 

责任编辑:庞桂玉 来源: 机器学习算法与自然语言处理
相关推荐

2017-08-07 11:36:04

神经网络数学BP

2021-06-22 09:46:52

神经网络人工智能深度学习

2022-02-18 06:56:18

Wi-Fi路由器局域网

2019-12-25 10:45:30

Java悲观锁

2019-12-19 17:00:01

Java线程

2020-02-08 16:46:29

微服务架构复杂

2022-02-25 07:07:04

扩展坞电脑笔记本

2020-01-09 15:30:32

微服务架构互联网

2020-10-08 18:53:54

以太网Etheme网卡

2017-09-07 10:19:30

PC台式机行业

2017-05-04 18:30:34

大数据卷积神经网络

2022-04-07 09:01:52

神经网络人工智能

2017-07-04 11:26:37

2018-01-17 09:32:45

人工智能卷积神经网络CNN

2017-07-12 16:56:42

卷积神经网络结构数据CNN

2017-07-05 15:42:58

卷积神经网络Non-Euclide计算机视觉

2020-01-06 08:40:11

阿里场景服务

2021-08-26 11:10:42

架构运维技术

2019-01-05 08:40:17

VGG神经网络

2022-10-11 23:35:28

神经网络VGGNetAlexNet
点赞
收藏

51CTO技术栈公众号