머신 러닝에서 콜백의 필수적인 역할을 살펴보세요. 정확성, 유연성 및 효율성을 향상시키기 위해 모델 훈련을 모니터링, 제어 및 자동화하는 도구입니다.
머신 러닝(ML)에서 콜백은 컴퓨팅 프로세스의 특정 단계에서 자동으로 실행되도록 설계된 컴퓨팅 프로세스의 특정 단계에서 자동으로 실행되도록 설계된 다목적 함수 또는 코드 블록입니다. 내에서 신경망(NN) 훈련의 맥락에서, 콜백은 훈련 수명 주기와 상호 작용하는 "후크" 역할을 하며 훈련 수명 주기와 상호 작용하여 메트릭 로깅과 같은 작업을 수행합니다, 중간 결과 저장 또는 제어 매개변수 조정 등의 작업을 수행합니다. 이러한 보조 작업을 메인 트레이닝 루프에서 분리함으로써 트레이닝 루프에서 이러한 보조 작업을 분리함으로써 개발자는 핵심 알고리즘을 수정하지 않고도 모듈식, 가독성, 고도로 사용자 정의 가능한 워크플로를 알고리즘을 수정하지 않고도
일반적인 학습 프로세스는 세트에 대해 데이터 세트를 반복합니다. 패스 횟수 동안 데이터 세트를 반복합니다. 이 주기 동안 시스템은 예측을 위한 포워드 패스를 수행하고 역전파를 수행하여 모델 가중치를 업데이트합니다. 콜백은 이 루프 내에서 미리 정의된 "훈련 시작, 배치 종료 또는 에포크 완료와 같이 이 루프 내에서 미리 정의된 '이벤트'에 개입합니다.
같은 프레임워크의 트레이너 객체는 이러한 이벤트를 관리합니다. 와 같은 프레임워크의 트레이너 객체가 이러한 이벤트를 관리합니다. 특정 이벤트가 발생하면 트레이너는 등록된 모든 콜백 함수를 실행하여 모델을 현재 상태로 전달합니다. 이 메커니즘은 최신 실시간 관찰 및 자동화된 개입을 가능하게 하는 실시간 관찰 및 자동화된 개입을 가능하게 합니다.
콜백은 성능과 리소스 사용을 최적화하는 데 필수적입니다. 딥 러닝(DL).
그리고 ultralytics 라이브러리는 다음과 같은 모델에 사용자 정의 콜백을 첨부하기 위한 간단한 API를 제공합니다.
YOLO11. 이를 통해 사용자는 다음과 같은 특정 로직을 주입할 수 있습니다.
상태 업데이트 인쇄 또는 외부 API와의 상호 작용과 같은 특정 로직을 트레이닝 파이프라인에 직접 주입할 수 있습니다.
다음 예는 모든 교육이 끝날 때마다 확인 메시지를 인쇄하는 간단한 콜백을 추가하는 방법을 보여줍니다. 교육 에포크:
from ultralytics import YOLO
def on_train_epoch_end(trainer):
"""Callback function to print the current epoch number after it finishes."""
print(f"Custom Callback: Epoch {trainer.epoch + 1} completed successfully.")
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Register the custom callback for the 'on_train_epoch_end' event
model.add_callback("on_train_epoch_end", on_train_epoch_end)
# Train the model with the registered callback
model.train(data="coco8.yaml", epochs=2)
콜백을 효과적으로 사용하려면 소프트웨어 엔지니어링 및 데이터 과학의 유사한 용어와 구분하는 것이 도움이 됩니다. 과학의 유사 용어와 구별하는 것이 도움이 됩니다.
콜백을 사용하면 보다 강력하고 효율적인 AI 에이전트 및 애플리케이션으로 직결됩니다. 예를 들어 자율 주행 차량의 경우, 모델을 학습하려면 방대한 양의 센서 데이터를 처리해야 합니다. 콜백을 사용하면 엔지니어는 수동 모니터링 없이도 어려운 엣지 사례에서 가장 잘 작동하는 모델을 자동으로 스냅샷할 수 있습니다. 마찬가지로 의료 이미지 분석에서 콜백은 모델이 학습이 아닌 환자 데이터를 기억하기 시작하면(과적합) 경고 또는 광범위한 로깅을 트리거합니다. 일반화 가능한 기능으로 임상 배포에 대한 높은 신뢰성을 보장합니다.
콜백을 활용하면 다음과 같은 프레임워크를 사용하는 개발자는 PyTorch 또는 TensorFlow 은 시간을 절약하고 시간을 절약하고, 오류를 줄이며, 컴퓨터 비전(CV) 솔루션의 컴퓨터 비전(CV) 솔루션의 성능을 극대화할 수 있습니다.