【深度学习架构】CNN与RNN与ANN——分析深度学习中的3种神经网络
视频号
微信公众号
知识星球
介绍
本文将向您介绍深度学习中的3种不同类型的神经网络,并教您何时使用哪种类型的神经网来解决深度学习问题。它还将以易于阅读的表格格式向您展示这些不同类型的神经网络之间的比较!
目录
- 介绍
- 为什么选择深度学习?
- 深度学习中不同类型的神经网络
- 什么是人工神经网络?我们为什么要使用它?
- 什么是递归神经网络(RNN)?我们为什么要使用它?
- 什么是卷积神经网络(CNN)?我们为什么要使用它?
为什么选择深度学习?
这是一个中肯的问题。机器学习算法并不短缺,那么为什么数据科学家应该倾向于深度学习算法呢?神经网络提供了传统机器学习算法所没有的什么?
我看到的另一个常见问题是——神经网络需要大量的计算能力,那么使用它们真的值得吗?虽然这个问题有细微差别,但这里有一个简短的答案——是的!
深度学习中不同类型的神经网络,如卷积神经网络(CNN)、递归神经网络(RNN)、人工神经网络(ANN)等,正在改变我们与世界互动的方式。这些不同类型的神经网络是深度学习革命的核心,为无人机、自动驾驶汽车、语音识别等应用提供动力。
人们很自然地会想,难道机器学习算法就不能做到这一点吗?研究人员和专家倾向于选择深度学习而不是机器学习的两个关键原因是:
- 决策边界
- 特性工程
好奇的很好——让我解释一下。
1.机器学习与深度学习:决策边界
每个机器学习算法都学习从输入到输出的映射。在参数模型的情况下,算法学习具有几组权重的函数:
Input -> f(w1,w2…..wn) -> Output
在分类问题的情况下,算法学习分离两个类的函数——这被称为决策边界。决策边界有助于我们确定给定的数据点属于正类还是负类。
例如,在逻辑回归的情况下,学习函数是一个Sigmoid函数,它试图分离两个类:
逻辑回归的决策边界
正如您在这里看到的,逻辑回归算法学习线性决策边界。它无法学习像这样的非线性数据的决策边界:
非线性数据
类似地,每种机器学习算法都不能学习所有的函数。这限制了这些算法可以解决的涉及复杂关系的问题。
2.机器学习与深度学习:特征工程
特征工程是模型构建过程中的关键一步。这是一个分两步进行的过程:
- 特征提取
- 特征选择
在特征提取中,我们提取问题陈述所需的所有特征,在特征选择中,我们选择提高机器学习或深度学习模型性能的重要特征。
考虑一个图像分类问题。从图像中手动提取特征需要对主题和领域有很强的了解。这是一个极其耗时的过程。得益于深度学习,我们可以自动化特征工程的过程!
Comparison between Machine Learning & Deep Learning
既然我们理解了深度学习的重要性,以及为什么它超越了传统的机器学习算法,让我们进入本文的核心。我们将讨论用于解决深度学习问题的不同类型的神经网络。
如果您刚刚开始学习机器学习和深度学习,这里有一门课程可以帮助您完成旅程:
深度学习中不同类型的神经网络
本文关注三种重要类型的神经网络,它们构成了深度学习中大多数预训练模型的基础:
- 人工神经网络 (ANN)
- 卷积神经网络(CNN)
- 递归神经网络 (RNN)
让我们详细讨论每个神经网络。
什么是人工神经网络?我们为什么要使用它?
单个感知器(或神经元)可以想象为逻辑回归。人工神经网络(Artificial Neural Network,简称ANN)是一组位于每一层的多个感知器/神经元。ANN也被称为前馈神经网络,因为输入仅在正向方向上进行处理:
正如你在这里看到的,人工神经网络由3层组成——输入、隐藏和输出。输入层接受输入,隐藏层处理输入,输出层产生结果。从本质上讲,每一层都试图学习某些权重。
如果你想了解更多关于人工神经网络如何工作的信息,我建议你阅读以下文章:
人工神经网络可用于解决与以下方面相关的问题:
- 表格数据
- 图像数据
- 文本数据
人工神经网络的优点
人工神经网络能够学习任何非线性函数。因此,这些网络通常被称为通用函数逼近器。神经网络有能力学习将任何输入映射到输出的权重。
普遍近似背后的主要原因之一是激活函数。激活函数为网络引入了非线性特性。这有助于网络学习输入和输出之间的任何复杂关系。
Perceptron
正如你在这里看到的,每个神经元的输出是输入的加权和的激活。但是等等——如果没有激活功能会发生什么?网络只学习线性函数,永远无法学习复杂的关系。这就是为什么:
激活函数是人工神经网络的强大动力!
人工神经网络面临的挑战
当使用ANN解决图像分类问题时,第一步是在训练模型之前将二维图像转换为一维向量。这有两个缺点:
- 可训练参数的数量随着图像大小的增加而急剧增加
ANN: Image classification
在上述场景中,如果图像的大小是224*224,那么在仅有4个神经元的第一隐藏层处的可训练参数的数量是602112。太棒了!
- 人工神经网络失去了图像的空间特征。空间特征是指图像中像素的排列。我将在以下章节中详细介绍这一点
Backward Propagation
因此,在非常深的神经网络(具有大量隐藏层的网络)的情况下,梯度在向后传播时消失或爆炸,这导致梯度消失和爆炸。
- 人工神经网络不能捕获输入数据中处理序列数据所需的序列信息
现在,让我们看看如何使用两种不同的架构来克服MLP的局限性——递归神经网络(RNN)和卷积神经网络(CNN)。
什么是递归神经网络(RNN)?我们为什么要使用它?
让我们首先从架构的角度来理解RNN和ANN之间的区别:
神经网络隐藏层上的循环约束转化为RNN。
正如您在这里看到的,RNN在隐藏状态上有一个循环连接。这种循环约束确保在输入数据中捕获顺序信息。
您应该通过以下教程来了解更多关于RNN如何在后台工作的信息(以及如何在Python中构建RNN):
我们可以使用递归神经网络来解决与以下相关的问题:
- 时间序列数据
- 文本数据
- 音频数据
递归神经网络(RNN)的优点
RNN捕获输入数据中存在的顺序信息,即在进行预测时文本中单词之间的相关性:
正如您在这里看到的,每个时间步长的输出(o1,o2,o3,o4)不仅取决于当前单词,还取决于前一个单词。
- RNN在不同的时间步长上共享参数。这通常被称为参数共享。这导致需要训练的参数更少,并降低了计算成本
Unrolled RNN
如上图所示,3个权重矩阵——U、W、V,是所有时间步长共享的权重矩阵。
递归神经网络(RNN)面临的挑战
深度RNN(具有大量时间步长的RNN)也存在消失和爆炸梯度问题,这是所有不同类型的神经网络中常见的问题。
正如你在这里看到的,在最后一个时间步长计算的梯度在到达初始时间步长时消失。
什么是卷积神经网络(CNN)?我们为什么要使用它?
卷积神经网络(CNN)目前在深度学习社区风靡一时。这些CNN模型被用于不同的应用程序和领域,在图像和视频处理项目中尤为普遍。
细胞神经网络的构建块是过滤器,也就是内核。核用于使用卷积运算从输入中提取相关特征。让我们试着了解使用图像作为输入数据的过滤器的重要性。使用过滤器对图像进行卷积会生成特征图:
卷积的输出
想了解更多关于卷积神经网络的信息吗?我建议您完成以下教程:
你也可以报名参加美国有线电视新闻网的免费课程,了解更多关于它们的信息:从头开始的卷积神经网络
尽管卷积神经网络被引入来解决与图像数据相关的问题,但它们在顺序输入上的表现也令人印象深刻。
卷积神经网络(CNN)的优点
- CNN在没有明确提及的情况下自动学习过滤器。这些过滤器有助于从输入数据中提取正确的相关特征
CNN–图像分类
- CNN从图像中捕捉到空间特征。空间特征是指图像中像素的排列及其之间的关系。它们帮助我们准确地识别物体、物体的位置以及它与图像中其他物体的关系
在上面的图像中,我们可以通过观察眼睛、鼻子、嘴巴等特定特征很容易地识别出这是人脸。我们还可以看到这些特定特征是如何排列在图像中的。这正是细胞神经网络能够捕捉到的。
- CNN也遵循参数共享的概念。单个过滤器应用于输入的不同部分,以生成特征图:
Convolving image with a filter
请注意,2*2特征图是通过在图像的不同部分上滑动相同的3*3滤波器来生成的。
比较不同类型的神经网络(MLP(ANN)与RNN与CNN)
在这里,我总结了不同类型的神经网络之间的一些差异:
结论
在这篇文章中,我讨论了深度学习的重要性以及不同类型神经网络之间的差异。我坚信知识共享是学习的终极形式。我期待着听到更多的不同!
常见问题
Q1.有多少种类型的神经网络?
A.有几种类型的神经网络,每种都是为特定的任务和应用而设计的。一些常见类型的神经网络是人工神经网络(ANN)、卷积神经网络(CNN)和递归神经网络(RNN)。
Q2.神经网络中的三种学习类型是什么?
A.神经网络中的三种主要学习类型是监督学习、无监督学习和强化学习。
- 272 次浏览