深度学习与自然语言处理
深度学习与自然语言处理:从神经网络到Transformer
本文旨在系统性地介绍深度学习,特别是自然语言处理领域的关键技术演进,从最基础的神经网络组件,到奠定现代大语言模型基石的Transformer架构。
一、深度学习与神经网络基础
深度学习的基础建立在神经网络之上,理解其基本构建块是掌握一切复杂模型的先决条件。
-
前馈网络
前馈神经网络,也称为多层感知机,是最基础的网络结构。其核心特征是数据从输入层开始,单向地流经一个或多个隐藏层,最终到达输出层,层与层之间全连接,且没有循环或反馈路径。它是理解更复杂模型的数据流动方式的起点。
前馈网络的结构
输入层:接收原始数据或特征向量,神经元数量与输入数据的维度一致。
隐藏层:可包含一层或多层非线性变换层,每层由多个神经元组成,通常使用激活函数(如ReLU、Sigmoid)引入非线性。
输出层:生成最终预测结果,神经元数量取决于任务类型(如分类任务中的类别数)。
数学表达式示例(单隐藏层):
给定输入 ( x ),隐藏层输出 ( h ) 和输出层输出 ( y ) 的计算如下:
[ h = \sigma(W_1 x + b_1)]
[ y = \text{softmax}(W_2 h + b_2)]
其中 ( W_1, W_2 ) 为权重矩阵,( b_1, b_2 ) 为偏置项,( \sigma ) 为激活函数。
-
激活函数
激活函数是神经网络的“灵魂”,它为模型引入了非线性变换。如果没有激活函数,无论网络多深,都等价于一个线性模型,无法拟合现实世界中的复杂模式。常见的激活函数包括:-
ReLU:当前最主流的函数,计算简单,能有效缓解梯度消失问题。
-
Sigmoid:将输出压缩到(0,1)之间,常用于二分类任务的输出层。
-
Tanh:将输出压缩到(-1,1)之间,具有零均值特性,使得收敛速度通常快于Sigmoid。
-
-
损失函数
损失函数是模型学习的“指南针”,它量化了模型预测值与真实标签之间的差异。模型训练的目标就是最小化这个损失值。常见的损失函数有:-
均方误差:主要用于回归任务。
-
交叉熵损失:主要用于分类任务,在自然语言处理中应用极为广泛。
-
-
反向传播
反向传播是神经网络训练的核心算法。它通过链式法则,从输出层开始,反向计算损失函数对于网络中每一个参数的梯度。随后,优化器(如梯度下降)利用这些梯度来更新权重参数,从而迭代地降低损失,使模型的预测越来越准确。
什么是梯度下降?
核心思想