什么是神经网络?
神经网络是机器学习的一个子集,是深度学习算法的核心。它们也被称为人工神经网络或模拟神经网络。它们的名称和结构源自人脑,它们类似于生物神经元相互交流的方式。
在人工神经网络 (ANN) 中,节点层包含一个输入层、一个或多个隐藏层和一个输出层。每个节点或人工神经元都与其他节点相连,并具有与其相关联的权重和阈值。如果节点的输出超过某个阈值,则该节点被激活,并将数据发送到网络的下一层。否则,没有数据被发送到网络的下一层。
现在让我们继续看神经网络的类型。
神经网络的类型
现在有许多不同类型的神经网络可用或正在开发中。它们可以根据它们进行分类:结构、数据流、神经元密度、层和深度激活过滤器等等。
以下是神经网络的主要类型:
感知器
最基本和最古老的神经网络类型是感知器。它仅由一个接受输入并对其应用激活函数以生成二进制输出的神经元组成。该模型没有隐藏层,只能用于二分类问题。
输入值及其权重的相加由神经元处理。之后,生成的和被传输到激活函数,生成二进制输出。
前馈网络
前馈 (FF) 网络由大量耦合的神经元和隐藏层组成。这些被称为“前馈”,因为数据仅向前流动并且没有向后传播。根据应用程序,隐藏层可能存在也可能不存在于网络中。
关卡越多,可定制的权重就越多。结果,网络的学习能力将会提高。因为没有反向传播,所以权重没有改变。激活函数接收权重与输入相乘的输出,用作阈值。
FF 网络用于以下应用:
- 分类
- 语音识别
- 人脸识别
- 识别模式
径向基函数神经网络
径向基网络 (RBN) 以一种根本不同的方式预测目标。它由三层组成:输入层、RBF 神经元层和输出层。每个训练数据示例的实际类别存储在 RBF 神经元中。由于径向函数被用作激活函数,因此 RBN 不同于传统的多层感知器。
当新数据被引入神经网络时,RBF 神经元检查特征值与存储在神经元中的实际类别的欧几里德距离。这类似于确定特定实例属于哪个集群。投影的类被分配给距离最短的类。
这些主要用于电力恢复系统。
多层感知器
前馈网络的根本缺陷是它们无法使用反向传播进行学习。具有许多隐藏层和激活函数的感知器被称为多层感知器。学习是在监督模式下完成的,使用梯度下降改变权重。
多层感知器是双向的,输入向前传播,权重变化向后传播。根据目标的类型,可以更改激活函数。Softmax 通常用于多类分类,而 Sigmoid 通常用于二元分类。因为一层中的所有神经元都连接到下一层中的所有神经元,所以这些也称为密集网络。
卷积神经网络
卷积神经网络不是二维数组,而是具有神经元的三维布局。卷积层是第一层。每个卷积层神经元仅分析来自视野有限部分的数据。像过滤器一样,输入特征是分批获取的。网络以块的形式解码图像,并可以多次执行这些操作以完成整个图像处理。图像在处理过程中从 RGB 或 HSI 转换为灰度。像素值的进一步变化将有助于检测边缘,从而允许将图像分为几个类别。
卷积神经网络具有三维神经元结构,而不是二维阵列。第一层是卷积层。每个卷积层神经元只检查视野的一小部分。输入特征是分批收集的,很像过滤器。网络以块的形式解码图像,并可以多次重复这些过程以完成图像处理。在处理过程中,图像从 RGB 或 HSI 转换为灰度。更多的像素值波动将有助于检测边缘,从而使图像可以分为许多类别。
循环神经网络
递归神经网络基于保留层的输出并将其反馈到输入以帮助预测层的结果的概念。
第一层的构建方式与前馈神经网络相同,权重和特征之和作为乘积。一旦计算出来,循环神经网络过程就开始了,这意味着每个神经元都会记住从一个时间步到下一个时间步的前一个时间步的一些信息。
结果,每个神经元都像存储单元一样执行计算。我们必须允许神经网络在前向传播上运行,并记住它需要哪些信息以便稍后在此过程中使用。如果预测不正确,我们使用学习率或纠错来进行微小的更改,以便反向传播将逐步做出正确的预测。
LSTM(长短期记忆)网络
LSTM网络是一种 RNN,它结合了特殊单元和标准单元。Memory cell 包含在 LSTM 单元中,可以长时间存储数据。
当信息进入记忆、输出和遗忘时,都有一个门系统对其进行管理。输入门、输出门和遗忘门是门的三种类型。
输入门决定了前一个样本的多少数据将存储在内存中;输出门控制发送到下一层的数据量;遗忘门控制着记忆撕裂率。由于这种架构,他们可以学习长期依赖关系。
模块化神经网络
模块化神经网络由许多独立的网络组成,每个网络独立行动并为最终结果做出贡献。与创建和执行子任务的其他网络相比,每个神经网络都有自己的一组输入。为了完成任务,这些网络不会相互交互或通信。
模块化神经网络的优势在于可以将庞大的计算过程分解为更小的组件,从而降低复杂性。这种分解减少了连接的数量并消除了这些网络之间的交互,从而加快了处理速度。另一方面,处理时间将由参与结果计算的神经元数量决定。
结论
如果你不断地向神经网络添加层,它会很快变得异常复杂。在某些情况下,我们可以通过使用预训练网络来利用该领域的广泛研究。这称为迁移学习。
在这篇博客中,我们试图涵盖所有主要类型的神经网络。希望它能在您下次使用任何软件实现神经网络时对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深度学习的8种神经网络 - Python技术站
评论列表(1条)
[…] 推荐阅读:深度学习的8种神经网络 […]