CNN - 入门教程

CNN - 入门教程 首页 / TensorFlow入门教程 / CNN - 入门教程

卷积神经网络是在神经网络中进行图像分类和图像识别的技术之一。它旨在通过多层阵列处理数据。这种类型的神经网络可用于图像识别面部识别之类的应用中。 CNN与其他神经网络之间的主要区别在于CNN将输入作为二维数组。它直接在图像上运行,而不是像其他神经网络那样专注于特征提取。

Introduction of Convolutional Neural Network in TensorFlow

CNN的主要方法包括识别问题的解决方案。一些公司,例如 Google Facebook ,已经在涉及识别项目的领域进行了研发,以更快地完成活动。

场景标签,目标检测和面部识别等是卷积神经网络工作的领域。

卷积神经网络(CNN或ConvNet)是一种前馈人工网络,其神经元之间的连通性模式受动物视觉皮层的组织启发。

CNN起源

 Rosenblatt 1960年代的早期就对人工神经网络进行了研究,但直到 2000年代才进行了研究。使用神经网络进行深度学习的浪潮开始了。关键推动因素是Google开展深度学习研究的计算能力和数据集的规模。在 2012年7月中,Google的研究人员向从YouTube视频中切出的一系列未标记的静态图像公开了高级神经网络。

计算机如何读取图像?

图像分为3个颜色通道,分别是红色绿色蓝色。这些颜色通道中的每一个都映射到图像的像素。

Introduction of Convolutional Neural Network in TensorFlow

一些神经元在暴露于顶点边缘时触发,并且当示出水平或对角线边缘时的一些。 CNN利用输入数据存在的空间相关性。神经网络的每个并发层连接一些输入神经元。该地区称为本地接受领域。本地接受领域侧重于隐藏的神经元。

隐藏的神经元在提到的字段内处理输入数据,而不实现特定边界之外的更改。

CNN层数

  • 卷积层
  • ReLU层
  • 池层
  • 密集层

卷积层

卷积层是从输入图像派生特征的第一层。卷积层通过使用输入数据的小方块学习图像特征来保存像素之间的关系。这是数学运算,需要两个输入,例如图像矩阵任何过滤器

  • 图像矩阵的尺寸为 h×w×d
  • 任何过滤器的尺寸为 f h ×f w ×d
  • 输出维度为(h-f h +1)×(w-f w +1)×1
Introduction of Convolutional Neural Network in TensorFlow

ReLU层

ReLU变换函数仅在输入量超过一定数量时激活节点。当数据低于零时,输​​出为零,但是当输入高于某个阈值时。它与因变量具有线性关系。

在这一层中,无涯教程从过滤的图像中删除每个负值,然后将它们替换为零。

Introduction of Convolutional Neural Network in TensorFlow

池化层

池化层在任何图像的预处理中都起着至关重要的作用。当图像太大时,池化层会减少参数的数量。合并是从上一层获得的图像的"缩小比例" 。可以将其与缩小图像进行比较以降低图像的密度。空间池化也称为下采样和子采样,它们降低了每个映射的维数,但仍然是必不可少的信息。这些是以下类型的空间池。

为此,执行以下4个步骤:

  • 选择一个窗口大小(通常是2或3)
  • 挑选 stride (通常是2)
  • 在过滤后的图像上浏览窗口
  • 在每个窗口中取最大值

最大池化

最大池化是一个基于样本的离散化过程。最大池化的主要目标是缩小输入表示的比例,减小其尺寸并允许对合并的子区域中包含的特征进行假设。

通过在初始表示的非重叠子区域中应用max过滤器,可以完成max pooling。

Introduction of Convolutional Neural Network in TensorFlowIntroduction of Convolutional Neural Network in TensorFlow

平均池化

缩小比例将通过将输入划分为矩形池区域并计算每个区域的平均值来通过平均池来执行。

layer = averagePooling2dLayer(pool Size)
layer = averagePooling2dLayer(poolSize, Name, Value)

汇总池

汇总池平均池的子区域设置与最大池的子区域相同,但是不使用max函数,而是使用sum或意思。

在这一层中,将图像堆栈缩小为更小的步长;

无涯教程网

  1. 选择窗口大小(通常为2或3)
  2. 大步前进(通常2次)
  3. 在窗口中筛选出的图像。
  4. 在每个窗口中取最大值。

用窗口尺寸两个和步幅执行汇集。

链接:https://www.learnfk.comhttps://www.learnfk.com/tensorflow/convolutional-neural-network-in-tensorflow.html

来源:LearnFk无涯教程网

密集层

完全连接的层(密集层)是一个层,其中来自其他层的输入将被压入向量中。它将把输出转换成任何所需数量的类到网络中。

Introduction of Convolutional Neural Network in TensorFlow

在上图中,借助完全连接的图层,将映射矩阵转换为向量,例如 x1,x2,x3 ... xn 。无涯教程将结合函数来创建任何模型,并应用激活函数,例如 softmax Sigmoid ,以将输出分类为汽车,狗,卡车等。

Introduction of Convolutional Neural Network in TensorFlow

这是实际分类的最终结果。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

左耳听风 -〔陈皓〕

后端技术面试 38 讲 -〔李智慧〕

.NET Core开发实战 -〔肖伟宇〕

OAuth 2.0实战课 -〔王新栋〕

容器实战高手课 -〔李程远〕

数据分析思维课 -〔郭炜〕

业务开发算法50讲 -〔黄清昊〕

林外 · 专利写作第一课 -〔林外〕

徐昊 · AI 时代的软件工程 -〔徐昊〕

好记忆不如烂笔头。留下您的足迹吧 :)