AI算法核心知识清单(深度实战版3)

描述

四、深度学习核心知识(进阶必备)

1. 模型训练关键技术(深度学习实战核心)

损失函数(模型优化目标)

分类任务损失函数(续)

稀疏多分类交叉熵损失(Sparse Categorical Cross-Entropy):L = - (1/n) Σlogŷ_{i,y_i}(y_i 为标签索引,非独热编码)

优点:无需对标签进行独热编码,减少内存占用(适用于标签为整数索引的场景)

适用场景:多分类任务,输出层用 Softmax 激活,标签未做独热编码(如 TensorFlow/PyTorch 的默认标签格式)

Focal Loss(解决类别不平衡):L = - α_t (1-ŷ_{i,y_i})^γ logŷ_{i,y_i}

核心设计:

α_t:类别平衡因子(平衡正负样本比例)

γ(聚焦参数):默认 2,降低易分样本的权重((1-ŷ)^γ 越大,易分样本权重越小)

解决问题:传统交叉熵损失对类别不平衡敏感(少数类样本易被忽视),Focal Loss 通过聚焦难分样本,提升少数类识别精度

适用场景:目标检测、医疗影像分类(类别不平衡严重的任务)

优化器(模型参数更新策略)

核心优化器对比与实战

SGD(随机梯度下降):

原理:每次用单个样本计算梯度,更新公式:θ = θ - η∇L (θ)

优点:内存占用小、训练速度快、泛化能力强

缺点:训练波动大(梯度方差大)、收敛速度慢(易陷入局部最优)

实战技巧:结合学习率调度(如 StepLR、ReduceLROnPlateau),缓解波动

Momentum(动量优化):

原理:模拟物理动量,积累历史梯度方向,更新公式:v = βv + ∇L (θ),θ = θ - ηv(β 默认 0.9)

优点:缓解 SGD 波动,加速收敛(沿历史梯度方向加速,跨越局部最优)

适用场景:非凸优化问题(大部分深度学习任务)

RMSProp(根均值平方传播):

原理:自适应学习率,对每个参数维护梯度平方的指数移动平均,更新公式:E [g²] = βE [g²] + (1-β)(∇L (θ))²,θ = θ - η/√(E [g²]+ε)(β 默认 0.999,ε 默认 1e-8)

优点:解决 SGD 学习率一刀切的问题,对稀疏数据友好(如 NLP 任务的词向量更新)

Adam(自适应动量优化):

原理:结合 Momentum(动量)和 RMSProp(自适应学习率),更新公式:

m = β₁m + (1-β₁)∇L (θ)(动量项,β₁默认 0.9)

v = β₂v + (1-β₂)(∇L (θ))²(自适应学习率项,β₂默认 0.999)

偏差修正:m_hat = m/(1-β₁^t),v_hat = v/(1-β₂^t)(t 为迭代次数)

θ = θ - ηm_hat/√(v_hat+ε)(ε 默认 1e-8)

优点:收敛速度快、训练稳定、对超参数不敏感(默认参数效果好)

缺点:泛化能力可能略逊于 SGD(部分任务需微调)

实战场景:首选优化器(科研、工业界通用),尤其适合深度学习初始训练

AdamW(带权重衰减的 Adam):

改进点:将 L2 正则改为权重衰减(Weight Decay),避免 Adam 对 L2 正则的梯度偏移

优势:在 Adam 基础上提升泛化能力,减少过拟合(推荐用于 Transformer、CNN 等复杂模型)

正则化(防止过拟合核心技术)

L1/L2 正则化

L1 正则化(Lasso):损失函数添加 L1 惩罚项,L_total = L + λΣ|θ|

效果:使部分参数变为 0,实现特征选择(稀疏性)

适用场景:高维数据(如特征数远大于样本数),需筛选核心特征

L2 正则化(Ridge):损失函数添加 L2 惩罚项,L_total = L + λΣθ²

效果:使参数值缩小(权重衰减),避免参数过大导致的过拟合

适用场景:大部分深度学习模型(默认添加 L2 正则)

区别:L1 产生稀疏解,L2 使参数平滑(无稀疏性)

Dropout(随机失活)

核心原理:训练时随机将部分神经元的输出置为 0(概率 p),测试时恢复所有神经元,输出乘以 (1-p) 或通过缩放保持期望一致

训练过程:

输入 x 经过神经元得到 a,Dropout 后输出 a' = a × m(m 为掩码,元素为 0 或 1,概率分别为 p 和 1-p)

作用:打破神经元间的协同依赖(避免过度拟合训练数据的特定模式)

关键参数:dropout_rate(p,默认 0.5,输入层建议 0.1~0.2,隐藏层建议 0.5)

实战注意:仅训练时启用,测试时禁用(框架自动处理,如 TensorFlow 的 tf.keras.layers.Dropout)

Batch Normalization(批量归一化)

核心原理:对每一层的输入进行归一化(均值为 0,方差为 1),减少内部协变量偏移(Internal Covariate Shift),加速训练收敛

计算步骤:

计算批次均值:μ_B = (1/m)Σx_i(m 为批次大小)

计算批次方差:σ_B² = (1/m)Σ(x_i - μ_B)²

归一化:x_i^norm = (x_i - μ_B)/√(σ_B² + ε)(ε 默认 1e-5,避免分母为 0)

缩放与偏移:y_i = γx_i^norm + β(γ、β 为可训练参数,恢复模型表达能力)

优点:加速收敛(学习率可设置更大)、缓解梯度消失、降低对初始化敏感

适用场景:CNN、全连接网络(RNN 中常用 Layer Normalization)

实战技巧:批次大小不宜过小(建议≥32,否则均值 / 方差估计不准确)

早停(Early Stopping)

核心逻辑:监控验证集性能(如验证损失、准确率),当性能连续多轮(patience 轮)未提升时,停止训练,避免过拟合

关键参数:

monitor:监控指标(如 val_loss、val_accuracy)

patience:允许性能不提升的最大轮数(默认 5~10)

restore_best_weights:恢复验证集性能最优时的模型权重(避免保存后期过拟合的权重)

实战流程:

训练时同时记录训练集和验证集指标

若验证集指标连续 patience 轮未提升,触发早停

加载最优权重作为最终模型

训练技巧(提升模型性能关键)

批量归一化与梯度裁剪

梯度裁剪(Gradient Clipping):

问题:深层网络或 RNN 中易出现梯度爆炸(梯度值过大,参数更新幅度过大)

实现方式:

norm 裁剪:当梯度 L2 范数超过阈值 clipnorm 时,缩放梯度:∇θ = ∇θ × clipnorm / ||∇θ||

value 裁剪:将梯度值限制在 [-clipvalue, clipvalue] 区间(如 clipvalue=1.0)

适用场景:RNN、Transformer(长序列训练)

组合使用:Batch Normalization 缓解梯度消失,梯度裁剪解决梯度爆炸,协同提升训练稳定性

迁移学习(Transfer Learning)

核心思想:利用预训练模型(如在 ImageNet、Wikipedia 上训练的模型)的权重,微调适配目标任务,减少目标任务的数据需求和训练成本

实现方式:

特征提取:冻结预训练模型的底层(特征提取层),仅训练顶层(分类层)

微调(Fine-tuning):解冻预训练模型的部分顶层,与新添加层一起训练(学习率需设置较小,如 1e-5)

适用场景:目标任务数据量少(如医疗影像分类、小众领域文本分类)

实战技巧:

预训练模型选择:选择与目标任务数据分布相近的模型(如 CV 任务选 ResNet、VGG,NLP 任务选 BERT、GPT)

学习率策略:新添加层用较大学习率(如 1e-3),预训练层用较小学习率(如 1e-5)

数据增强(Data Augmentation)

核心目的:通过对训练数据进行随机变换,生成更多 “虚拟样本”,扩大训练集规模,减少过拟合

常用变换(CV 任务):

几何变换:随机裁剪、翻转(水平 / 垂直)、旋转、缩放、平移

像素变换:随机亮度、对比度、饱和度调整、高斯噪声添加

高级变换:MixUp(样本混合)、CutMix(区域裁剪混合)

常用变换(NLP 任务):

文本替换:随机替换同义词(如用 WordNet、BERT 生成同义词)

文本插入 / 删除:随机插入无关词、删除部分单词(保持语义不变)

句子重排:打乱句子中短语的顺序(适用于不依赖语序的任务)

实战工具:

CV:Albumentations、TorchVision.transforms

NLP:NLPAug、TextAttack

2. 经典模型与应用场景

计算机视觉(CV)

图像分类

核心模型:ResNet(深层特征提取)、EfficientNet(高效网络,参数量少、精度高)、Vision Transformer(ViT,基于 Transformer 的图像分类)

应用场景:图片识别(如商品分类、疾病诊断、人脸识别)

实战关键点:数据增强(提升泛化能力)、迁移学习(小数据场景)、标签平滑(减少过拟合)

目标检测

两阶段检测模型:Faster R-CNN(先生成候选区域,再分类回归)

优势:检测精度高,适用于对精度要求高的场景(如医疗影像病灶检测)

单阶段检测模型:YOLO(You Only Look Once,实时检测)、SSD(Single Shot MultiBox Detector)

优势:速度快,适用于实时场景(如自动驾驶、视频监控)

核心概念:锚框(Anchor Box)、非极大值抑制(NMS,去除重复检测框)、交并比(IoU,衡量检测框与真实框的重叠程度)

图像分割

语义分割:U-Net(医学影像分割首选)、DeepLab(空洞卷积,提升感受野)

应用:病灶分割、卫星图像土地分类、自动驾驶道路分割

实例分割:Mask R-CNN(在 Faster R-CNN 基础上添加分割分支)

应用:目标计数(如人群计数、细胞计数)、精准目标分割(如工业零件缺陷分割)

图像生成

GAN(生成对抗网络):DCGAN(深度卷积 GAN)、StyleGAN(生成高清人脸)

应用:图像修复、风格迁移、虚拟样本生成

Diffusion Model(扩散模型):Stable Diffusion、DALL-E

应用:文本生成图像、图像超分辨率、图像编辑

自然语言处理(NLP)

文本分类与情感分析

传统模型:TF-IDF + SVM / 逻辑回归(简单场景)

深度学习模型:CNN(捕捉局部特征)、LSTM(捕捉时序特征)、BERT(预训练语言模型,捕捉上下文依赖)

应用场景:舆情分析、垃圾邮件识别、商品评论情感分类

命名实体识别(NER)

核心模型:BiLSTM-CRF(双向 LSTM 捕捉上下文,CRF 优化标签序列)、BERT-CRF(预训练模型提升精度)

应用场景:信息抽取(如抽取新闻中的人名、地名、机构名)、智能问答、知识图谱构建

机器翻译

核心模型:Transformer(Encoder-Decoder 结构,替代传统 RNN)、mBART(多语言翻译)

应用场景:跨语言沟通(如 Google Translate、百度翻译)、文档本地化

大语言模型(LLM)

生成式模型:GPT 系列(自回归生成,适用于文本生成、对话)、LLaMA(Meta 开源模型)、ChatGLM(中文优化模型)

核心技术:预训练(无监督学习海量文本)、微调(SFT,监督微调)、RLHF(基于人类反馈的强化学习,提升对话质量)

应用场景:智能客服、内容创作、代码生成、问答系统

推荐系统

传统推荐模型

协同过滤:基于用户的 CF(User-Based CF)、基于物品的 CF(Item-Based CF)

矩阵分解:SVD、ALS(交替最小二乘法,适用于大规模数据)

应用场景:电商商品推荐、视频推荐(如早期 Netflix)

深度学习推荐模型

神经协同过滤(NCF):融合 MF(矩阵分解)和神经网络,捕捉非线性交互

DeepFM(深度因子分解机):自动捕捉低阶和高阶特征交互,无需手动构造特征

序列推荐模型:GRU4Rec(基于 GRU)、SASRec(基于自注意力机制),捕捉用户行为序列依赖

应用场景:短视频推荐(如抖音、快手)、信息流推荐(如微信公众号、今日头条)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分