首页 > 其他分享 >机器怎么看? : CNN 的工作

机器怎么看? : CNN 的工作

时间:2022-09-29 17:33:26浏览次数:66  
标签:怎么 池化层 机器 卷积 特征 内核 图像 CNN

机器怎么看? : 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

相关文章

  • 分布式机器学习中的数据并行(Data Parallelism)和模型并行(model parallelism)
    分布式机器学习中的数据并行(DataParallelism)和模型并行(modelparallelism)前言:现在的模型越来越复杂,参数越来越多,其训练集也在剧增。在一个很大的数据集集中训练一......
  • 开发说这个需求实现不了,怎么破?
    嗯,这个工作量比想象的要大,短期内实现不了设计的似乎不太合理,这次还是先不做吧感觉这个功能没有什么意义,以后再说吧……作为一名摸爬打滚N年的PM,与程序员相爱相杀的堪称一本......
  • 青龙面板-oneBot机器人
    node-onebot将机器人部署为独立的服务,通过http或ws与外界通信基于npm-oicq的QQ机器人Http-Apionebot(cqhttp)协议的实现当前master分支下的版本基本不会再有变化,及时更新......
  • 青龙面板-机器人守护
    pm2/screen守护程序,保活为了防止机器人掉线,我们使用守护程序守护oneBot机器人来保活。pm2或者screen选择一个即可。PM2是具有内置负载均衡器的Node.js应用程序的生产流......
  • 21.如果元素的某个属性是变化的怎么办?
    第一种方法:将这个元素变化的部分用“*”代替第二种方法:使用UI分析器选择其他的方法,比如选用CSS方式选择,技巧:如果这种方式定位到了同级的其他元素(比如两个span的第一个,我们......
  • 简历怎么写?
    参考链接超级简历(在线写简历)Java程序员如何写简历?黑马:自学的Java,简历应该怎么写?STAR法则场景:实习经历、项目经验。Situation背景:在什么情形下选择本次实践(可......
  • 探索优傲机器人丨UR10e在电子制造业的应用
    背景:随着时代发展,全球化已成为时代主题,电子产品受到广大消费者的追捧。电子制造产业是目前全球化、市场化最彻底的领域,追求高新技术和低廉成本是电子制造产业的发展趋势。我......
  • 英语不好怎么学python?这份python英语常用单词给我收好
    Python常用的英语单词就那么几个,多打就熟悉了说来好笑,我压根就没记英语单词…真的就是纯靠多打多练,毕竟打多了之后肌肉记忆就在那里了下面就给大家带来常用python清单......
  • Redis Stream实现全部节点机器推送消息
    背景有时候,在微服务时代,我们需要对全部的机器节点进行通知。在常规情况下,一个请求经过负载均衡只有一个机器可以收到。那么,如何能让全部的机器都收到同样的请求呢?需要借助......
  • 库存管理怎么防错?
    这个很好解决啊!一料一码,零件箱贴上二维码,严格按工单领料,如下图所示,先扫描工单,再扫描零件箱容器二维码,只有工单与零件匹配时制程、料件信息、数量才会显示,领料操作才能继续......