神经网络算法 – 一文搞懂FFNN(前馈神经网络)
本文隶属于:Transformer 系列动画讲解
- 神经网络算法 – 一文搞懂Transformer
- 神经网络算法 – 一文搞懂 Transformer(总体架构 & 三种注意力层)
- Transformer动画讲解 – 工作原理
- 神经网络算法 – 一文搞懂Embedding(嵌入)
- Transformer动画讲解 – 注意力机制
- 神经网络算法 – 一文搞懂Attention(注意力)机制
- 神经网络算法 – 一文搞懂Transformer中的三种注意力机制
- Transformer动画讲解 – Cross Attention
- Transformer动画讲解 – 单头注意力和多头注意力
- 神经网络算法 – 一文搞懂Self-Attention和Multi-Head Attention
- Transformer动画讲解 – 注意力计算Q、K、V
- Transformer动画讲解 – 数据处理的四个阶段
- Transformer动画讲解 – 多模态
- Transformer动画讲解 – Softmax函数
- Transformer动画讲解 – 多层感知机制
- 神经网络算法 – 一文搞懂FFNN(前馈神经网络)
- 神经网络算法 – 一文搞懂GPT(Generative Pre-trained Transformer)
本文将从FFNN的本质、FFNN的原理、FFNN的应用三个方面,带您一文搞懂 Feed-forward Neural Network 前馈神经网络。
Feed-forward Neural Network
一、FFNN的本质
前馈神经网络(FFNN):又名多层感知器 (MLP),是神经网络模型中最常见的一种。各层神经元分层排列,每个神经元只与前一层的神经元相连,接收前一层的输出并传递给下一层,各层之前没有反馈。
前馈神经网络FFNN
单层感知机(SLP):最早的人工神经网络之一,它仅由单个神经元组成。
单层感知机SLP
多层感知机 (MLP):是一种前馈神经网络,其结构包含多个隐藏层。
MLP的核心在于利用多个非线性的处理层来对输入数据进行分层的信息特征提取和转换。每一层的输出都作为下一层的输入,直到得到最终的输出。这种层次化的结构使得MLP能够学习并逼近复杂的非线性函数。
多层感知机MLP
前馈神经网络(FFNN)的本质:不是一个具体的神经网络模型,而是一类具有特定结构和处理方式的神经网络的总称。其本质在于其信息的单向流动和处理机制。
前馈神经网络FFNN的本质
前馈神经网络(FFNN)的目的:通过构建一个多层次的神经网络结构来学习和逼近复杂的函数或映射关系。
前馈神经网络FFNN的目的
二、FFNN的原理
前馈神经网络(FFNN)的网络结构:包含多个隐藏层,每个隐藏层由多个神经元组成,这些神经元接收来自前一层的输出,经过一定的加权和处理后,再传递给下一层。网络结构的单向流动使得前馈神经网络能够处理复杂的输入数据,并通过学习来逼近目标函数。
前馈神经网络FFNN的网络结构
单个神经元的工作原理:通过加权输入、激活函数处理和输出传递,实现信息的非线性转换与传递。
-
输入加权:每个输入信号都关联一个权重,反映了该输入对输出的重要性。神经元接收输入时,会将输入值与对应权重相乘并求和,得到线性组合结果。
-
激活函数处理: 神经元对线性组合结果应用激活函数,将线性输出转换为非线性形式,以模拟现实世界中的复杂关系。
-
输出传递: 经过激活函数处理后的输出值作为神经元的最终输出,可以传递给其他神经元。
单个神经元的工作原理
单层感知机(SLP)的工作原理:唯一的神经元,它的输出充当最终预测,解决线性二分类问题。
单个感知机SLP的工作原理
为什么神经网络中需要那么多神经元:单个神经元只能解决线性二分类问题,而现实世界中的复杂问题都是非线性多分类问题。
线性和非线性
前馈神经网络(FFNN)的工作原理:通过将神经元组合在一起,前馈神经网络能够形成复杂的决策边界,进而处理现实世界中复杂的非线性问题。
前馈神经网络FFNN的工作原理
三、FFNN的应用
Transformer架构应用FFNN:Transformer的编码器和解码器中的每一层都包含一个全连接的前馈神经网络。
Transformer架构
详细了解Transformer:神经网络算法 – 一文搞懂Transformer
Transformer架构中的FFNN:通常包含两个线性变换,中间使用ReLU激活函数进行非线性处理。
前馈神经网络(FFNN)的表达式为:FFN(x) = max(0, xW1 + b1)W2 + b2
Transformer架构中的FFNN
Transformer架构中FFNN的目的:对自注意力机制层的输出进行进一步的变换,使其能够学习更加复杂的函数关系。
FFNN的ReLu激活函数
通过引入非线性能力和增加模型的表达能力,帮助模型更好地理解序列数据中的局部和全局结构,进一步提升处理序列数据的性能。