探索回调在机器学习中的重要作用--这些工具可监测、控制和自动进行模型训练,从而提高准确性、灵活性和效率。
在机器学习中,尤其是在复杂的神经网络训练过程中,回调(Callback)是一种强大的工具。它本质上是一个对象或函数,用于在程序的不同阶段执行特定操作,最常见的是在模型训练或评估期间。将回调视为自动钩子或触发器,可让您监控内部状态、观察模型统计数据、做出决策或执行自定义代码,而无需手动中断训练过程。回调提供了一种重要机制,可在流行的深度学习(DL)框架(如 TensorFlow和 PyTorch.
回调基于事件驱动系统运行。它们通常以列表形式传递给主函数,如 train
method within a 机器学习 框架。框架的设计目的是在特定的时间点(称为 "事件")调用这些回调。常见的事件包括:整个培训过程的开始或结束、一个培训项目的开始或结束、一个培训项目的开始或结束、一个培训项目的开始或结束、一个培训项目的开始或结束。 纪元甚至在处理单个 批量大小 的数据。当特定事件发生时,框架会执行相应的回调函数,通常会传递当前状态的相关信息,如当前的纪元号、 损失函数 值或性能指标作为参数。这样,回调程序就能根据实时信息与正在进行的流程进行动态交互,并对其产生影响。
回调的用途非常广泛,可以实现有效的模型开发和培训所必需的各种功能:
将回调集成到机器学习工作流程中具有几个显著优势:
Keras和PyTorch Lightning等框架提供了大量内置回调集合和用于创建自定义回调的直接接口。Ultralytics 还在其训练管道内部利用回调,从而提高了工具的鲁棒性和用户友好性,例如 Ultralytics YOLO11和Ultralytics HUB平台等工具的稳健性和用户友好性。请查阅Ultralytics 文档,了解与YOLO 模型训练相关的更多具体示例。