机器学习中的多层前馈神经网络理解
深度学习前馈神经网络被用于各种应用,包括计算机助手、搜索引擎和机器翻译。它们是当今使用的几个重要神经网络的基础,包括广泛用于自然语言处理和序列学习的循环神经网络,以及广泛用于计算机视觉应用的卷积神经网络。在本文中,我们将讨论多层前馈神经网络。
什么是前馈神经网络?
最基本类型的神经网络,其中输入数据仅单向传播,然后通过输出节点离开并经过人工神经节点。输入和输出层位于隐藏层可能存在也可能不存在的位置。根据这一点,它们进一步细分为单层和多层前馈神经网络。
函数的复杂度与层的数量成反比。它不能向后传播;它只能向前传播。在这种情况下,权重保持不变。在传递到激活函数之前,权重会添加到输入中。
前馈神经网络组件
神经元
人工神经元是神经网络的基本组成部分。以下是神经元的示意图。
如上所示,它分两部分工作:首先,它计算其输入的加权和,然后它使用激活函数对总和进行归一化。存在线性激活函数和非线性激活函数。此外,神经元的每个输入都有一个相应的权重。网络必须在训练阶段学习这些参数。
激活函数
神经元的激活函数充当输出处的决策主体。激活函数确定神经元学习线性决策边界还是非线性决策边界。此外,它对神经元输出具有平滑作用,防止级联效应使多层后的神经元输出变得过大。三种最流行的激活机制如下:
- Sigmoid - 将输入值映射到 0 到 1 之间的输出值。
- Tanh - 将输入值映射到 -1 到 1 范围内的值。
- ReLu - 此函数仅允许正数通过。负值被分配为 0。
输入层
此层的节点接收信息并将其传递到网络的其他层。输入层中的节点数必须等于数据集中特征或属性的数量。
输出层
此层是提供预测的层。对于不同的问题,应在此层中使用不同的激活函数。对于二元分类任务,我们希望结果为 0 或 1。因此,使用 sigmoid 激活函数。对于多类分类问题,使用 Softmax(可以将其视为应用于多个类的 sigmoid)。我们可以使用线性单元来解决回归问题,其中结果不属于预定义的类别。
隐藏层
隐藏在输入和输出之间的层用于隔离它们。隐藏层的数量将取决于模型的类型。为了实际上传递输入到下一层,隐藏层中的多个节点首先对其进行修改。为了提高预测能力,此网络的权重会不断调整。
前馈神经网络的工作原理
单层感知器可以表示简化时前馈神经网络的外观。当输入进入层时,此模型将它们与权重相乘。然后通过将加权输入值累加在一起获得总和。通常,只要总和超过预设阈值(设置为零),输出值为 1,如果值总和小于阈值,则通常为 -1。
单层感知器是一种常用于分类的前馈神经网络模型。单层感知器也可以从机器学习中获益。神经网络可以在训练期间根据称为 delta 规则的特征修改其权重,这使它们能够将其输出与预期值进行比较。训练和学习的结果是梯度下降。多层感知器以相同的方式更新其权重。但是,这被称为反向传播。在这种情况下,网络的隐藏层将根据最终层的输出值进行更改。
多层前馈神经网络
进入复杂神经网络的入口点,其中传入数据通过多层人工神经元进行路由。每个节点都与下一层中的每个神经元连接,从而形成一个完全连接的神经网络。总共有输入和输出层以及多个隐藏层,总共至少三层或更多层。它具有双向传播,这意味着它可以向前和向后传播。
输入与权重相乘并馈送到激活函数,在反向传播期间对其进行调整以最小化损失。权重只是神经网络中机器学习的值。它们根据预测结果和训练结果之间的差距进行自我调整。在非线性激活函数之后,Softmax 用作输出层激活函数。
结论
最后,前馈神经网络有时被称为多层神经网络 (MLN)。信息在神经网络中仅向前流动,首先通过输入节点,然后通过隐藏层(单层或多层),最后通过输出节点,这就是为什么这种模型网络被称为前馈的原因。