从系列:深度学习介绍
Shyamal Patel MathWorks
Johanna Pingel, MathWorks
在这个Matlab中探索卷积神经网络(CNNS)后面的基础知识®技术谈话。广泛地,卷积神经网络是一个常见的深度学习架构 - 但究竟是什么是CNN?此视频会缩小此时将复杂的概念变为易于理解的零件。您将了解3个概念:本地接收领域,共享权重和偏见,以及激活和汇集。
本视频将这三个概念结合在一起,向您展示如何在卷积神经网络中配置层。
您还将学习3种训练卷积神经网络用于图像分析的方法。其中包括:1。)从头开始训练模型;2.)使用迁移学习(基于你可以用一种问题的知识来解决一个类似的问题的想法);3.)使用预先训练的CNN提取特征来训练机器学习模型。
了解有关使用MATLAB的更多信息深度学习.
记录:2017年3月24日
卷积神经网络或CNN,是深度学习的网络架构。它直接从图像中学到。CNN由几个图层组成,该层处理和转换输入以产生输出。
您可以培训CNN进行图像分析任务,包括场景分类,对象检测和分割以及图像处理。为了了解CNNS如何工作,我们将介绍三个关键概念:本地接收领域,共享权重和偏见,并激活和汇集。
最后,我们将简要讨论培训用于图像分析的三种方法。
让我们从局部接受域的概念开始。在典型的神经网络中,输入层中的每个神经元都与隐藏层中的一个神经元相连。然而,在一个CNN中,只有一小部分的输入层神经元连接到隐藏层的神经元。这些区域被称为局部接受区。
局部接收字段在图像上翻译,以从输入层创建特征映射到隐藏的层神经元。您可以使用卷积有效地实现此过程。这就是为什么它被称为卷积神经网络。我们将讨论的第二个概念是关于共享权重和偏见。
与典型的神经网络一样,CNN具有重量和偏差的神经元。该模型在培训过程中学习这些值,并且它将其与每个新培训示例连续更新。然而,在CNNS的情况下,对给定层中的所有隐藏神经元的权重和偏置值是相同的。
这意味着所有隐藏的神经元在图像的不同区域中检测到相同的特征,例如边缘或斑点。这使得网络容忍图像中对象的翻译。例如,训练识别猫的网络将能够在猫在图像中进行。
我们的第三个也是最后一个概念是激活和汇集。激活步骤使用激活函数对每个神经元的输出进行变换。整流线性单元(ReLU)是一种常用的激活函数。它获取一个神经元的输出并将其映射到最大值。
或者,如果输出为否定,则该功能将其映射到零。您可以通过应用池步骤来进一步转换激活步骤的输出。汇集通过将小区域的输出冷凝成单个输出来减少特色地图的维度。这有助于简化以下层次,并减少模型需要了解的参数数。
现在让我们一起把它拉起来。使用这三个概念,我们可以配置CNN的层。一个CNN可以有数十或数百个隐藏层,每个层都学习检测图像中的不同特征。在这个feature map中,我们可以看到每一个hidden layer都会增加学习到的图像feature的复杂度。
例如,第一个隐藏图层了解如何检测边缘,最后了解如何检测更复杂的形状。就像在典型的神经网络中一样,最终层将每个神经元连接到输出神经元的最后一个隐藏层。这会产生最终输出。有三种方法可以使用CNN进行图像分析。
第一种方法是从头开始训练CNN。这种方法是高度精确的,尽管它也是最具挑战性的,因为您可能需要数十万标记的图像和大量的计算资源。
第二种方法依赖于转移学习,这是基于您可以使用一种类型的问题来解决类似问题的想法。例如,您可以使用已培训的CNN模型,以识别动物以初始化和培训一种区别在汽车和卡车之间的新模型。
这种方法比第一种方法需要更少的数据和计算资源。对于第三种方法,您可以使用预先训练的CNN来提取特征,以训练机器学习模型。例如,一个已经学会如何检测图像边缘的隐藏层与来自许多不同领域的图像广泛相关。这种方法需要的数据量和计算资源最少。
我希望你发现这个视频有用。有关更多信息,请访问MathWorks.com/Deep-Learning。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。