some 知识点 knowledge

输出 查看模型结构 使用print(model) model.name_module() model.named_parameters()等方式查看层级结构

对于vit reanet yolox等常见架构 结合官方文档和源吗

确定可冻结/可训练的模块 在vit中 可以冻结 patch_embed 和前几层blocks 只微调后面几层+分类头

通过requires_grad控制梯度更新 冻结backbone 解冻特定层

微调的时候 不同模块用不同的学习率

还有的是在不同的epoch使用不同的学习率

学习率调度知识点:

按epoch变化 step decay 阶梯衰减 每隔固定epoch 学习率*一个衰减因子

多阶段衰减,在预设的epoch节点 衰减

linear warmup_decay 线性预热+衰减 前几个epoch线性增加 learning rate 之后按照step/cosine衰减

啥是cosine decay?余弦衰减 学习率就像余弦的图像一样衰减下来

关于早停机制、保存最佳模型、最终模型是否最优

在深度学习训练中,训练loss会持续下降,但是验证指标(比如准确率 mAp f1 )往往会线上升后下降 这就是过拟合

F1的计算就是:

不能只是保存最后的checkpoint 而是要监控验证指标,保存历史最佳

最好的标准是自己决定的:你所关心的指标达到最优就是 最好

早停机制 :当模型在验证集上不再变好时,提前终止训练, 在每个epoch 或者是n个step 在验证集上评估指标 如果连续 m个epoch没有提升,就停止训练

让我想起了一个叫做优化器的东西。

optimizer = torch.optim.AdamW(

model.parameters(),#model.parameters这些参数是需要被更新的

lr=5e-5,#学习率

weight_decay=0.05,#衰减

betas=(0.9, 0.98) # ViT 常用 beta1=0.9 当前梯度占0.1 过去梯度占0.9 beta2=0.98梯度平方的平滑,控制步长缩放,防止某些参数更新太猛

scheduler = get_cosine_schedule_with_warmup(

optimizer,

num_warmup_steps=500,#学习率这样持续500个step 注意step和epoch的区别 训练一次就能看出来了 epoch是多个step

num_training_steps=total_steps

)

相关推荐
揽秀亭长7 小时前
论文降AI率有哪些方法?论文修改流程详解
人工智能·深度学习
民乐团扒谱机8 小时前
【微科普】节拍检测从入门到迁移:西方SOTA模型怎么识别Beat,中国戏曲民乐又该怎么训练?
深度学习·大模型
richard_yuu8 小时前
动态规划:强化学习的「数学基础」,从 MDP 到值迭代
深度学习·神经网络·算法·yolo·机器学习·动态规划
wshzd9 小时前
LLM之Agent(103)|当「快思考」遇上「深理解」:Laya 和 BERT 到底有什么区别?
人工智能·深度学习·bert
Zzj_tju10 小时前
混合检索为什么有效:RRF 改变了哪些排名?——SciFact 开发集冻结排名实验
人工智能·深度学习·语言模型
程序猿编码10 小时前
C++/CUDA 手写 LLM 推理引擎:拆解 vLLM 核心 PagedAttention 与连续批处理
开发语言·c++·深度学习·神经网络·推理·vllm
致Great10 小时前
不止自动写论文!谷歌 ScientistTwo 让 AI 自己做实验、补消融、回审稿
人工智能·深度学习·机器学习
在所不辞兄10 小时前
【人工智能每日精选】足球防守的价值,藏在没发生的进攻里
深度学习·神经网络·机器学习
Rocky Ding*12 小时前
Hi-DiT:一文读懂Hybrid Latent-Pixel Diffusion Transformer的本质与技术细节
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·hi-dit