机器怎么看? : CNN 的工作
How do machines see? Working of CNNs
视频链接: https://youtu.be/KvZPkucwGLw
机器学习和人工智能领域正在以人类历史上前所未有的方式彻底改变人类的能力。什么是可能的和什么是不可能的之间的界限正在迅速模糊。
计算机视觉就是这样一个正在发生巨大变化的领域。神经网络,尤其是卷积神经网络 (CNN) 是这一变化的核心。
CNN 的工作过程类似于人脑,特别是视觉皮层。人脑中的每个神经元都会对人脑特定部分的刺激做出反应。这些集合重叠形成完整的图像。
简而言之,每当我们看到一个物体时,我们大脑中的专门部分都会从该物体中提取视觉问题或特征。来自大脑不同部分的所有这些问题结合起来,帮助我们了解物体的全貌。
例如,当我们看到一头大象时,物体的曲率、结构的锐度等特定的微小层次特征和躯干、大耳朵和四只腿等宏观层次特征结合起来帮助我们想象完整的大象。
来自不同领域的工程师们努力模仿无生命物体的这种生物行为。为了实现这一点,CNN 由以下关键层组成:
- 卷积层
- 池化层
- 分类全连接层
- 引入非线性的激活函数
在应用上述任何过程之前,通过称为矢量化的特殊操作将图像转换为浮点数(分数)的形式。 CNNs 还可以减少图像的维度以使处理更容易。
卷积层(内核):
图像尺寸定义为 n1 X n2 X m,其中 n1 = 图像的高度,n2 = 图像的宽度,m 是通道数(RGB 图像为 3)。
定义为 1 和 0 矩阵的内核乘以输入图像的相应向量值,以用户定义的步幅沿图像移动。
Kernel
Image in 1s and 0s format
Convoluted Features
上面的绿色和黄色部分是整个图像。黄色部分是应用于图像 3 X 3 部分的内核。图像和内核的值相乘以生成特定窗口部分的卷积值。
1 X 1 + 1 X 0 + 1 X 1 + 1 X 0 + 1 X 1 + 0 X 0 + 1 X 1 + 0 X 0 + 0 X 1 = 4 右下角的卷积值如图所示红色矩阵。
内核从图像的左上角开始,以称为步幅的步长向右移动,直到覆盖整个图像。
卷积过程的目标是提取图像的高级和低级特征。这类似于人类大脑对它看到的物体所做的事情。
池化层:
池化层的首要目标是减少卷积图像的尺寸。这有利于提高过程的计算能力和提取图像的主要特征。
池化过程有两种类型:
- Max Pooling:这提供了内核覆盖的图像部分内的最大值
- 平均池化:这提供了内核覆盖的图像部分内的平均值
这也有助于抑制卷积图像中的噪声。 Max pooling 过程在噪声抑制方面可以比 Average Pooling 执行得更好,因为它忽略了没有给出提取特征的最高(最强)值的部分。
机器的处理能力有限,这一步有助于使流程在基础设施使用方面更有效率。
分类全连接层
卷积和池化层专注于从图像中提取特征。一旦特征被提取出来,它们就会被转发到全连接的分类层。分类层学习图像特征和期望输出之间的非线性关系。
二元交叉熵和分类交叉熵是CNN分类器在训练中广泛使用的两种损失函数。
在CNN的每一次学习迭代中,损失函数告诉逻辑它离期望值有多远
CNN的应用
现在,CNN 在我们的日常生活中被广泛使用。他们的一些用例包括:
运输 :
- 自动驾驶汽车
- 交通中的行人检测
- 车位占用检测
- 路况监测
卫生保健 :
- X 射线分析
- 癌症检测
制造业 :
- 缺陷检查
- 读取文本和条形码
农业 :
- 作物和产量监测
- 自动除草
- 植物病害检测
零售 :
- 自助结账
- 自动补货
一些流行的基于 CNN 的架构是 ResNet、GoogleNet、AlexNet 等。
人工智能领域处于萌芽阶段,未来将揭开怎样的奇迹,只有时间才能知道
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/39844/28192917
标签:怎么,池化层,机器,卷积,特征,内核,图像,CNN From: https://www.cnblogs.com/amboke/p/16742383.html