分布外泛化综述:从ERM到因果学习,让模型不再背题
简介这份资源是清华大学崔鹏等学者撰写的《分布外泛化(Out-Of-Distribution Generalization)》综述论文PDF面向深度学习研究者、算法工程师及关注模型鲁棒性的高年级学生系统回应训练与测试分布不一致时模型性能骤降这一核心难题。论文从OOD泛化问题的形式化定义切入将现有方法按学习流程归为无监督表示学习、监督模型学习与优化策略三类并串联因果推理、不变性学习、稳定学习与分布鲁棒优化之间的理论联系同时梳理常用数据集与评估指标最后给出未来研究方向。资源包共1个PDF文件约5.34MB内容完整、结构清晰便于按章节精读与检索。目前已有2740人学习下载适合希望快速建立OOD泛化知识框架、把握方法脉络与前沿议题的读者参考。1. 到底什么是分布外泛化一个让模型不再“背题”的概念你身边一定有这样的同学刷完了整本习题册每道题都做得滚瓜烂熟可一到考场上遇到稍微变个花样的题目就彻底懵了。深度学习模型也有同样的毛病而且比这严重得多。它在训练数据上表现堪称完美可一旦部署到真实世界面对和训练时不太一样的数据性能就可能断崖式下跌有时候甚至还不如瞎猜。这个让无数研究者头疼的问题就叫分布外泛化Out-of-Distribution Generalization简称 OOD 泛化。通俗地说分布外泛化研究的是当测试数据的分布和训练数据的分布不一样时模型还能不能好好工作。经典机器学习有一个根基性的假设叫独立同分布假设意思是训练和测试数据来自同一个分布、彼此独立。可现实世界哪会这么听话数据会随时间漂移采集方式会带来偏差不同场景下的数据特征也千差万别。这篇由清华大学崔鹏等学者撰写的综述论文就是系统梳理 OOD 泛化问题的第一份全景式地图从定义、方法、评估到未来方向把这件事讲透了。搞懂它你就能明白为什么实验室里表现优异的模型到了真实场景中会频频翻车。2. 为什么经典方法在分布变化时会失灵i.i.d. 假设的脆弱性2.1 经验风险最小化一个贪心的“好学生”经典监督学习的核心思路可以用一个词概括经验风险最小化Empirical Risk MinimizationERM。它的逻辑非常直白——既然训练数据就是世界的缩影那我只要让模型在训练集上的平均损失降到最低它就应该能在测试集上表现良好。用数学表达就是[ L_{ERM} \frac{1}{n}\sum_{i1}^{n} \ell(f_\theta(x_i), y_i) ]这个公式的含义是把 n 个训练样本的损失加起来取平均然后调整模型参数 θ 让这个平均值最小。在独立同分布假设成立时ERM 是有理论保证的训练误差小测试误差也小。但问题恰恰出在这里。ERM 就像一个贪心的学生它会抓住训练数据中所有能帮助降低损失的关联不管这些关联是真实的因果规律还是仅仅在训练集中偶然出现的虚假相关。打个比方如果训练集里所有带水面的图片都标注为“鸭子”模型可能会学会“有水就是鸭”而不是真正识别鸭子的特征。一旦测试时出现一张没有水的鸭子图片模型就傻眼了。2.2 分布偏移训练和测试之间的那道裂缝分布偏移是指训练分布 (P_{tr}(X, Y)) 和测试分布 (P_{te}(X, Y)) 不一致。这种不一致可以来自很多原因时间推移导致数据特征变化比如用户偏好随季节波动采样过程引入选择偏差比如只从某个特定渠道收集数据空间差异导致不同地区的数据分布不同。综述中重点讨论了一种最常见的分布偏移——协变量偏移Covariate Shift。它的定义是 (P_{tr}(Y|X) P_{te}(Y|X)) 但 (P_{tr}(X) \neq P_{te}(X))。用人话说就是输入特征 X 的分布变了但给定输入后标签 Y 的生成机制没变。比如一个识别猫的模型训练时用的都是白天拍的照片测试时遇到夜晚拍的照片像素分布完全不同但“猫之所以是猫”这件事没变。协变量偏移之所以被重点关注是因为它相对可控而且在实际中非常普遍。但即便如此经典方法依然会翻车因为 ERM 学到的那些虚假关联在测试分布中可能根本不成立。综述中明确指出当分布偏移较强时仅用训练误差优化的模型会表现极差有时甚至比随机猜测还差。2.3 一个具体的翻车场景设想一个医疗辅助诊断系统训练数据来自某家医院的历史病例。这家医院恰好位于空气质量较差的区域所以数据中“咳嗽”特征和“呼吸道疾病”标签高度相关。模型很快学会了“咳嗽等于生病”这个规律在训练集上准确率很高。但当这个系统被部署到空气质量优良地区的医院时很多健康人也会因为其他原因咳嗽模型的误报率就会飙升。这个例子说明了一个关键问题模型学到的是相关性而不是因果性。咳嗽和呼吸道疾病之间确实有因果联系但“空气质量差”这个混杂因素让模型把咳嗽当成了决定性证据。在分布变化时这种依赖虚假相关的模型就会崩溃。OOD 泛化的核心目标就是让模型学到那些在不同分布下都稳定的、真正因果的规律。3. 三大类方法怎么选从表示、模型到优化的完整拼图3.1 无监督表示学习先把特征提纯无监督表示学习类方法的核心思路是在模型学习具体任务之前先让它学会一种好的特征表示。这种表示应该能把数据中真正有意义的、独立的变异因素分离开来而不是把所有信息混在一起。综述中把这类方法分为两个分支解耦表示学习和因果表示学习。解耦表示学习的目标是让学到的表示中每个维度对应数据中一个独立的变异因素。比如在人脸图像中一个维度控制表情另一个维度控制光照再一个维度控制姿态。这样当测试分布中光照条件变化时模型只需要调整光照相关的维度而不会影响对表情和姿态的识别。这就像把一团乱麻整理成几根独立的线每根线负责一件事互不干扰。因果表示学习则更进一步它试图让表示直接对应数据背后的因果结构。综述中提到这类方法利用人类先验知识来设计和约束表示学习过程使学到的表示具有某些对 OOD 泛化有帮助的性质。打个比方解耦表示学习是把一团乱麻分成几根线而因果表示学习是直接画出这些线之间的连接图告诉你哪根线拉动了哪根线。这类方法的优势在于它们从数据本身的结构入手不依赖于特定任务的标签信息。但挑战也很明显如何定义什么是“好的”解耦以及如何保证学到的因果结构在分布变化时依然成立都是尚未完全解决的问题。3.2 监督模型学习改造模型本身监督模型学习类方法直接在模型架构和训练策略上做文章让模型本身具备更强的 OOD 泛化能力。综述中把这类方法分为三个主要分支因果学习、稳定学习和领域泛化。因果学习方法的思路是让模型学习变量之间的因果关系而不是简单的统计关联。具体做法包括利用工具变量、引入干预、构建因果图等。举个例子如果模型知道“咳嗽”和“疾病”之间有一个混杂因素“空气质量”它就会在预测时对这个因素进行校正而不是盲目依赖咳嗽特征。稳定学习方法则从选择偏差的角度来建模分布偏移。它的核心思想是如果某个特征和标签之间的关系在不同子群体中都稳定存在那么这个关系就更可能是因果的。综述中提到稳定学习通过引入分布偏移来模拟选择偏差从而让模型学会关注那些稳定的特征。这就像在多个不同的数据集上训练如果某个规律在所有数据集上都成立那它大概率是可靠的。领域泛化方法则直接利用从不同领域收集的数据。它的假设是虽然测试领域未知但训练时可以看到多个不同领域的数据。模型需要从这些领域中找到共同的不变规律。比如训练数据来自多个不同医院模型需要学到“无论哪家医院都成立”的诊断规律而不是只适用于某家医院的特定模式。这三类方法的共同点是它们都试图让模型摆脱对训练分布中虚假相关的依赖。区别在于切入角度不同——因果学习从因果结构入手稳定学习从统计稳定性入手领域泛化从多领域数据入手。3.3 优化策略直接改造目标函数优化类方法不改变模型结构也不改变表示学习过程而是直接修改优化目标让模型在训练时就考虑到分布偏移的可能性。综述中重点介绍了两类方法分布鲁棒优化和基于不变性的优化。分布鲁棒优化Distributionally Robust OptimizationDRO的思路是不要求模型在训练分布上表现最好而是要求它在训练分布周围一定范围内的所有分布上都表现良好。这就像考试前不只看一本习题册而是把所有可能变形的题目都考虑进去确保无论题目怎么变你都能应对。用数学表达DRO 的目标是最小化最坏情况下的损失[ \min_\theta \sup_{P \in \mathcal{P}} \mathbb{E}{(X,Y) \sim P}[\ell(f\theta(X), Y)] ]这里的 (\mathcal{P}) 是一个分布集合通常定义为与训练分布距离不超过某个阈值的所有分布。(\sup) 表示取最坏情况。这个公式的含义是在所有可能的测试分布中找到让损失最大的那个分布然后调整模型参数让这个最大损失最小化。基于不变性的优化则从另一个角度入手它要求模型学到的预测机制在不同环境下保持不变。具体做法是同时优化多个环境上的损失并强制模型在这些环境上的表现尽可能一致。如果某个特征和标签的关系在所有环境中都成立那它就是不变的值得依赖。这两类优化方法的优势在于它们有较强的理论保证能够从数学上刻画 OOD 泛化的最优性条件。但挑战也很明显如何定义合适的分布集合 (\mathcal{P})以及如何在多个环境上高效优化都是实际应用中需要仔细权衡的问题。4. 容易混淆的几个概念OOD 泛化、领域适应与迁移学习4.1 OOD 泛化 vs 领域适应测试分布知不知道这是最容易混淆的一对概念。领域适应Domain Adaptation假设我们能拿到测试分布的数据要么有标签要么无标签。如果有无标签的测试数据领域适应方法可以通过对齐特征分布等方式让模型适应测试分布。而 OOD 泛化假设测试分布完全未知训练时根本看不到测试数据。用考试来打比方领域适应就像考前给你看了模拟题虽然没有答案你可以针对性地复习OOD 泛化则是考前什么都不知道只能靠平时学到的真本事。综述中明确指出领域适应可以看作 OOD 泛化的一个特例即我们对测试分布有一些先验知识的情况。正因为 OOD 泛化条件更苛刻它才需要更通用的方法而不是针对特定测试分布做适配。4.2 OOD 泛化 vs 迁移学习目标不同迁移学习Transfer Learning的目标是把从一个任务上学到的知识迁移到另一个相关任务上。比如在 ImageNet 上预训练的模型迁移到医学图像分类任务上。迁移学习关注的是任务之间的知识复用而 OOD 泛化关注的是同一个任务在不同分布下的表现。两者的关键区别在于迁移学习中源任务和目标任务通常是不同的但 OOD 泛化中训练和测试是同一个任务只是数据分布变了。当然两者也有交集——如果迁移学习中的源域和目标域数据分布差异很大那它也会面临 OOD 泛化问题。但它们的核心关注点不同迁移学习关心“能不能用”OOD 泛化关心“稳不稳定”。4.3 OOD 泛化 vs 分布鲁棒优化手段与目标分布鲁棒优化DRO是解决 OOD 泛化问题的一种优化方法而不是 OOD 泛化本身。OOD 泛化是问题定义DRO 是解决问题的一种手段。综述中把 DRO 归类为优化类方法与基于不变性的优化并列。初学者容易把两者混为一谈觉得 OOD 泛化就是 DRO。实际上OOD 泛化的方法体系要宽广得多包括表示学习、模型学习、优化策略三大类。DRO 只是优化策略中的一个分支。打个比方OOD 泛化是“如何让模型在未知分布上表现好”这个问题DRO 是“通过最坏情况优化来达到这个目标”的一种具体做法。4.4 OOD 泛化 vs 因果推断工具与问题因果推断Causal Inference是 OOD 泛化研究中的重要工具但不是唯一工具。综述中多次提到因果学习、因果表示学习等方法它们利用因果推断的理论来设计 OOD 泛化算法。但 OOD 泛化问题本身比因果推断更广它还涉及表示学习、优化理论、领域泛化等多个方向。把因果推断等同于 OOD 泛化就像把锤子等同于整个工具箱。因果推断提供了一种强有力的视角——通过识别不变的因果机制来实现泛化但 OOD 泛化还需要解决如何学习好的表示、如何设计鲁棒的优化目标等问题。综述中专门讨论了不同方法之间的理论联系其中因果推断是连接多个方法分支的一条重要线索但不是全部。4.5 OOD 泛化 vs 稳定学习整体与局部稳定学习Stable Learning是 OOD 泛化方法中的一个分支综述中把它归类为监督模型学习类方法。稳定学习通过模拟选择偏差来建模分布偏移强调模型在分布变化下的稳定性。但 OOD 泛化还包括无监督表示学习和优化策略两大类方法。稳定学习可以看作是 OOD 泛化的一个子集它有自己的侧重点和适用场景。如果你的问题主要是选择偏差导致的分布偏移稳定学习可能很合适但如果你的问题是测试分布完全未知且可能发生剧烈变化那可能需要结合表示学习和优化策略的方法。综述中把稳定学习与其他方法并列讨论并分析了它们之间的理论联系说明它们是互补而非替代的关系。5. 什么时候该用 OOD 泛化边界判断与一个具体例子5.1 适用场景分布会变且测试分布未知OOD 泛化方法最适合的场景有一个共同特征训练时无法获得测试分布的数据且测试分布可能与训练分布有显著差异。综述中列举了几个高风险的典型应用医疗健康、自动驾驶、军事领域。这些场景的共同点是模型部署后遇到的数据分布几乎不可能和训练时完全一致而且犯错的代价极高。具体来说如果你遇到以下情况就应该考虑 OOD 泛化方法数据采集过程存在选择偏差比如只从特定渠道收集数据数据随时间自然漂移比如用户行为随季节变化模型需要部署到与训练环境不同的新场景中。在这些情况下经典 ERM 方法学到的虚假关联会在分布变化时失效OOD 泛化方法能帮你构建更鲁棒的模型。5.2 不适用场景测试分布已知或变化不大反过来如果测试分布是已知的或者训练和测试分布差异很小那 OOD 泛化方法可能不是最优选择。比如如果你能拿到测试数据的无标签样本领域适应方法可能更直接有效。如果你的数据分布非常稳定经典 ERM 方法已经足够好引入 OOD 泛化方法反而可能增加不必要的复杂度和计算开销。综述中也提到OOD 泛化问题在一般情况下是不可解的除非对测试分布的变化方式做出假设。这意味着 OOD 泛化方法都有各自的适用条件没有一种方法能应对所有类型的分布偏移。选择方法时需要先分析你的分布偏移属于哪种类型是协变量偏移、标签偏移还是概念偏移不同类型对应不同的方法分支。5.3 一个具体例子从训练到部署的完整判断假设你在开发一个跨平台的图像识别系统训练数据来自某实验室的标准数据集但部署环境包括手机、监控摄像头、卫星图像等多种来源。训练时你无法获得部署环境的图像数据而且不同来源的图像在分辨率、光照、角度等方面差异巨大。这个场景就是典型的 OOD 泛化问题。你可以考虑以下策略首先用无监督表示学习方法学习对光照、角度等变化不敏感的特征表示其次用领域泛化方法如果训练时能收集到多个不同来源的数据让模型学习跨领域的共同规律最后用分布鲁棒优化来训练模型让它在最坏情况下也能保持较好性能。但如果你发现部署环境的图像分布其实和训练数据很接近只是分辨率略有不同那可能只需要简单的数据增强就能解决不需要动用完整的 OOD 泛化方法体系。判断的关键在于分布偏移的程度是否足以让经典方法失效以及你是否能获得关于测试分布的任何先验知识。5.4 一个踩坑教训某团队开发了一个推荐系统训练数据来自某平台的历史用户行为。模型在离线评估中表现优异但上线后点击率大幅下降。复盘时发现训练数据中某个特征和用户点击高度相关但这个特征在部署后因为数据采集流程变化而分布完全改变。模型过度依赖了这个特征导致预测失准。这个教训说明OOD 泛化不是纸上谈兵而是真实系统中必须考虑的问题。从那以后我每次做模型部署前都会强制走一遍分布偏移检查训练数据和目标场景的数据在关键特征上分布是否一致模型是否过度依赖了某些可能不稳定的特征如果答案不确定就先用 OOD 泛化方法做一轮鲁棒性训练。希望这些经验能帮到你让你在遇到分布变化时不再手足无措。本文还有配套的精品资源点击获取

相关新闻

企业级LLM十模块复习:从生成原理到安全加固

企业级LLM十模块复习:从生成原理到安全加固

简介:《企业级生成式人工智能LLM大模型技术、算法及案例实战》是一份面向人工智能工程师、机器学习工程师、数据科学家及大模型应用开发者的实战型技术资料。资源包为单个PDF文档,大小约965KB,内容以2024年线上高级实训班简章为框架&#xff…

2026/10/16 18:09:50 阅读更多 →
终端AI编程助手免费使用指南:从开源客户端到本地模型落地实践

终端AI编程助手免费使用指南:从开源客户端到本地模型落地实践

看到 free-claude-code 这个标题,我的第一反应是:又一位被价格劝退的朋友。Claude Code 这类跑在终端里的 AI 编程助手,这几年确实火,火到很多人的开发习惯都被它改写了——不用切到网页,直接在终端里敲几句自然语言&a…

2026/10/16 18:09:50 阅读更多 →
为什么 Cross-Attention 层和视觉模块不做量化?MOSS-VL-Instruct-0708-FP8 混合精度策略深度剖析

为什么 Cross-Attention 层和视觉模块不做量化?MOSS-VL-Instruct-0708-FP8 混合精度策略深度剖析

【免费下载链接】MOSS-VL-Instruct-0708-FP8 项目地址: https://ai.gitcode.com/OpenMOSS/MOSS-VL-Instruct-0708-FP8 点击查看 免费下载 MOSS-VL-Instruct-0708-FP8 是 OpenMOSS 开源视觉语言模型 MOSS-VL-Instruct-0708 的 FP8 量化版本,支持图像理解…

2026/10/16 18:09:50 阅读更多 →

最新新闻

共享单车数据分析毕设全攻略:从数据清洗到答辩避坑指南

共享单车数据分析毕设全攻略:从数据清洗到答辩避坑指南

每年毕设选题季,“共享单车数据分析”都会出现在一大批计算机、大数据、信息管理相关专业的备选名单里。我见过不少同学第一眼看到这个题目的反应:数据量看着大、业务又好理解、能出图、能写分析,感觉是个稳妥的选择。真正开始做之后&#xf…

2026/10/17 22:02:02 阅读更多 →
交通流量预测毕业设计指南:从数据预处理到模型实现与答辩

交通流量预测毕业设计指南:从数据预处理到模型实现与答辩

每年九、十月份开始,就有学弟学妹带着同一个问题来找我:机器学习方向的毕业设计,到底选什么题才能既应付得了开题,又扛得住答辩?如果你想做的是“交通流量预测”,并且正在满世界找源码和LW文档,…

2026/10/17 22:02:02 阅读更多 →
2026年AI编程工具选型指南:五大阵营33款工具实测与避坑

2026年AI编程工具选型指南:五大阵营33款工具实测与避坑

如果说2025年大家聊AI编程还在纠结“Copilot够不够用”,那到了2026年,问题已经变成了“工具多到根本选不过来”。我最近被问到最多的一句话是:“你2026年了还在用XXX吗?为什么不用YYY?”说实话,现在市面上的…

2026/10/17 22:02:02 阅读更多 →
深度学习二手车价格预测:从特征工程到Flask部署实战

深度学习二手车价格预测:从特征工程到Flask部署实战

基于人工智能的二手车价格预测及应用实现二手车价格预测这个题目,可以说是我见过最适合做深度学习毕设的方向之一。原因很简单:它既有明确的业务场景,又有完整的数据链路——从数据清洗、特征工程到模型训练、部署上线,每个环节都…

2026/10/17 22:02:02 阅读更多 →
用代码验证线性代数:从方程组到SVD的工程实践指南

用代码验证线性代数:从方程组到SVD的工程实践指南

简介:线性代数教材《Linear Algebra with Applications》第十版全球版由Steven J. Leon和Lisette de Pillis合著,是一本广泛应用于大学课堂的经典教材。全书共8章、556页,内容覆盖线性代数课程研究组(LACSG)推荐的全部…

2026/10/17 22:02:02 阅读更多 →
AI Agent:Hermes Agent 完整安装与使用指南(Windows WSL 环境)

AI Agent:Hermes Agent 完整安装与使用指南(Windows WSL 环境)

/* 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 22:01:01 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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 阅读更多 →