博客地址:https://www.cnblogs.com/zylyehuo/
用最通俗的“做菜”比喻来讲讲一个典型的深度学习训练流程:
1. 准备食材(数据准备)
- 食材:时尚服饰图片 + 标签(比如“鞋子”“衬衫”)
- 切菜:把图片分成「训练集」和「测试集」,一次处理一小盘(batch),这样不会下锅(显存)爆炸。
2. 准备厨具(模型搭建)
- 平底锅(Flatten 层):把 28×28 的图片“摊平”,变成一长条面团(向量)。
- 锅铲(Linear 层):把这条面团分成 10 份(对应 10 种服饰),然后尝出“味道”好坏(logits)。
3. 调味料(损失函数)
- 味道评分(CrossEntropyLoss):把锅铲出来的 10 份“口味”跟真实标签做对比,打分(损失值)。
- 分数越低越好:代表锅铲做得越对味。
4. 火候控制(优化器)
- 火力大小(学习率 lr=0.1):火太大易糊,太小不熟,用 SGD 小步烹饪。
- 翻炒(反向传播 + 参数更新):不断根据味道评分微调锅铲角度(网络权重),让菜越炒越香。
5. 厨艺验收(度量函数)
- 训练时当场尝一口(计算训练集准确率 & 损失)
- 出锅后请客再尝(用测试集评估准确率,保证不过拟合,也能做给新客人吃)
6. 厨房监控(可视化)
- 打分板(Accumulator):记录每盘尝到的口味分数与正确率
- 实时大屏(Animator):把每一轮炒菜后的分数/准确率用折线图画出来——
- 蓝线:味道评分(损失)要一路下降
- 紫线:训练客人给的分(训练准确率)要一路上升
- 绿线:测试客人给的分(测试准确率)也要上升并稳定
7. 循环烹饪(训练轮数)
- 第 1 轮:先培训小助手(train_epoch_ch3)做第一遍炒菜 → 当场尝一口 → 记录分数
- 第 2 轮:再培训一遍 → 再尝 → …
- 重复 N 轮,直到菜品(模型)足够香。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |