四、深度学习核心知识(进阶必备)
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(基于自注意力机制),捕捉用户行为序列依赖
应用场景:短视频推荐(如抖音、快手)、信息流推荐(如微信公众号、今日头条)
-
算法
+关注
关注
23文章
4810浏览量
98600 -
人工智能
+关注
关注
1821文章
50366浏览量
267026 -
机器学习
+关注
关注
67文章
8567浏览量
137244 -
深度学习
+关注
关注
73文章
5610浏览量
124651 -
AI大模型
+关注
关注
0文章
410浏览量
1045
发布评论请先 登录
《AI Agent 应用与项目实战》----- 学习如何开发视频应用
《AI Agent 应用与项目实战》阅读心得3——RAG架构与部署本地知识库
AI大模型微调企业项目实战课
【免费直播】AI芯片专家陈小柏博士,带你解析AI算法及其芯片操作系统。
史上最全AI人工智能入门+进阶学习视频全集(200G)【免费领取】
深度学习推理和计算-通用AI核心
深度学习DeepLearning实战
数据结构预算法核心知识点总结概述
嵌入式开发中会用到哪些核心知识
掌握EMC核心知识——7天倒计时!
AI 算法核心知识清单(深度实战版2)
AI算法核心知识清单(深度实战版4)
AI算法核心知识清单(深度实战版3)
评论