机器学习训练数据:从分类升级到AI转型的全面指南
在机器学习领域,创建有效的训练数据是系统成功的关键。这涉及多个方面,包括分类升级、数据维护和管理,以及AI转型和用例探索。
1. 升级分类
从判断“它是否存在”到明确“它是什么”,需要引入多类别分类。例如,通过以下表格展示原始数据与对应标签的可视化对比:
| 样本编号 | 原始媒体 | 标签名称 | 整数ID |
| ---- | ---- | ---- | ---- |
| 样本1 | 红色 | Red | 1 |
| 样本2 | 绿色 | Green | 2 |
| 样本3 | 无 | None | 0 |
在实际训练中,通常使用整数值作为标签,但这些整数值需要与字符串标签关联才有实际意义,如
{ 0 : "None", 1 : "Red", 2 : "Green"}
。这里引入了标签映射的概念,它虽然在所有系统中常见,但可能会变得复杂。同时,要确保标签映射的正确性,否则可能导致严重错误。为了验证标签与ID是否匹配,可通过“打印输出”进行可视化检查。
2. 确定交通灯位置
以交通灯为例,之前的方法存在一个问题,即无法确定交通灯的位置。在机器学习建模中,有一个常见的概念叫目标存在分数,此外还有更复杂的定位方法。从训练数据的角度看,只要有边界框,就能确定目标的空间位置,而学习该算法的实现则由数据科学负责。
3. 数据维护行动
在模型训练过程返回一定信息后,可以采取以下维护行动来提升性能:
-
增加模式深度
:这是提高性能的常见方法,例如将表现不佳的标签类别进行细分。以“交通灯”标签为例,当性能参差不齐时,发现“绿色”在失败案例中出现较多,可将“交通灯”类别拆分为“红色”和“绿色”,这样能更清晰地了解各类别的表现,不断重复此过程,直至达到期望的性能。
-
使空间类型与原始数据更好对齐
:若选择的分割方法效果不佳,可切换到更简单的任务,如目标检测或全图像分类;反之,若目标检测产生大量重叠框且无实际帮助,可切换到分割方法以准确捕捉信息。
-
创建更多任务
:为提高性能而标注更多数据已成为常见做法,通常会结合其他方法,如划分标签或改变空间类型,然后进行更多监督。但关键是要考虑新增标注是否能带来净提升。
-
更改原始数据
:在某些情况下,可以改变原始数据的来源或收集机制,如更改传感器类型或角度、改变屏幕捕获区域等。
4. 净提升的重要性
在标注数据集时,通常有两个目标:识别未知或有问题的案例,以及最大化每个新增标注的价值。例如,对于包含心形、圆形和三角形的未标注数据集,如果只标注心形,每个标注的心形提供的价值有限,且无法全面了解数据集。因此,应尽量标注能为模型提供价值的不同样本,以实现真正的净提升。可以通过以下方法测试是否已标注足够的某类样本:
- 该标签类型的相对性能较高。
- 相似度搜索等过程识别出过多相似或缺失的数据元素。
- 人工查看数据后感觉数据非常相似或知道存在缺失元素。
5. 训练数据操作的系统成熟度级别
从早期探索、概念验证到生产阶段,可通过特定方式确定所处的阶段。不同阶段对训练数据的需求和管理方式有所不同。
6. 应用集与研究集的区别
研究数据集,如MS COCO 2014、ImageNet 2009和GLUE 2018,主要用于研究目的,其变化相对缓慢,作为性能基准使用,核心假设是数据集保持静态,以便比较算法。而在实际商业产品中,情况相反,算法变化较少,数据变化较多。一般来说,超过12个月的数据不太可能准确反映当前状态,商业数据集通常仅在训练时保持静态,其他时间则不断变化,且商业需求与研究需求在创建时间、更新时间、成本和错误影响等方面存在很大差异。
7. 训练数据管理
训练数据管理涉及人类执行具体任务的组织以及整个操作周期内数据的组织。其核心思想之一是维护训练数据的“元”信息,如数据创建时的假设。对于大型组织而言,这尤为重要,因为不当处理可能导致重要信息丢失。
-
质量
:在讨论数据质量时,需记住以下几点:所有数据集都存在错误,但许多机器学习程序仍能获得可接受和有用的结果;代码程序和数据程序中的每一行都不是孤立存在的,都有各种线索作为检查和平衡;如果误差范围大到需要多人查看才能得出正确答案,那么模式可能存在问题。同时,标注质量不仅仅取决于标注数量,数据集的大小也会影响模型的整体质量,过大或过小的样本量都会产生负面影响。
-
任务完成情况
:了解哪些样本在任何时刻已完成是一项具有挑战性的任务。一方面,依赖他人判断完成情况;另一方面,模式的变化会导致完成定义的改变。最基本的管理需求是将“已完成”和“未完成”的样本分开,因为任何用于训练的样本都会被网络视为有效。如果样本未进一步标注,将被视为背景,这可能导致创建高性能网络和调试困难,甚至影响验证测试集。为解决此问题,可使用软件管理该过程,并确保“已完成”状态得到良好跟踪。常见的“已完成”状态变化情况及跟踪方法如下表所示:
| 跟踪“已完成”状态的上下文 | 合理的跟踪“已完成”工作状态的方法 |
| ---- | ---- |
| 人工审核 | 使用“审核循环”概念,即文件状态在审核循环完成前不算完成。 |
| 模式更改 | 任务与模式相关,如果模式更改,则“已完成”状态应受到质疑。 |
| 多模态 | 使用复合文件(或标签、任务组)将多模态元素组合在一起,使复合文件完成时,视为一个整体完成。 |
-
数据新鲜度
:训练数据的某些方面“保质期”较长,如迁移学习类型的概念或“低级”表示可能持续数十年(尚未证实),严格控制的场景(如某些文档阅读、医学扫描)可能持续数年。而新颖场景、不受约束的现实世界场景、涉及非严格控制空间传感器的情况、特定“头部/端点”标签以及分布的阶跃函数变化等方面的训练数据则不太“耐放”。不同应用对数据新鲜度的要求不同,部分看似能长期使用的模型可能是因为最初过度构建。确定保留哪些样本是关键,如有可能,可测试和比较滚动窗口与连续聚合的效果。
-
维护数据集元数据
:在急于创建训练数据时,往往会忽略关键的上下文信息,这会使后续回溯变得困难。没有与实际分布(即现实世界)相关联的训练数据集价值有限。
-
任务管理
:由于涉及人类操作,不可避免地需要某种组织或“任务”管理系统。这里主要关注与训练数据相关的特定问题,如工具和常见性能指标。
8. AI转型与用例探索
当前正处于AI转型时代,最成功的公司将是那些深度嵌入AI、广泛应用AI并将使用、训练和管理AI的责任下放到最低可行层级的公司。主要涉及以下两个主题:
-
AI转型与领导力
:公司需要在组织层面推动AI转型,领导者要发挥关键作用,引导团队适应和应用AI技术。
-
用例发现、评估标准与挖掘内部专家
:有大量指导帮助识别高影响力的AI应用领域,包括可用于测试想法的评估标准、示例问题和应避免的常见错误。若想直接深入了解实施细节,用例部分将非常有价值。同时,通过挖掘内部专家的潜力,能以经济高效的方式实现用例。
通过以上全面的方法和策略,可以创建出对机器学习系统有用的训练数据,实现系统的有效运行和不断优化,同时推动企业在AI时代的成功转型。
机器学习训练数据:从分类升级到AI转型的全面指南
9. 整体总结与关键要点
创建对机器学习系统有用的训练数据,需要精心规划、迭代优化和周到管理。下面将总结前面提到的各个方面,梳理关键理论、概念、操作方法和管理要点。
理论层面
- 系统的实用性取决于模式 :一个系统的有效性很大程度上依赖于其模式的合理性,合理的模式能更好地引导机器学习算法学习。
- 数据监督者很重要 :谁来监督数据会影响数据的质量和可用性,合适的监督者能确保数据的准确性和可靠性。
- 有意选择的数据效果最佳 :经过精心挑选的数据能更精准地传达人类知识,为机器学习算法提供更有效的学习目标。
- 训练数据如同代码 :训练数据和代码一样,需要严谨的设计和维护,它是机器学习系统的重要组成部分。
- 注重自动化而非发现 :在训练数据的处理过程中,应优先考虑自动化流程,提高效率和准确性,而不是过度依赖手动发现。
- 人类监督与传统数据集不同 :人类监督的数据具有独特的特点,与传统数据集在数据来源、处理方式等方面存在差异。
概念层面
- 数据相关性 :确保数据与机器学习任务相关,只有相关的数据才能为模型提供有价值的信息。
- 迭代 :通过不断迭代,对训练数据进行优化和改进,逐步提高模型的性能。
- 迁移学习 :利用已有的知识和模型,将其应用到新的任务中,减少训练时间和成本。
- 偏差 :注意数据中的偏差问题,避免因偏差导致模型的不准确或不公平。
- 元数据 :维护好训练数据的元信息,包括数据的来源、创建时间、标注信息等,有助于更好地管理和使用数据。
样本创建层面
- 定义模式、标签、注释、属性和空间类型 :明确这些基本要素,为样本创建提供清晰的框架,确保数据的一致性和可理解性。
- 二进制和多类分类示例 :掌握不同分类方式的应用场景和方法,根据具体任务选择合适的分类方式。
维护层面
- 改变标签、属性、空间类型和原始数据 :根据模型的性能和需求,灵活调整这些数据特征,以优化模型的表现。
- 考虑新注释的净提升 :在进行新的注释时,要评估其对模型的实际价值,确保新增注释能带来积极的影响。
- 规划系统成熟度级别 :根据系统的发展阶段,合理规划训练数据的管理和使用,确保系统的稳定性和可扩展性。
管理层面
- 跟踪质量、任务完成情况、新鲜度、元数据和不断发展的模式 :建立有效的管理机制,对这些关键指标进行实时跟踪和监控,及时发现问题并采取相应的措施。
10. 关键要点总结
- 模式、原始数据和注释的对齐至关重要 :确保这三者之间的一致性,能使机器学习系统更准确地学习和理解数据,提高模型的性能。
- 管理训练数据生命周期的复杂性是关键 :特别是对于大型的现实世界系统,需要建立完善的管理体系,应对数据的不断变化和复杂性。
- 训练数据通过定义地面真值目标来控制系统行为 :如同代码一样,训练数据将人类知识编码为机器可理解的形式,引导系统朝着预期的目标发展。
11. 操作步骤总结
为了帮助读者更好地应用上述知识,下面总结一些关键的操作步骤:
提高性能的操作步骤
graph LR
A[开始] --> B[增加模式深度]
B --> C{性能是否提升?}
C -- 是 --> D[结束]
C -- 否 --> E[使空间类型与原始数据更好对齐]
E --> F{性能是否提升?}
F -- 是 --> D
F -- 否 --> G[创建更多任务]
G --> H{性能是否提升?}
H -- 是 --> D
H -- 否 --> I[更改原始数据]
I --> J{性能是否提升?}
J -- 是 --> D
J -- 否 --> K[重新评估策略]
K --> B
-
增加模式深度
:
- 分析模型的性能,找出表现不佳的标签类别。
- 将这些类别进行细分,例如将“交通灯”拆分为“红色”和“绿色”。
- 重新训练模型,观察性能的变化。
-
使空间类型与原始数据更好对齐
:
- 评估当前使用的空间类型(如分割、目标检测、全图像分类)的效果。
- 如果效果不佳,尝试切换到其他空间类型。
- 再次训练模型,检查性能是否提升。
-
创建更多任务
:
- 结合划分标签或改变空间类型的方法,确定需要新增的任务。
- 标注更多的数据,进行更多的监督。
- 训练模型,评估新增任务是否带来净提升。
-
更改原始数据
:
- 考虑改变原始数据的来源或收集机制,如更改传感器类型或角度、改变屏幕捕获区域等。
- 收集新的原始数据,并进行标注和训练。
- 观察模型性能的变化。
净提升的操作步骤
graph LR
A[开始] --> B[选择数据集]
B --> C[确定标注目标]
C --> D[标注不同类型的样本]
D --> E[测试样本类型的充足性]
E --> F{是否充足?}
F -- 是 --> G[结束]
F -- 否 --> D
- 选择数据集 :确定需要标注的数据集。
- 确定标注目标 :明确标注的目的,如识别未知或有问题的案例,最大化每个新增标注的价值。
- 标注不同类型的样本 :尽量标注能为模型提供价值的不同样本,避免只标注相似的样本。
- 测试样本类型的充足性 :通过该标签类型的相对性能、相似度搜索结果或人工查看等方法,判断是否已标注足够的某类样本。
- 重复标注过程 :如果样本类型不充足,继续标注不同类型的样本,直到满足要求。
任务完成情况管理的操作步骤
graph LR
A[开始] --> B[使用软件管理样本状态]
B --> C[区分已完成和未完成样本]
C --> D[根据不同上下文跟踪完成状态]
D --> E{是否有状态变化?}
E -- 是 --> F[更新状态]
F --> D
E -- 否 --> G[结束]
- 使用软件管理样本状态 :借助专门的软件工具,对样本的完成状态进行跟踪和管理。
- 区分已完成和未完成样本 :将样本分为已完成和未完成两类,确保已完成的样本可用于训练。
- 根据不同上下文跟踪完成状态 :针对人工审核、模式更改、多模态等不同情况,采用相应的跟踪方法。
- 更新状态 :如果样本的完成状态发生变化,及时更新软件中的状态信息。
通过遵循这些操作步骤,读者可以更系统地创建和管理机器学习训练数据,提高模型的性能和效果,推动企业在AI时代的发展。同时,不断学习和实践,结合实际情况灵活应用这些知识,将能更好地应对各种挑战,实现机器学习系统的优化和升级。
超级会员免费看

被折叠的 条评论
为什么被折叠?



