卷积神经网络教程 (CNN) 使用 TensorFlow 在 Python 中开发图像分类器_第1页
卷积神经网络教程 (CNN) 使用 TensorFlow 在 Python 中开发图像分类器_第2页
卷积神经网络教程 (CNN) 使用 TensorFlow 在 Python 中开发图像分类器_第3页
卷积神经网络教程 (CNN) 使用 TensorFlow 在 Python 中开发图像分类器_第4页
卷积神经网络教程 (CNN) 使用 TensorFlow 在 Python 中开发图像分类器_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在这篇博客中,让我们讨论什么是卷积神经网络(CNN)以及

卷积神经网络背后的架构——旨在解决

图像识别系统和分类问题。

卷积神经网络在图像和视频识别、推荐系统和自然语言处理方面有着广泛的应用。我们将检查以下概念:计算机如何读取图像?为什么不是全连接网络?什么是卷积神经网络?卷积神经网络的起源卷积神经网络如何工作?卷积神经网络示例图像的卷积ReLu层池化层堆叠层数使用卷积神经网络预测图像用例:CIFAR10图像分类器计算机如何读取图像?考虑这张纽约天际线的图像,第一眼你会看到很多建筑物和颜色。那么计算机是如何处理这张图像的呢?图像分为3个颜色通道,即红、绿和蓝。每个颜色通道都映射到图像的像素。

然后,计算机识别与每个像素相关的值并确定图像的大小。然而,对于黑白图像,只有一个通道,概念是相同的。为什么不是全连接网络?当涉及到卷积神经网络时,我们无法使用全连接网络,原因如下!考虑下图:在这里,我们考虑了大小为28x28x3像素的图像输入。如果我们将其输入到卷积神经网络,则第一个隐藏层本身将有大约2352个权重。但这种情况并不实用。现在,看看这个:任何通用输入图像的大小至少为200x200x3像素。第一个隐藏层的大小变成了惊人的120,000。如果这只是第一个隐藏层,想象一下处理整个复杂图像集所需的神经元数量。这会导致过度拟合并且不切实际。因此,我们无法利用完全连接的网络。什么是卷积神经网络?卷积神经网络与神经网络一样,由具有可学习权重和偏差的神经元组成。每个神经元接收多个输入,对它们进行加权求和,将其传递给激活函数并以输出响应。整个网络具有损失

函数,我们为神经网络开发的所有提示和技巧仍然适用于卷积神经网络。很简单,对吧?神经网络,顾名思义,是一种模仿大脑结构的机器学习技术。它由称为神经元的学习单元网络组成。这些神经元学习如何将

输入信号

(例如猫的图片)转换为相应的

输出信号

(例如标签“猫”),形成自动识别的基础。我们以自动图像识别为例。确定图片是否包含猫的过程涉及

激活函数。如果图片与神经元之前见过的猫图像相似,“猫”标签就会被激活。因此,神经元接触到的标记图像越多,它就越能学会如何识别其他未标记的图像。我们称之为训练神经元的过程

。卷积神经网络的起源神经网络的智能是不可思议的。虽然Rosenblatt早在20世纪60年代就开始研究人工神经网络,但直到2000年代末,使用神经网络的深度学习才开始兴起。关键的推动因素是计算能力和数据集的规模,而谷歌在深度学习方面的开创性研究。2012年7月,谷歌的研究人员将先进的神经网络暴露于从​网络上截取的一系列未标记的静态图像视频。令他们惊讶的是,他们发现神经网络自己学习了一个猫检测神经元,这支持了“互联网是由猫组成的”这一流行说法。卷积神经网络如何工作?

在卷积神经网络中我们应该理解四个分层概念:

卷积,热卢,汇集和全连接(全连接层)。让我们首先看一个简单的例子:CNN示例:考虑下图:这里,有X和O的多种演绎。这使得计算机很难识别。但目标是,如果输入信号看起来像以前看过的图像,“图像”参考信号将混合到输入信号中,或与输入信号进行卷积。然后将所得的输出信号传递到下一层。因此,计算机可以理解每个像素。在本例中,白色像素为-1,而黑色像素为1。这正是我们在基本二元分类中实现区分像素的方法。现在,如果我们通常搜索并比较普通图像和另一个“x”再现之间的值,我们会得到很多丢失的像素。那么,我们该如何解决这个问题呢?我们采用称为过滤器的小块像素并尝试匹配

将它们放在相应的附近位置,看看我们是否得到匹配。通过这样做,卷积神经网络在发现相似性方面比直接尝试匹配整个图像要好得多。图像的卷积卷积具有平移不变性的良好特性

。直观上,这意味着每个卷积滤波器代表一个感兴趣的特征(例如字母中的像素),并且卷积神经网络算法学习哪些特征构成最终的参考(即字母表)。我们有4个卷积步骤:将特征和图像对齐将每个图像像素乘以相应的特征像素将值相加并求出总和将总和除以特征中的像素总数考虑上图-正如您所看到的,我们已经完成了前2个步骤。我们考虑了一张特征图像和其中的一个像素。我们将其与现有图像相乘,并将乘积存储在另一个缓冲区特征图像中。通过这张图片,我们完成了最后2个步骤。我们将得出总和的值相加。然后,我们将该数字除以特征图像中的像素总数。完成后,获得的最终值将放置在滤波图像的中心,如下所示:

现在,我们可以移动这个

滤镜,并对图像中的任何像素执行相同的操作。为了更清楚起见,让我们考虑另一个例子:如您所见,执行前4个步骤后,我们的值为0.55!我们采用该值并将其放置在图像中,如前所述。这是在下图中完成的:类似地,我们将特征移动到图像中的每个其他位置,并查看该特征如何与该区域匹配。因此,完成此操作后,我们将得到输出:这里我们只考虑一种过滤器。类似地,我们将与其他每个过滤器执行相同的卷积以获得该过滤器的卷积。输出信号强度不取决于特征所在的位置,而仅取决于特征是否存在。因此,字母表可能位于不同的位置

,卷积神经网络算法仍然能够识别它。ReLU层ReLU是一种激活函数。但是,什么是激活函数?整流线性单元(ReLU)变换函数仅在输入高于一定量时才激活节点,而输入低于零时,输出为零,但当输入上升到一定阈值以上时,与输入呈线性关系。因变量。考虑下面的例子:我们考虑了一个具有上述值的简单函数。因此,只有当该值是由因变量获得时,该函数才会执行操作。对于本示例,获得以下值:为什么这里需要ReLU?主要目的是消除卷积中的所有负值。所有正值保持不变,但所有负值都更改为零,如下所示:因此,在处理这个特定功能后,我们得到以下输出:现在,类似地,我们也对所有其他特征图像执行相同的过程:来自卷积层的输入可以被“平滑”,以降低滤波器对噪声和变化的敏感性。

这种平滑过程称为

子采样,可以通过对信号样本取平均值或取最大值来实现。池化层在这一层中,我们将图像堆栈缩小到更小的尺寸。池化是在经过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论