深度学习模型优化:偏差方差、正则化与学习率调优
1. 内容整体设计与思路拆解1.1 大多数人都搞错了一件事优化模型不等于调参我见过太多人一上来就问“学习率设多少”“Dropout要不要开”好像模型效果不好就是这几个旋钮没拧对。实际做过项目的人都明白这种思路等于是头痛医头、脚痛医脚。模型优化这件事核心不是“调参”而是“定位问题”。在动手调任何参数之前你首先要回答一个问题**模型现在的“病”是什么**是欠拟合了还是过拟合了是数据有问题还是loss设计不合理不同的问题对应完全不同的处理手段。你让一个真正过拟合的模型去加大学习率、加强数据增强只会把它推向另一个极端。所以这篇文章虽然是“上篇”但前面这半个小时的定性分析才是整篇最有价值的部分。我建议你把这个思路刻在脑子里优化的第一步永远是诊断第二步才是开药。1.2 一个核心坐标系偏差与方差为了把“诊断”讲清楚我需要引入一个贯穿整个优化过程的坐标系——偏差与方差。高偏差欠拟合模型表现力不够训练集上loss都降不下来就像一个人背书都没背熟你指望他考试及格是不现实的。高方差过拟合训练集上表现神勇验证集上一塌糊涂就像一个人把练习册答案全背下来了换一套题目就懵。我用一个更直白的类比高偏差就像你让一个刚学做饭的人去当主厨他连基本功都没有高方差则是你让一个厨师只练同一道菜练了一百遍你让他做别的菜他直接不会了。这个坐标系的妙处在于它能帮你把优化手段分类。对抗高偏差你需要的是“让模型更强”——更深的网络、更强的特征、更好的优化器对抗高方差你需要的是“让模型更稳”——正则化、数据增强、提前停止。所有的优化手段本质上都是在偏差和方差之间找一个平衡点。1.3 “上篇”的边界我选择了什么既然标题是“上篇”就得做好取舍。我能讲的东西太多了数据清洗、特征工程、模型架构、损失函数设计、训练策略、超参数调优、模型蒸馏、量化压缩……如果全部塞进来结果就是每样都点一下每样都讲不透那这篇文章就废了。所以我对“上篇”的定位是聚焦训练过程和模型结构层的优化手段。也就是当你已经选定了模型结构、手里的数据也已经基本可用之后从“怎么把模型训练好”“怎么让模型本身更有韧性”这两个角度入手。数据侧的操作、推理侧的压缩这些内容我会留在“下篇”展开。这个定位是符合大多数人实际处境的——很多人的瓶颈根本不在模型选型而在训练技巧欠火候、正则化手法粗糙、超参数全靠猜。2. 核心细节解析与实操要点2.1 正则化不是玄学是给模型套缰绳一说正则化很多人只会背那几个名词L1、L2、Dropout、Early Stopping。但真正的问题不是“背下来”而是“什么时候用”。我逐个讲清楚。L2正则化权重衰减L2正则化的数学形式是在原有损失函数上增加一项 λ * Σ(w²)。它做的事情本质上是逼迫权重向量尽量小、尽量分散而不是让某个特征“一支独大”。换句话讲它防止模型把宝全押在少数几个特征上。实操中有一个非常关键但容易被忽视的点L2正则的权重衰减系数 λ 不是固定不变的它会和你的学习率、batch size、数据量产生耦合。我自己踩过的坑是某次测试里把 λ 从 1e-4 调到 1e-3在验证集上表现反而变差了——因为当时我在用一个比较大的学习率模型本来就处于欠拟合边缘再加权重衰减等于伤口撒盐。提示一个值得尝试的做法是把 L2 系数和当前训练阶段绑定。训练初期用小一点的值让模型充分探索训练后期加大正则力度把噪声权重压下去。虽然很多框架里这只是个超参数但你完全可以自己写个随 epoch 变化的小逻辑效果会非常明显。DropoutDropout 的核心直觉是让每个神经元不能依赖“同事”逼它独立学会特征。它是对抗过拟合最粗暴有效的手段之一但使用时有细节。第一不要在输入层之前就用高强度的 Dropout。我见过有人把 Dropout 设在第一层之前导致模型输入信息大量丢失训练半天 loss 不降——这是把“防过拟合”误用成了“信息破坏”。第二Dropout 比例不是越高越好。0.5 是常用值但如果模型本身容量不大0.3 可能更合适。第三RNN 类模型用 Dropout 时要注意位置大多数框架只支持在多步之间共享权重的变体或直接在输出层加。Early StoppingEarly Stopping 的逻辑最简单验证集 loss 连续 N 轮不下降就停机。它之所以有效是因为模型训练到后面往往是在“记住噪声”而验证集的 loss 一旦开始反弹说明过拟合已经开始了。这个 N 怎么取我的习惯是 10 到 20 个 epoch并且配合“保存最优权重”的策略。具体做法是每个 epoch 结束时比较验证集表现如果比历史最好成绩更优就保存一份权重快照否则不覆盖。这样不管后面怎么震荡最终都能回滚到最好的状态。2.2 学习率整个训练流程的命门学习率可以说是所有超参数里面最敏感的一个。它太大loss 像过山车一样震荡它太小训练几百轮还在原地蠕动。我见过的项目中有相当一部分“模型跑不出来”的问题根源就在学习率上。Warmup 为什么有效Warmup 的核心意图是训练最开始阶段模型参数处于随机状态梯度方向往往非常杂乱。如果一上来就按大学习率走模型很容易被带到沟里。用一个小学习率先走几十步等于先“探路”让模型进入一个梯度方向比较稳定的区域后再逐步加大步长。我自己实现 warmup 时习惯用线性增长从 0 开始在前 5 个 epoch 内线性增加到目标学习率。也有一些场景用指数增长但实测下来线性增长足够并不需要搞得太复杂。衰减策略怎么选Step Decay每隔若干轮乘以一个系数比如每 30 轮 ×0.1。优点是简单暴力缺点是衰减时机需要人工盯。Cosine Annealing按余弦曲线平滑下降到接近 0然后可选重启即带热重启的余弦退火。它和 warmup 搭配时效果非常稳尤其适合训练视觉模型。ReduceLROnPlateau监控验证集指标一旦“原地踏步”就自动降学习率。这个策略适合如果你不想手动管学习率它比较省心。我的个人偏好是 warmup cosine 的组合。原因很简单Step Decay 在衰减点前后容易出现验证集 loss 的跳变而对数曲线又往往太柔和。Cosine 的下降节奏天然和模型收敛规律贴合——前期步幅大、探索宏观结构后期步幅小、精细打磨细节。注意无论用哪种策略学习率相关参数都不能在一开始就定死。我的习惯是先用小数据集快速跑一个“学习率扫描”实验找出 loss 还能稳定下降的区间然后再设定正式值。这叫“给超参数一个锚点”而不是全靠猜。2.3 优化器选型SGD、Adam 和 AdamW优化器的话题总是充满争论。我直接给出我的经验结论对于大多数任务Adam 系优化器是默认选项当你的模型有过拟合倾向时AdamW 比 Adam 更可靠当你有充分的调参时间和计算资源SGD with Momentum 仍然有它的上限优势。为什么 Adam 是默认项因为它自适应地调整每个参数的学习率对“稀疏特征”和“不同尺度的参数”都能给出比较合理的步长。这在 NLP 和推荐系统这类特征分布差异大的场景里尤其友好。但 Adam 有一个问题它的权重衰减实现方式不是真正的 L2 正则。Adam 的 L2 正则梯度会被累计到一阶动量里导致权重衰减实际效果被缩放。AdamW 的贡献在于把权重衰减从梯度中剥离、直接在参数更新时执行。论文里实验证明 AdamW 在不少任务上尤其是 Transformer 类模型比 Adam 收敛更稳、泛化更好。从实操角度如果在同一个项目里把 Adam 换成 AdamW通常只需要在优化器初始化时改一行参数但要把 weight_decay 按实际任务现象重新调一遍。我见过有人换到 AdamW 之后忘调 weight_decay结果模型过拟合或欠拟合全都换了一副面孔。SGD with Momentum 的优势在于它的泛化性能更稳定——这种“不把每个参数照顾得面面俱到”的特性反而让它更难记住噪声。如果你在做一个图像分类任务数据量中等、模型不过大我确实见过 SGD 训练出来的最终表现比 Adam 好一点点但训练过程需要调得更细致。所以AdamW 是一个综合来看很划算的中间路线。3. 实操过程与核心环节实现3.1 一个完整案例从“训练失败”到“收敛稳定”为了让你更容易理解我以一个虚构的“模拟项目X”为例——一个有 50000 张图、10 个类别的图像分类任务使用一个常见的卷积网络结构。初期我们直接使用默认参数学习率 0.01、Adam 优化器、batch size 64、没有任何正则化手段。训练 20 个 epoch 后训练集准确率 78%验证集准确率 61%。这个差距已经非常明显地指向过拟合。到这一步直接加正则化且慢。我们应该先做一次多步骤诊断。3.2 诊断三条线训练集、验证集、测试集我习惯把训练过程的关键指标画在同一张图里训练集 loss、验证集 loss、验证集准确率。诊断的基本逻辑是训练集 loss 高——先怀疑欠拟合或模型容量不够。这时候加 Dropout 是反效果的因为你让一个本来就不够强的模型雪上加霜。训练集 loss 低、验证集 loss 高——过拟合转向正则化、数据增强、提前停止。训练集和验证集 loss 都高——可能是数据预处理的问题或学习率过小先排除工程层面的 bug再考虑调参。“模拟项目X”的处境明显符合第二种训练集已经 78%验证集只有 61%差值为 17 个百分点这是明显的方差问题。于是我们的优化“处方”也明确了给模型加正则、做数据增强、增强早停机制。3.3 落地“三连击”优化方案接下来的实操分成三步每一步都有明确的参数设定和理由第一步引入数据增强我采用的是随机裁剪、随机水平翻转、颜色抖动。其中随机裁剪是图像分类任务里效果最突出的一招它相当于把每张图“换个角度”重新认识强迫模型学到类别本质而不仅仅是背景区域。颜色抖动的幅度不宜过大我用的是亮度 ±0.2、对比度 ±0.2、饱和度 ±0.2。训练时数据和增强后的数据合在一起进模型验证和测试时不加增强。第二步调整优化器为 AdamW并设置 warmup cosine 学习率调度优化器换成 AdamWweight_decay 先设 0.01再配合 5 个 epoch 的线性 warmup 和余弦退火。batch size 保持 64 不变。此时学习率扫描后确定峰值学习率为 0.001。第三步加入 Early Stopping 和模型快照设置停在验证集 loss 连续 12 个 epoch 没有更好成绩时停止训练。每个 epoch 结束保存一次最优验证状态。这三步一点不难难的是理解为什么要同时改而不是只改了其中一个。数据增强解决“模型见过的图太少、容易背题”的问题AdamW 正则解决“权重过于自信、某些特征被过度放大”的问题Early Stopping 解决“练到后期开始背噪声”的问题。三者面向的过拟合原因不同、彼此互补。3.4 代码参考优化器与调度器配置下面这段逻辑是我在实际项目里常用的配置你可以直接作为模板参考。import torch from torch.optim import AdamW from torch.optim.lr_scheduler import CosineAnnealingLR # 假设 model 已定义 optimizer AdamW(model.parameters(), lr1e-3, weight_decay0.01) # warmup 期间手动线性调整学习率 def set_lr(optimizer, lr): for param_group in optimizer.param_groups: param_group[lr] lr warmup_epochs 5 total_epochs 50 for epoch in range(total_epochs): if epoch warmup_epochs: # 线性从 1e-5 涨到 1e-3 lr 1e-5 (1e-3 - 1e-5) * epoch / warmup_epochs set_lr(optimizer, lr) else: # 余弦退火剩余轮次里平滑下降到接近 0 scheduler CosineAnnealingLR(optimizer, T_maxtotal_epochs - warmup_epochs) scheduler.step() # 正常训练循环...这里有一个注意点warmup 结束时的学习率必须和后续调度器的起点对齐否则你会看到 loss 在 warmup 转 cosine 的瞬间突然跳一下。上面代码在 epoch 到达 warmup_epochs 的时刻把学习率交给 scheduler 接管起点自然衔接。3.5 训练过程实录这套配置跑下来我在训练过程的第 25 轮左右验证集准确率到了 71%。和第 20 轮就停在 61% 相比已经稳稳提升了一截。最有意思的是验证集 loss 曲线的形状变化之前它在 15 轮左右就开始掉头向上典型过拟合形态加了这些方案之后曲线一直到 40 轮都在缓慢下降只是后面变得非常平坦。这是模型进入“瓶颈”的信号早停机制判断在第 43 轮停掉理论上没必要再多花算力空转。从 61% 到 71%改善 10 个百分点凭的不是单一魔法参数而是把诊断做对、把三个互补的手段同时落地。这也再次说明优化模型不是靠一个灵丹妙药而是靠一个能被诊断路径驱动的组合方案。4. 常见问题与排查技巧实录4.1 学不进去loss 一开始就不降这是最常见的“假病”。如果你把学习率设得太小或者网络初始化不合适可能前几十个 batch 里 loss 就卡在原地。我的排查顺序是拿一个 batch 做快速过拟合实验——如果连单个 batch 都没法把 loss 降下去说明模型结构有问题或者任务定义有问题这时候动优化器毫无意义。检查输入数据有没有归一化。图像任务常见的坑是像素值范围不对NLP 任务则是 embedding 或者 attention mask 弄错。如果单 batch 能过拟合再把训练集缩小到 1000 条看能不能在一个小规模上收敛。不能收敛就检查是不是学习率太大。很多所谓的“模型优化”还没轮到优化器出场其实是数据管线有 bug。先在单 batch 上跑通是效率最高的兜底手段。4.2 训练到一半 loss 爆掉出现 NaNNaN 的元凶我见过的主要有三类学习率过大梯度爆炸。数据里出现了 NaN 或无穷大值反向传播后传染到所有参数。使用了不稳定的数值操作比如 log 里出现 0、softmax 输入过大等。临时解决手段是设个梯度裁剪torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0)但请记住这只是“止血”。要根治还得回到数据和模型本身去查。如果遇到 NaN 总是出现在某个特定 epoch 或特定 batch那大概率是数据样本的问题找出那条样本等于解决问题的一半。4.3 加了 Dropout 反而变差我遇到过不少案例一个人把 Dropout 从 0.2 调到 0.5验证集准确率反而掉了。这种“加正则反而更差”的现象往往说明模型已经从高方差状态转向了高偏差状态——它本来就在欠拟合边缘你再砍掉了一堆神经元等于雪上加霜。所以加正则之前先看训练集 loss 低位到什么程度。如果训练集 loss 还很高请优先增加模型容量、调高特征表达能力而不是一味加正则。只有训练集 loss 已经非常低了、验证集却跟不上这时候正则化才真正对症。4.4 每次训练结果都不一样这是很多新手会忽略的问题。深度学习模型训练涉及数据加载顺序、并行随机性、权重初始化天然是随机的。如果你没固定随机种子每次训练的结果会有波动。固定种子的同时也要认识到真正重要的不是某个 seed 下的微小波动而是多次运行的平均表现和置信区间。我在给团队做技术方案评估时通常会做 2~3 次重复实验对比均值而不是揪着某一次的结果反复调参。常见问题速查表现象最可能的原因首选排查动作loss 始终不降学习率过小或数据预处理错误单 batch 过拟合测试验证集 loss 快速反弹过拟合加强数据增强、加早停loss 震荡剧烈学习率过大降低学习率或加 warmup训练后期出现 NaN梯度爆炸或数据含异常值梯度裁剪 数据清洗早停后模型表现不稳验证集划分不合理固定验证集种子或做多次实验5. 进阶补充一些值得尝试的优化手法5.1 标签平滑标签平滑做的事情是把 one-hot 标签里“1”和“0”的极端分布改为比如 0.9 和 0.1/类别数。原理上它让模型不要过度自信于训练标签有利于缓解过拟合。我常用在分类任务里尤其是类别噪声比较大的数据集。比较典型的取值是 0.1过大的平滑会影响模型在干净数据上的表现。它的实现非常轻量换来的是验证集上通常会有一点稳定的提升。5.2 梯度裁剪到底该不该配如果你用的是 Transformer 类模型梯度裁剪基本是标配。对 LSTM、大 batch 规模训练也能有效防止梯度爆炸。一个容易被忽略的点是梯度裁剪的阈值和优化器是联动的。如果学习率已经调得很低梯度裁剪反而可能把有效梯度也一起剪掉让模型“原地踏步”。所以先定性问题——是真的梯度爆炸还是学习率不匹配再决定要不要用。5.3 多卡训练的同步与策略如果你在用 DataParallel 或 DistributedDataParallel有一个知识点很关键同步训练下的 batch size 变大等效于学习率也应该放大。Batch size 翻倍、学习率也跟着翻倍是一种简易但有效的规则。如果设置不对会出现一个奇怪的现象单卡训练收敛得很好多卡一上就跑偏。此外BN 层在多卡训练时有同步统计信息与局部统计信息的区别。使用同步 BN 可以提升稳定性尤其在目标检测这类模型里体验非常显著。5.4 调参顺序的经验排序走到最后我想给一个比较实用的调参顺序建议帮你节省大量时间先定学习率区间这是杠杆最大的参数。再定 batch size 和 epoch 数影响训练节奏和稳定性。然后调整正则化系数包括 weight_decay、Dropout 强度。最后微调优化器类型和调度策略。为什么把学习率放第一位因为学习率错了后面所有参数的表现都会失真。比如你用一个偏大的学习率去看 Dropout 的效果很可能得出来 Dropout“完全没用”的错误结论其实是学习率已经把训练搞乱了。6. 写在“上篇”末尾的几句实在话模型优化不是一场“拿着大锤到处砸”的工程它更接近医生看病——你不能不诊断就开药更不能把药量一味加大。与其盲目调参不如先建立一个完整的诊断意识看训练集 loss、看验证集 loss、看它们之间的距离判断模型当前是高偏差还是高方差然后选择对应的手段。这是我在无数次失败的训练里打磨出来的工作习惯也是“上篇”最想让你带走的东西。在实操过程中我反复体会到一件事改动要刻意、监控要及时。不要一次性把十个参数全变了那样就算效果变好你也不知道是哪个起的作用。每次改动尽量控制在一两个变量内然后看着曲线去检验保持实验的“可解释性”。很多团队的实验记录之所以一塌糊涂就是因为改得太勤、记得太少。“上篇”里讨论的这些偏训练侧和模型侧的手法基本已经覆盖了大多数“模型训不好”的场景。真正难啃的骨头——数据质量、特征构建、模型架构创新——以及推理侧的优化手段这是一个更长的话题。等整理完之后下篇里再和各位细聊。

相关新闻

AI生成模特图实战:跨境电商服装多市场本地化出图全流程

AI生成模特图实战:跨境电商服装多市场本地化出图全流程

做跨境服装这行,大家应该都经历过这种纠结:新品上架需要模特图,但请模特、租棚子、找摄影师,一套流程走下来少则几百块,多则上千块;好不容易拍完,换一个区域市场又发现审美完全对不上——欧美站…

2026/10/18 4:08:26 阅读更多 →
VS2019+Qt项目x86转x64及Debug切Release完整指南

VS2019+Qt项目x86转x64及Debug切Release完整指南

接手过 Qt 项目的开发者,大概率都碰到过这种需求:项目在 VS2019 里一直跑 x86 Debug 配置,某天对方突然丢来一句话“帮我出个 x64 的 Release 版”。听起来好像只是下拉菜单里改两个选项,真正上手才发现链接错误、库找不到、启动…

2026/10/18 4:08:26 阅读更多 →
[TypeScript学习笔记-11]创建一个极简的monorepo项目

[TypeScript学习笔记-11]创建一个极简的monorepo项目

Monorepo项目是一种将多个相关应用、服务或库统一存放在同一个代码仓库的管理方式。它不同于传统的多仓库(Polyrepo),通过集中化的结构提升协作效率。在monorepo中,所有项目共享统一的依赖、构建工具和配置文件,开发者…

2026/10/18 4:08:26 阅读更多 →

最新新闻

基于深度学习的目标检测道路坑洼识别:YOLOv8训练与部署实践

基于深度学习的目标检测道路坑洼识别:YOLOv8训练与部署实践

毕业设计选“基于深度学习的道路坑洼识别”这个方向的同学,最近明显多了起来。原因不难理解:既能用到Python、深度学习、图像识别这些当下最热的技术词汇,又有一个清晰可落地的应用场景,数据也相对容易获取。但真正动手做起来&…

2026/10/18 11:13:00 阅读更多 →
机器学习与深度学习道路坑洼识别:从数据集到部署的完整实践指南

机器学习与深度学习道路坑洼识别:从数据集到部署的完整实践指南

在开始写之前,我先说句题外话。每年这个时间,都有很多同学在课程设计和毕业设计的选题边缘反复横跳,既想找个有区分度的方向,又怕最后做不出来。道路坑洼识别这个题目,说实话,方向是好的——机器学习和深度…

2026/10/18 11:13:00 阅读更多 →
2026年AI接口聚合服务实力横评:词元之河与硅基流动稳定性对比

2026年AI接口聚合服务实力横评:词元之河与硅基流动稳定性对比

这轮横评的方法论先交代清楚:七十二小时连续压测、十二类典型调用场景模拟,再叠加对三十七位一线开发者的访谈,围绕协议兼容、稳定性、成本透明、密钥治理等八项指标逐一打分。行业背景也不容忽视——《中国AI基础设施白皮书》的调研显示&…

2026/10/18 11:13:00 阅读更多 →
MySQL 8.0免安装版配置指南:从解压到多实例部署

MySQL 8.0免安装版配置指南:从解压到多实例部署

简介:这是一份面向后端开发、运维及数据库初学者的 MySQL 8.0 免安装绿色版资源,主打解压即用,无需繁琐的安装与初始化流程,适合需要快速搭建本地测试环境、临时验证 SQL 语句或学习数据库原理的场景。压缩包共 420 个文件&#x…

2026/10/18 11:13:00 阅读更多 →
AI辅助教材写作如何降低查重率?五个阶段实操指南

AI辅助教材写作如何降低查重率?五个阶段实操指南

1. 先别急着让AI“写”,先搞清楚查重系统到底在“查”什么干过教材编写的人应该都有同感:最让人头疼的不是“没内容可写”,而是辛辛苦苦熬了几个通宵弄出来的稿子,往查重系统里一丢,重复率直接飙到百分之三四十。这时候…

2026/10/18 11:13:00 阅读更多 →
虚拟专题:联邦学习 | 基于 TaoToken 统一 API 通道的联邦学习研究综述与工程落地指南

虚拟专题:联邦学习 | 基于 TaoToken 统一 API 通道的联邦学习研究综述与工程落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 11:12:00 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →