AI:深度学习基础与神经网络模型

4.1 深度学习概述

深度学习是机器学习的一个重要分支,以人工神经网络为核心,通过构建多层网络结构,模拟人类大脑的神经元连接方式,实现对复杂数据的特征学习和模式识别。与传统机器学习算法相比,深度学习能够自动从数据中学习多层次的特征表示,无需人工进行特征工程,在图像、语音、自然语言处理等复杂任务中表现出更优异的性能。

深度学习的核心是神经网络的构建和训练,神经网络由大量的神经元(节点)和连接神经元的权重组成。根据网络结构的不同,深度学习模型可分为前馈神经网络(如全连接神经网络)、循环神经网络(RNN)、卷积神经网络(CNN)、Transformer等,分别适用于不同的任务场景。

深度学习的发展得益于三个关键因素:大数据(提供了充足的训练数据)、GPU等硬件的发展(解决了深层网络的计算瓶颈)、优化算法的改进(如Adam、RMSprop等优化器,提高了模型训练的效率和稳定性)。

4.2 神经网络基础组件

4.2.1 神经元与激活函数

神经元是神经网络的基本单元,模拟人类大脑中的神经元,接收输入信号,进行处理后输出信号。一个神经元的输入是多个特征值的加权和,加上偏置项,再通过激活函数进行非线性变换,得到输出结果。其数学表达式为:a = σ(Σwᵢxᵢ + b),其中xᵢ是输入特征,wᵢ是权重,b是偏置项,σ是激活函数,a是神经元的输出。

激活函数的作用是为神经网络引入非线性因素,使神经网络能够学习复杂的非线性关系。如果没有激活函数,多层神经网络将退化为线性模型,无法处理复杂任务。常用的激活函数包括:

  • Sigmoid函数:σ(z) = 1/(1 + e⁻ᵢ),输出范围为(0,1),常用于二分类任务的输出层。缺点是存在梯度消失问题(当z的绝对值较大时,导数趋近于0,导致深层网络训练困难),输出不是零均值的。
  • Tanh函数:tanh(z) = (eᵢ - e⁻ᵢ)/(eᵢ + e⁻ᵢ),输出范围为(-1,1),是零均值的,解决了Sigmoid函数输出非零均值的问题。但同样存在梯度消失问题。
  • ReLU函数:ReLU(z) = max(0, z),当z>0时,输出z;当z≤0时,输出0。优点是计算简单、训练速度快,有效缓解了梯度消失问题。缺点是存在“死亡ReLU”问题(部分神经元在训练过程中始终输出0,无法更新权重)。
  • Leaky ReLU函数:Leaky ReLU(z) = max(αz, z),其中α是一个较小的正数(如0.01)。当z≤0时,输出αz,避免了“死亡ReLU”问题,是ReLU函数的改进版本。
  • Softmax函数:常用于多分类任务的输出层,将多个神经元的输出转换为概率分布,输出范围为(0,1),且所有输出的和为1。其表达式为:softmax(zᵢ) = eᶻⁱ / Σeᶻʲ,其中zᵢ是第i个神经元的输入。

4.2.2 神经网络的层次结构

一个典型的神经网络由输入层、隐藏层和输出层组成:

  • 输入层:接收原始数据(如图像的像素值、文本的特征向量等),每个神经元对应一个输入特征,输入层的神经元数量等于输入特征的维度。
  • 隐藏层:位于输入层和输出层之间,用于学习数据的多层次特征表示。隐藏层的数量和每个隐藏层的神经元数量是神经网络的重要超参数,需要根据任务和数据情况进行调整。隐藏层数量越多、神经元数量越多,模型的复杂度越高,学习能力越强,但也越容易过拟合。
  • 输出层:输出模型的预测结果,神经元数量根据任务类型确定:二分类任务通常有1个神经元(使用Sigmoid激活函数);多分类任务的神经元数量等于类别数(使用Softmax激活函数);回归任务通常有1个神经元(不使用激活函数或使用线性激活函数)。

根据隐藏层的连接方式,神经网络可分为全连接神经网络(每个神经元与上一层的所有神经元相连)和局部连接神经网络(每个神经元只与上一层的部分神经元相连,如CNN)。

4.2.3 损失函数与优化器

损失函数用于衡量模型预测值与真实值之间的误差,是模型训练的目标函数,模型训练的过程就是最小化损失函数的过程。不同的任务类型对应不同的损失函数:

  • 二分类任务:常用交叉熵损失函数(Binary Cross-Entropy),表达式为:L = - (y log ŷ + (1 - y) log(1 - ŷ)),其中y是真实标签(0或1),ŷ是预测概率。
  • 多分类任务:常用 categorical 交叉熵损失函数(Categorical Cross-Entropy),表达式为:L = - Σyᵢ log ŷᵢ,其中yᵢ是真实标签的独热编码(如类别i对应yᵢ=1,其他为0),ŷᵢ是预测概率。
  • 回归任务:常用均方误差(MSE)损失函数,表达式为:L = (1/2m)Σ(yᵢ - ŷᵢ)²。

优化器用于更新神经网络的权重参数,以最小化损失函数。常用的优化器包括:

  • 随机梯度下降(SGD):每次使用一个样本更新参数,计算速度快,但训练过程不稳定,收敛速度较慢。
  • 批量梯度下降(BGD):每次使用所有样本更新参数,训练过程稳定,收敛到全局最优解,但计算量较大,适用于小规模数据。
  • 小批量梯度下降(Mini-Batch GD):每次使用一小批样本(如32、64、128个)更新参数,兼顾了SGD的速度和BGD的稳定性,是目前最常用的基础优化器。
  • Momentum:模拟物理中的动量,积累之前的梯度方向,加速梯度下降的收敛速度,减少训练过程的震荡。
  • Adam:结合了Momentum和RMSprop的优点,自适应地调整每个参数的学习率,训练速度快、稳定性好,是目前深度学习中最常用的优化器之一。

4.2.4 正则化方法

深度学习模型复杂度高,容易过拟合,正则化是缓解过拟合的重要手段,常用的正则化方法包括:

  • L1正则化:在损失函数中加入权重的L1范数(权重绝对值之和),表达式为:L_total = L + λΣ|w|,其中λ是正则化强度。L1正则化会使部分权重变为0,实现特征选择,降低模型复杂度。
  • L2正则化(权重衰减):在损失函数中加入权重的L2范数(权重平方和的平方根),表达式为:L_total = L + λΣw²/2。L2正则化会使权重值变小,避免权重过大导致的过拟合,是深度学习中最常用的正则化方法。
  • Dropout:在训练过程中,随机丢弃一部分神经元(将其输出设为0),迫使模型学习更鲁棒的特征,避免过度依赖某些神经元。Dropout的丢弃概率是超参数(如0.5),在测试过程中不丢弃神经元,而是将所有神经元的输出乘以丢弃概率的倒数,保证输出的期望不变。
  • 早停(Early Stopping):在训练过程中,定期用验证集评估模型性能,当验证集性能不再提升(甚至下降)时,停止训练,避免模型继续训练导致过拟合。
  • 批量归一化(Batch Normalization):对每一层的输入进行标准化处理(均值为0,方差为1),加速模型训练收敛,缓解梯度消失问题,同时也能起到一定的正则化作用,减少过拟合。

4.3 经典深度学习模型

4.3.1 卷积神经网络(CNN)

卷积神经网络是一种专门用于处理网格结构数据(如图像、语音频谱图)的深度学习模型,其核心优势是通过卷积操作和池化操作,自动提取数据的局部特征,并具有平移不变性(即无论特征在图像的哪个位置,都能被识别)。

CNN的核心组件包括:

  • 卷积层(Convolutional Layer):通过卷积核(过滤器)对输入数据进行卷积操作,提取局部特征。卷积核是一个小的矩阵,通过滑动窗口的方式在输入数据上移动,计算卷积核与对应区域的点积,得到特征图(Feature Map)。每个卷积核对应一种特征模式,多个卷积核可提取多种特征。
  • 池化层(Pooling Layer):位于卷积层之后,用于对特征图进行下采样,减少特征维度,降低计算量,同时保留关键特征,提高模型的平移不变性。常用的池化操作包括最大池化(取滑动窗口内的最大值)和平均池化(取滑动窗口内的平均值)。
  • 全连接层(Fully Connected Layer):位于CNN的最后部分,将池化层输出的特征图展平为一维向量,通过全连接的方式映射到输出层,实现分类或回归任务。

经典的CNN模型包括LeNet-5(最早的CNN模型,用于手写数字识别)、AlexNet(2012年ImageNet竞赛冠军,开启深度学习时代)、VGGNet(采用深层网络结构,使用小尺寸卷积核)、ResNet(引入残差连接,解决深层网络的梯度消失问题,可构建上千层的网络)、Inception(采用多尺度卷积核,提取不同尺度的特征)等。

CNN的应用场景主要包括图像分类、目标检测、图像分割、人脸识别、图像生成等计算机视觉任务。

4.3.2 循环神经网络(RNN)

循环神经网络(RNN)是一类专门用于处理序列数据(如文本、语音、时间序列等)的深度学习模型。与前馈神经网络(如全连接网络、CNN)不同,RNN引入了循环结构,使得网络能够保留历史信息并将其应用于当前的预测任务,核心优势是具备“记忆能力”,能够捕捉序列数据中的时序依赖关系。

在现实世界中,大量数据都以序列形式存在,例如自然语言文本是字符或词语的序列、语音是音频信号的时序序列、股票价格是随时间变化的数值序列等。前馈神经网络无法利用序列数据的时序信息,而RNN通过在网络中引入循环连接,让隐藏层的输出不仅依赖于当前的输入,还依赖于上一时刻的隐藏状态,从而实现对时序信息的建模。

4.3.2.1 RNN的基本结构与工作原理

RNN的基本结构由输入层、循环隐藏层和输出层组成,其核心是循环隐藏层中的循环单元(Recurrent Unit)。循环单元的工作原理可概括为以下步骤:

  1. 初始化隐藏状态:在处理序列的第一个元素时,需要初始化一个初始隐藏状态(通常为全0向量)。
  2. 时序迭代计算:对于序列中的每个元素xₜ(t表示时序步长),循环单元接收当前输入xₜ和上一时刻的隐藏状态hₜ₋₁,通过线性变换和激活函数计算得到当前时刻的隐藏状态hₜ和输出yₜ。其数学表达式为:
  3. hₜ = σ(Wₓₕxₜ + Wₕₕhₜ₋₁ + bₕ)
  4. yₜ = σ(Wₕᵧhₜ + bᵧ)
  5. 其中,Wₓₕ是输入到隐藏层的权重矩阵,Wₕₕ是隐藏层到自身的循环权重矩阵,Wₕᵧ是隐藏层到输出层的权重矩阵,bₕ和bᵧ是偏置项,σ是激活函数(常用tanh或ReLU)。
  6. 序列处理完成:当序列中所有元素都处理完毕后,根据任务需求,可将最后一个时刻的输出yₙ作为整个序列的预测结果(如文本分类),或每个时刻的输出组成序列作为预测结果(如文本生成)。

RNN的循环结构使得隐藏状态hₜ能够累积序列的历史信息,相当于网络的“记忆”。例如,在处理句子“我喜欢吃苹果”时,当处理到“苹果”一词时,隐藏状态已经包含了“我喜欢吃”的时序信息,从而能够正确理解“苹果”在该语境下的含义。

4.3.2.2 传统RNN的局限性与经典变体

传统的RNN(也称为Elman RNN)虽然能够建模时序依赖,但存在严重的“梯度消失”或“梯度爆炸”问题。这是因为在训练过程中,通过反向传播算法计算梯度时,梯度需要沿着时序方向回溯,当序列较长时,梯度会随着回溯步骤的增加而指数级衰减(梯度消失)或增长(梯度爆炸),导致模型无法学习到长序列中的长期依赖关系。

为解决这一问题,研究者提出了多种改进的RNN变体,其中最常用的是长短期记忆网络(LSTM)和门控循环单元(GRU):

  • 长短期记忆网络(LSTM,Long Short-Term Memory):LSTM通过引入“门控机制”(输入门、遗忘门、输出门)和“细胞状态”(Cell State),有效解决了梯度消失问题。细胞状态类似于一条“信息高速公路”,能够长期保存序列的关键信息;三个门控则用于控制信息的流入、流出和遗忘:
  • - 遗忘门:决定上一时刻的细胞状态中哪些信息需要被遗忘;
  • - 输入门:决定当前时刻的输入信息中哪些需要被存入细胞状态;
  • - 输出门:决定细胞状态中的哪些信息需要被输出到隐藏状态。
  • LSTM的门控机制使得模型能够自主选择保留长期有用的信息,丢弃无关的短期信息,从而能够建模长序列的长期依赖。
  • 门控循环单元(GRU,Gated Recurrent Unit):GRU是LSTM的简化版本,将LSTM的三个门控简化为两个门控(更新门、重置门),并取消了细胞状态,直接通过隐藏状态传递信息:
  • - 重置门:控制上一时刻隐藏状态的遗忘程度,帮助模型忽略无关信息;
  • - 更新门:控制当前输入信息和上一时刻隐藏状态的融合比例,决定新隐藏状态的更新方式。
  • GRU在保留LSTM核心性能(解决梯度消失、建模长期依赖)的同时,减少了模型参数数量,降低了计算复杂度,训练速度更快,在许多实际场景中得到了广泛应用。

4.3.2.3 RNN的应用场景

RNN及其变体(LSTM、GRU)由于具备时序建模能力,广泛应用于各类序列相关的任务,尤其在自然语言处理(NLP)领域发挥了重要作用:

  • 自然语言处理(NLP):包括文本生成(如小说续写、诗歌创作、代码生成)、机器翻译(如将中文翻译成英文)、情感分析(如判断文本的正面/负面情绪)、命名实体识别(如识别文本中的人名、地名、机构名)、文本摘要(自动生成文本的核心摘要)、问答系统(根据问题从文本中提取答案)等。例如,早期的机器翻译模型多基于LSTM构建,通过编码器-解码器(Encoder-Decoder)结构实现源语言序列到目标语言序列的转换。
  • 语音处理:包括语音识别(将语音信号转换为文本)、语音合成(将文本转换为语音)、语音情感识别(通过语音判断说话人的情绪)、语音唤醒(如智能音箱的唤醒词识别)等。RNN能够捕捉语音信号的时序特征,是语音处理模型的核心组件之一。
  • 时间序列预测:包括股票价格预测、气象预测(如预测未来几天的气温、降雨量)、交通流量预测(如预测某路段的车流量)、工业设备故障预测(通过设备运行的时序数据预测故障风险)等。例如,利用GRU模型分析历史股票价格数据,可预测未来一段时间的股票走势。
  • 其他序列任务:如视频分析(分析视频帧的时序变化,实现动作识别)、手写体识别(处理手写字符的时序书写顺序)等。

4.3.3 Transformer模型

尽管RNN及其变体解决了长序列依赖问题,但仍存在两个主要局限性:一是并行计算能力差,由于RNN需要按时序逐步处理序列,无法像CNN那样对输入数据进行并行计算,导致训练效率较低;二是对长序列的全局依赖捕捉能力有限,RNN通过时序迭代传递信息,长序列中远距离的信息传递仍存在损耗。

2017年,Google在论文《Attention Is All You Need》中提出了Transformer模型,该模型完全摒弃了RNN的循环结构,采用“自注意力机制”(Self-Attention Mechanism)作为核心,结合全连接层和归一化层,实现了对序列数据的并行处理和全局依赖捕捉,极大地提升了模型的训练效率和性能,成为当前自然语言处理、计算机视觉等领域的主流模型(如BERT、GPT、ViT等均基于Transformer构建)。

4.3.3.1 Transformer的核心:自注意力机制

自注意力机制的核心思想是:对于序列中的每个元素(如文本中的每个词语),通过计算该元素与序列中所有其他元素的相关性(注意力权重),将所有元素的信息加权求和,得到该元素的注意力表示。这种方式能够直接捕捉序列中任意两个元素之间的依赖关系,无论它们在序列中的距离有多远,实现了全局依赖的建模。

自注意力机制的计算过程可概括为以下步骤:

  1. 生成查询(Query)、键(Key)、值(Value)向量:将序列的输入嵌入向量通过三个不同的权重矩阵分别转换为Query、Key、Value向量,即Q = X·W_Q,K = X·W_K,V = X·W_V,其中X是输入嵌入矩阵,W_Q、W_K、W_V是可学习的权重矩阵。
  2. 计算注意力权重:通过Query向量与Key向量的点积计算相关性,再通过Softmax函数将相关性转换为注意力权重(权重之和为1),公式为:Attention Weights = Softmax(Q·K^T / √d_k),其中d_k是Key向量的维度,除以√d_k是为了防止点积结果过大,导致Softmax函数输出过于极端。
  3. 计算注意力输出:将注意力权重与Value向量进行加权求和,得到每个元素的注意力表示,公式为:Attention Output = Attention Weights · V。

为了提升模型的表达能力,Transformer采用了“多头注意力”(Multi-Head Attention)机制,将自注意力机制重复多次(即多个“头”),每个头学习不同的注意力模式,最后将多个头的注意力输出拼接起来,通过一个全连接层进行融合,得到最终的多头注意力输出。

4.3.3.2 Transformer的整体结构

Transformer的整体结构分为编码器(Encoder)和解码器(Decoder)两部分,适用于序列到序列的任务(如机器翻译);对于分类、回归等单序列任务,可仅使用编码器部分(如BERT);对于生成任务,可仅使用解码器部分(如GPT)。

  • 编码器(Encoder):由多个相同的编码层堆叠而成,每个编码层包含两个子层:多头注意力层(采用自注意力机制)和前馈全连接层。每个子层后都添加了残差连接和批量归一化,用于加速训练收敛,缓解梯度消失问题。编码器的输入是源序列的嵌入向量(通常会添加位置编码,因为Transformer没有循环结构,需要额外注入时序信息),输出是源序列的全局特征表示。
  • 解码器(Decoder):由多个相同的解码层堆叠而成,每个解码层除了包含多头注意力层和前馈全连接层外,还添加了一个“掩码多头注意力层”(Masked Multi-Head Attention)。掩码注意力层用于防止解码器在生成当前元素时提前看到未来的元素(如生成第t个词语时,只能看到前t-1个词语),保证生成的时序合理性。解码器的输入是目标序列的嵌入向量(同样添加位置编码),输出是目标序列的预测概率分布。

4.3.3.3 Transformer的优势与应用场景

Transformer的核心优势的在于:一是并行计算能力强,摒弃了RNN的时序迭代结构,所有元素的注意力计算可同时进行,极大地提升了训练速度,能够处理更长的序列数据;二是全局依赖捕捉能力强,通过自注意力机制直接建模序列中任意两个元素的依赖关系,无需通过时序传递,信息损耗更小;三是模型表达能力强,多头注意力机制能够学习到多种不同的特征模式,适用于更复杂的任务。

Transformer的应用场景已覆盖多个领域,尤其在自然语言处理领域成为主流:

  • 自然语言处理:大语言模型(如GPT-4、BERT、LLaMA)均基于Transformer构建,应用于文本生成、机器翻译、情感分析、问答系统、代码生成、文本摘要等各类NLP任务;
  • 计算机视觉:基于Transformer的视觉模型(如ViT、Swin Transformer)将图像分割为多个图像块,通过自注意力机制建模图像块之间的关系,实现图像分类、目标检测、图像分割等任务;
  • 多模态任务:如图文生成(根据文本生成图像)、图文检索(根据文本检索相关图像)、语音文本融合(如语音转文本的同时进行情感分析)等,通过Transformer融合不同模态的特征(文本、图像、语音),实现跨模态的信息处理。