从系列:深度学习简介
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中,只有一小部分的输入层神经元连接到隐藏层的神经元。这些区域被称为局部接受区。
局部接受域在图像上平移,形成从输入层到隐层神经元的特征映射。您可以使用卷积来有效地实现这个过程。这就是为什么它被称为卷积神经网络。我们要讨论的第二个概念是关于共同权重和偏见。
像典型的神经网络一样,CNN也有带有权重和偏差的神经元。模型在训练过程中学习这些值,并在每个新的训练示例中不断更新它们。而对于cnn,给定层中所有隐藏神经元的权值和偏差值是相同的。
这意味着所有隐藏的神经元都在检测图像不同区域的相同特征,比如边缘或斑点。这使得网络能够容忍图像中物体的平移。例如,一个经过训练的识别猫的网络将能够在图像中出现猫的时候这样做。
我们的第三个也是最后一个概念是激活和池。激活步骤使用激活函数对每个神经元的输出进行转换。校正线性单元(ReLU)是常用激活函数的一个示例。它获取神经元的输出并将其映射到最高正值。
或者,如果输出为负,则函数将其映射为零。您可以通过应用池步骤进一步转换激活步骤的输出。池通过将神经元小区域的输出压缩为单个输出来降低特征映射的维数。这有助于简化以下层,并减少段落的数量模型需要学习的仪表。
现在让我们齐心协力。使用这三个概念,我们可以在CNN中配置层。一个CNN可以有几十个或数百个隐藏层,每个隐藏层学习检测图像中的不同特征。在这个特征图中,我们可以看到每个隐藏层都增加了学习图像特征的复杂性。
例如,第一个隐藏层学习如何检测边缘,最后一个学习如何检测更复杂的形状。就像在典型的神经网络中一样,最后一层连接从最后一个隐藏层到输出神经元的每个神经元。这将产生最终输出。使用CNN进行图像分析有三种方法。
第一种方法是从头开始训练CNN。这种方法非常精确,尽管它也是最具挑战性的,因为您可能需要数十万张标记图像和大量计算资源。
第二种方法依赖于迁移学习,它基于这样一种理念,即你可以使用一类问题的知识来解决类似的问题。例如,你可以使用经过训练的CNN模型来识别动物,以初始化和训练区分汽车和卡车的新模型。
与第一种方法相比,这种方法需要更少的数据和更少的计算资源。使用第三种方法,您可以使用预先训练好的CNN来提取用于训练机器学习模型的特征。例如,学习了如何检测图像边缘的隐藏层与来自许多不同领域的图像具有广泛的相关性。这种方法需要最少的数据量和计算资源。
我希望您觉得这段视频很有用。有关更多信息,请访问MathWorks.com/deep-learning。
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。