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