来自系列:深度学习简介
Shyamal Patel,Mathworks
Johanna Pingel,Mathworks
在这个MATLAB中探索卷积神经网络(cnn)背后的基础知识®技术讨论。广义上讲,卷积神经网络是一种常见的深度学习架构——但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国家网站未优化您的位置。