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