大模型面试准备(十一):深入剖析Transformer - 前馈神经网络

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。


合集在这里:《大模型面试宝典》(2024版) 正式发布!


本系列文章的初衷是带领大家深入剖析Transformer,逐步揭示其内在机制和工作原理。本系列第四篇:前馈神经网络,它是理解Transformer工作原理的基础。

在Transformer模型中,除了注意力子层之外,编码器和解码器中的每一层都包含一个全连接的前馈神经网络,该网络分别且相同地应用于每个位置。这包括两个线性变换,并在它们之间使用ReLU激活函数。

01 神经网络

生物神经网络

生物神经网络(Biological Neural Networks) 是指生物体内一群由突触相互链接的特定神经元群体,其负责传递、执行一项特定功能,并与其他神经回路共同构筑大脑更高阶的神经网络,并产生个体的意识,协助生物进行思考和行动。

图片

大脑神经元是生物神经系统中的基本单元,它们负责接收、整合、处理和传递信息,从而支持生物的感知、思考、记忆和行为等多种功能。

  • 输入整合:神经元整合来自其他神经元和外部刺激的信号。

  • 阈值触发:达到阈值时,神经元触发动作电位。

  • 权重调整:连接强度可学习调整。

  • 信息存储与传输:神经元负责存储和传输信息,支持生物的感知、思考和行为。

  • 神经网络组成:多个神经元以特定方式连接形成神经网络。

人工神经网络

人工神经网络(artificial neural network,ANN) 简称神经网络(neural network,NN**)或类神经网络,在机器学习和认知科学领域,是一种模仿生物神经网络(动物的中枢神经系统,特别是**大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。

图片

圆形节点作为人工神经元,通过连接传递信号,利用权重和激励函数共同影响网络输出,从而模拟生物神经网络的工作方式。

  • 圆形节点与人工神经元:这些神经元是ANN的基本构建单元,它们模拟生物神经网络中的神经细胞的工作方式。

  • 连接与信号传递:神经元之间的连接是通过箭头表示的,这些箭头指示了信号在网络中的流动方向。

  • 权重与激励函数:每个连接都有一个与之相关的权重值,这个权重决定了前一个神经元对后一个神经元的影响程度。激励函数则决定了神经元如何根据输入和权重产生输出。常见的激励函数包括Sigmoid函数、ReLU(Rectified Linear Unit)函数等。

  • 网络输出:人工神经网络的输出是由多个神经元共同作用产生的。网络的结构(即神经元的连接方式)、权重值以及激励函数的选择共同决定了网络如何处理输入数据并产生输出。

神经网络训练

神经网络的训练过程涉及前向传播生成预测、计算预测与真实值间的误差、通过反向传播计算梯度、使用梯度下降更新权重和偏置,并重复迭代直至满足停止条件。

图片

神经网络训练的核心流程如下:

  • 前向传播:将输入数据从输入层传至输出层,期间每层都利用激活函数进行非线性转换,最终生成预测结果。

  • 计算误差:将预测结果与真实标签比较,计算误差(如均方误差或交叉熵损失)。

  • 反向传播:计算每一层的梯度(误差对权重和偏置的偏导数),将误差从输出层逐层反传至输入层。

  • 梯度下降:通过梯度下降或其他优化算法更新权重和偏置,以最小化误差函数,改善网络性能。

  • 迭代更新:重复上述步骤直至满足停止条件,完成神经网络的训练。

02 前馈神经网络

前馈神经网络(Feed-Forward Neural Networks,FFNN) 是一种具有特定结构和特点的人工神经网络。它的主要特性在于数据的单向流动,即从输入层开始,经过隐藏层,最终到达输出层,每一层的神经元只接收来自前一层的输出作为输入,并不涉及层内或层间的反馈连接。

图片

前馈神经网络通常由多层组成,包括输入层、一个或多个隐藏层以及输出层。

输入层负责接收原始数据,隐藏层则对数据进行处理和转换,输出层则产生最终的预测或分类结果。每一层的神经元都通过权重和偏置与下一层的神经元相连,这些权重和偏置在训练过程中进行调整,以优化网络的性能。

图片

感知机是最简单的前馈神经网络,主要用于二分类问题;多层感知机则通过引入隐藏层,增强了网络的非线性处理能力,能够解决更复杂的分类和回归问题。

03 位置相关的前馈神经网络

除了注意力子层之外,Transformer的编码器和解码器中的每一层都包含一个全连接的前馈神经网络,该网络分别且相同地应用于每个位置。这包括两个线性变换,并在它们之间使用ReLU激活函数。

图片

前馈神经网络(FFN)的表达式为:FFN(x) = max(0, xW1 + b1)W2 + b2 (2)

尽管线性变换在不同位置上是相同的,但它们在不同层之间使用不同的参数。另一种描述方式是将其视为两个核大小为1的卷积操作。

输入和输出的维度为dmodel = 512,而内层的维度为dff = 2048。

图片

04 Transformer中FFN的作用

Transformer中的位置相关的前馈神经网络(Position-Wise Feed-Forward Network)的主要目的是在每个位置单独并相同地应用一个全连接前馈网络,进一步提取和融合不同位置的特征信息以增强模型的非线性能力和表达能力。

这种网络结构位于模型的每个编码器和解码器层之后,对自注意力机制提取的特征进行进一步的处理和转换。

具体来说,位置前馈网络由两个线性变换(全连接层)和一个非线性激活函数组成。这两个线性变换之间通常会插入激活函数,如ReLU等,以引入非线性。这种设计使得模型能够学习到更复杂的特征表示,从而提高模型的性能。

05 总结

本文全面概述了Transformer的位置相关的前馈神经网络,旨在通过引入非线性能力和增加模型的表达能力,帮助模型更好地理解序列数据中的局部和全局结构,进一步提升处理序列数据的性能。

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值