文档教程【免费下载链接】machine-learning-yearning-cnMachine Learning Yearning 中文版 - 《机器学习训练秘籍》 - Andrew Ng 著项目地址https://gitcode.com/gh_mirrors/ma/machine-learning-yearning-cn点击查看免费下载导读本文聚焦《机器学习训练秘籍》Machine Learning Yearning中关于流水线组件选择的第一条关键原则——数据可用性。文章以自动驾驶系统为例对比多段流水线架构与纯端到端架构在训练数据获取成本上的本质差异并结合同章内容中任务简单性原则与端到端学习的优缺点分析说明为何在更多端到端数据可用之前非端到端的流水线方案在数据驱动下往往更具现实可行性。读完后你将掌握如何依据能否轻松收集组件训练数据这一标准为你的机器学习系统选择合理的架构形态。一、问题的起点端到端学习与流水线架构之争在讨论组件选择之前先回顾端到端学习的定义。所谓端到端End-to-end是指学习算法直接从输入端连接到输出端要求系统直接从原始输入得到期望输出中间不经过人工设计的中间表示。例如在语音识别中端到端系统直接输入音频片段输出文字转录而在传统流水线中则要先计算 MFCC 频谱系数特征再识别音素序列最后拼合为转录结果。自动驾驶恰好是这两种范式的典型对照多段流水线架构先用相机图像检测车辆、检测行人再由路径规划组件避让车辆和行人规划行车路线纯端到端架构从传感器原始输入直接输出转向方向steering direction。端到端学习已经在语音识别等领域取得了成功但它并不总是最佳方案——关键制约因素之一正是训练数据的可用性。二、核心原则让流水线组件匹配数据的可用性在构建非端到端的流水线系统时什么样的组件才是合适的选项对流水线的设计将极大地影响整个系统的性能而其中一个重要因素就是是否能够轻松地收集到数据来训练每个组件。以下图所示的自动驾驶流水线架构为例在这个架构中你可以使用机器学习算法分别进行车辆检测和行人检测。这两类组件有一个共同的优势——获取训练数据并不困难如今已有大量包含车辆和行人标注的计算机视觉数据集可供使用还可以通过众包市场如 Amazon Mechanical Turk获得更大规模的人工标注数据集因此构建车辆检测器与行人检测器的训练数据相对容易获取成本可控。相反考虑与之对应的纯端到端方式要训练这样一个端到端系统我们需要一个包含图像, 操纵方向数据对的大型数据集。然而收集这类数据极其费时费力需要一辆经过特殊配置的汽车用于实时记录驾驶过程中的操纵方向需要巨大的驾驶里程来覆盖各种可能的场景不同路况、天气、光线、交通状况等数据采集过程几乎无法复用现成的公开数据集也难以通过简单的众包方式规模化获取。相比之下获得大量带标记的行人图像或汽车图像反而要容易得多。正是这种数据获取难度的巨大差异决定了两种架构在现实中的可行性。三、中间模块的价值利用所有可用数据进行训练更常见的情况是如果有大量的数据可以被用来训练流水线的中间模块例如汽车检测器或行人检测器你便可以考虑使用多段的流水线架构。这种结构的优越性在于流水线中的每个组件都可以使用所有可用的数据分别进行训练。例如车辆检测器可以用海量的车辆标注图像训练无论这些图像来自驾驶场景、街景还是公开数据集行人检测器同样可以用丰富的行人标注数据训练每个子任务的数据需求都被解耦不再强依赖于驾驶场景中的真实操纵数据这一稀缺资源。因此当中间模块的训练数据充足而端到端数据稀缺时多段流水线结构可能是更优的选择——它的体系架构更匹配于数据的可用性。从本书《机器学习训练秘籍》的角度看这也是作者对自动驾驶问题给出的判断在更多端到端数据变得可用之前非端到端的方法对于自动驾驶而言是更有希望的。四、数据可用性与任务简单性两大原则的呼应值得注意的是数据可用性只是流水线组件选择的第一个考量因素。本书紧接着的下一章流水线组件的选择任务简单性提出了第二个原则独立的组件使任务简单了多少。将两者结合可以得出一个完整的组件设计准则数据可用性本章优先选择能轻松获取训练数据的组件任务简单性ch51优先选择简单的功能作为独立组件使每个组件只需从少量数据中学习。仍以自动驾驶为例通过流水线架构算法被明确告知有三个关键步骤——1检测其他车辆2检测行人3为车辆规划道路。其中每一步都是相对简单的功能因此可以用更少的数据来学习而非像纯端到端方法那样让一个模型同时隐式地承担全部复杂任务。反之ch57 关于流水线缺陷的分析也从反面印证了任务简单性的边界理论上可以通过将原始相机图像直接馈送到路径规划组件来弥补信息缺失但这违反了任务简单性的设计原则——路径规划模块将被迫输入原始图像并解决非常复杂的任务。此时更好的做法是增加车道标记检测组件把重要而缺失的信息提供给路径规划模块同时避免任何单个模块过于复杂而难以构建与训练。五、数据规模决定架构取舍何时该谨慎使用端到端数据可用性原则的背后其实是数据量决定知识来源的深层规律。回顾端到端学习的优缺点一章的分析人工设计的流水线组件如频谱系数、音素表示承载了大量人类先验知识在训练集很小时这些知识是对算法从数据中获取知识的重要补充端到端系统缺乏人工设计知识当训练集很小的时候其表现可能比人工设计的流水线更糟糕然而当训练集足够大时端到端系统不会受到人工特征或中间表示的限制——如果学习算法是一个足够大的神经网络并喂入大量训练数据就有可能做到更好甚至达到最优错误率。这正解释了本章结论的机制端到端学习系统在两端——输入端和输出端拥有大量标记数据时例如音频,文本对、图像,操纵方向对往往做得更好当这种类型的数据不可用时使用端到端学习则需非常谨慎。六、实操建议如何应用数据可用性原则做架构决策综合本章与相关章节的内容可以总结出一套可落地的决策流程盘点数据资产先列出当前拥有的、以及能低成本获取的标注数据类型公开数据集、众包标注、自有业务数据等明确哪些输入-输出对是现成可用的。评估端到端数据获取成本如果端到端所需的原始输入, 期望输出数据对需要特殊设备、大规模人工采集才能获得则端到端路径的落地成本极高。检查中间模块数据可得性若流水线中某些中间模块检测器、分类器等恰好拥有丰富的数据资源优先采用多段流水线架构让每个组件充分享用可用数据。结合任务简单性综合判断在数据可用之外确认每个独立组件是否简单、是否易于构建和学习两者共同决定组件的最终取舍。随数据演进动态调整随着端到端数据逐渐积累、获取成本下降再评估是否向端到端架构迁移——正如本书所述这是一个随数据可用性变化而动态演进的判断。结语数据可用性是流水线组件选择的第一个、也是常常被忽视的决定性因素。自动驾驶案例清楚表明架构形式本身没有绝对优劣关键是让体系架构匹配数据的可用性。当中间模块数据丰富而端到端数据稀缺时多段流水线是更现实、更有希望的选择而当两端标记数据变得充足端到端学习才具备发挥其潜力的条件。这一原则同样适用于语音识别、情感分类等其他领域是机器学习系统架构设计中最具实操价值的判断依据之一。赞分享文档教程【免费下载链接】machine-learning-yearning-cnMachine Learning Yearning 中文版 - 《机器学习训练秘籍》 - Andrew Ng 著项目地址https://gitcode.com/gh_mirrors/ma/machine-learning-yearning-cn点击查看免费下载相关推荐DeepLearning.AI《机器学习训练指南》解读如何基于数据可用性选择流水线组件DeepLearning.AI《机器学习训练指南》解读如何基于数据可用性选择流水线组件 引言流水线设计的核心挑战 在机器学习系统开发中最关键的架构决策之一文档教程xtb中的ONIOM方法多尺度量子化学计算的高效实现xtb中的ONIOM方法多尺度量子化学计算的高效实现 xtb作为一款强大的半经验扩展紧束缚程序包Semiempirical Extended Tight B文档教程MediaPipe机器学习流水线设计从数据到模型MediaPipe机器学习流水线设计从数据到模型 你是否曾为搭建实时媒体处理的机器学习流水线而头疼从图像采集到模型部署的全流程中如何高效处理数据流转、模型人工智能机器学习计算机视觉多模态本地部署上一篇TVBoxOSC3步让电视盒子跑起来高清片源不卡顿下一篇PaddleOCR HubServing Docker 部署指南把 OCR 服务快速打包成可调用的 Restful API创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考