For the complete documentation index, see llms.txt. This page is also available as Markdown.

액티브 러닝

검토 및 재학습을 통해 모델을 지속적으로 개선하기 위해 프로덕션 추론 데이터를 수집하세요.

소개

액티브 러닝은 배포된 모델에서 프로덕션 데이터를 수집하여 검토와 재학습을 위해 제공합니다. 모델이 프로덕션에서 추론을 실행하면, 액티브 러닝은 사용자가 설정한 규칙(예: 낮은 신뢰도의 예측 또는 특정 클래스)에 따라 이미지를 자동으로 샘플링하고 사람의 검토를 위해 대기열에 넣습니다.

액티브 러닝에는 클라우드 배포가 필요합니다. Annotation Review 기능이 포함된 요금제에서 사용할 수 있습니다.

웹 앱

액티브 러닝 활성화

  1. 프로젝트를 열고 왼쪽 사이드바에서 "Active Learning"을 선택하세요.

  2. 액티브 러닝을 켜세요.

액티브 러닝이 데이터를 수집하려면 프로젝트에 학습된 모델과 활성 클라우드 배포가 있어야 합니다.

수집 규칙 구성

액티브 러닝에는 수집 한도와 조건이라는 두 가지 구성 범주가 있습니다.

수집 한도

액티브 러닝이 수집하는 데이터 양을 제어합니다:

  • 샘플링 비율: 샘플링할 추론의 비율(예: 0.5%)

  • 분당, 시간당 및 일일 이미지 한도

  • 압축 수준과 최대 이미지 크기

  • 배치 재생성 빈도(매일, 매주, 매월 또는 없음)

  • 수집된 이미지와 함께 모델 예측을 저장할지 여부

이 설정을 수정하려면 수집 한도 섹션에서 "Edit"를 클릭한 다음 구성 모달에서 값을 업데이트하세요.

조건

조건은 어떤 이미지가 수집될지 필터링합니다. 모델 유형에 따라 규칙을 정의할 수 있습니다:

  • 신뢰도 임계값(예: 신뢰도가 60% 미만인 이미지를 수집)

  • 관심 있는 특정 클래스

  • 감지 개수 요구사항

조건을 설정하려면 조건 섹션에서 "Edit"를 클릭하세요.

Agent에서 액티브 러닝 관리

또한 액티브 러닝을 관리할 수 있습니다: Roboflow Agent. 프로젝트 탭을 열고 "Settings"를 선택한 다음 이 페이지와 동일한 토글, 수집 한도, 조건을 사용하세요. 이를 위해서는 Manage Workflows, Publish Workflows, Dataset Active Learning 권한이 필요합니다.

수집된 이미지 검토

액티브 러닝이 이미지를 수집하면 액티브 러닝 페이지의 Images 섹션에 표시됩니다. 이 페이지에는 검토 준비가 된 이미지 수와 현재 검토 중인 이미지 수가 표시됩니다.

검토를 시작하려면:

  1. 검토 대기열을 열려면 "Review Images"를 클릭하세요.

  2. 상태(Not Started, In Progress)별로 배치를 탐색하고 생성 날짜, 이미지 수 또는 진행률로 정렬하세요.

  3. 검토를 시작할 배치를 선택하세요.

검토자 지정

검토 작업을 팀에 분배할 수 있습니다:

  1. 검토 대기열을 열고 배치를 선택하세요.

  2. 검토자를 지정하려면 클릭하세요.

  3. 팀원을 선택하고 지정할 이미지 수를 설정한 다음 필요하면 검토 지침을 추가하세요.

  4. "Shuffle Images"를 켜면 각 검토자가 받는 이미지를 무작위로 섞을 수 있습니다.

이미지가 배정되면 검토자에게 알림이 전송됩니다. 이미지를 언제든지 다른 검토자에게 다시 배정할 수 있습니다.

액티브 러닝이 학습 루프에 맞는 방식

일반적인 워크플로:

  1. 모델을 학습하고 배포합니다.

  2. 사용 사례에 맞게 조정한 조건으로 액티브 러닝을 활성화합니다.

  3. 조건에 맞는 프로덕션 데이터가 수집되어 대기열에 추가됩니다.

  4. 검토자가 수집된 이미지에 라벨을 지정합니다.

  5. 검토된 이미지를 데이터셋에 추가하고 재학습하여 모델을 개선합니다.

이렇게 하면 모델이 가장 어려워하는 사례에서 개선되는 피드백 루프가 만들어집니다.

HTTP API

HTTP API를 사용하여 액티브 러닝을 활성화 또는 비활성화하고, 수집 규칙을 업데이트하며, 검토 대기열의 이미지를 나열할 수 있습니다. 엔드포인트는 https://api.roboflow.com 이며 API 키가 다음 위치에 필요합니다: api_key 쿼리 매개변수, 요청 본문 또는 bearer 인증 헤더.

액티브 러닝 구성 가져오기

GET /:workspace/:project/deploy/active-learning

필요한 범위: project:read

응답에는 프로젝트, 배포 워크플로, 선택한 모델, 배포 가능 여부 및 액티브 러닝 구성이 포함됩니다:

액티브 러닝 활성화

POST /:workspace/:project/deploy/active-learning/enable

필요한 범위: project:update

모델이 구성되지 않은 경우 서비스가 하나를 선택하려고 시도합니다. 400 응답은 워크플로를 배포할 수 없음을 의미합니다. 응답은 다음과 같은 형식을 가집니다 액티브 러닝 구성 가져오기, 그리고 activeLearning.enabled 로 설정됩니다 true.

액티브 러닝 비활성화

POST /:workspace/:project/deploy/active-learning/disable

필요한 범위: project:update

응답은 다음과 같은 형식을 가집니다 액티브 러닝 구성 가져오기, 그리고 activeLearning.enabled 로 설정됩니다 false.

액티브 러닝 구성 업데이트

POST /:workspace/:project/deploy/active-learning/configuration

필요한 범위: project:update

새 프로젝트에서 구성하기 전에 액티브 러닝을 활성화하세요. 요청에는 다음이 포함되어야 합니다: collectionLimits. 그리고 filters 배열은 선택 사항입니다. 생략해도 기존 필터는 변경되지 않습니다.

필수 수집 한도 필드는 다음과 같습니다:

  • dataPercentage: 수집할 추론 비율, 다음 범위에서 0 까지 100

  • minutelyUsageLimit: 분당 최대 수집 이미지 수, 또는 0 무제한일 경우

  • hourlyUsageLimit: 시간당 최대 수집 이미지 수

  • dailyUsageLimit: 일일 최대 수집 이미지 수

  • labelingBatchesRecreationFrequency: "never", "daily", "weekly", 또는 "monthly"

  • usageQuotaName: 비어 있지 않은 할당량 식별자

선택적 필드는 다음과 같습니다 imageCompressionLevel, imageName, registrationTags, 그리고 persistPredictions. 이미지를 크기 조정하려면 다음 두 값을 모두 제공하세요: maxImageHeightmaxImageWidth. 하나만 제공하면 기존 이미지 크기 제한이 제거됩니다.

액티브 러닝은 두 가지 필터 유형을 지원합니다:

  • classConfidence: 선택한 클래스의 예측을 신뢰도 범위 내에서 수집합니다. classFilterMode 는 다음 중 하나일 수 있습니다 "any", "in", 또는 "out".

  • detectionSize: 다음 범위의 바운딩 박스를 가진 예측을 수집합니다: sizeLowerPercentagesizeUpperPercentage 의 이미지 크기. 이 필터는 객체 탐지 및 인스턴스 세분화 프로젝트만 지원합니다. 다른 프로젝트 유형은 다음을 반환합니다 400.

응답은 다음과 같은 형식을 가집니다 액티브 러닝 구성 가져오기. A 400 응답에는 유효하지 않은 수집 한도 또는 필터에 대한 검증 세부 정보가 포함됩니다.

액티브 러닝 이미지 목록

GET /:workspace/:project/deploy/active-learning/images

필요한 범위: project:read

엔드포인트는 다음 선택적 쿼리 매개변수를 허용합니다:

  • page: 페이지 번호, 다음부터 시작: 1

  • pageSize: 페이지당 항목 수, 최대 50

  • search: 대기열 이름, 유형, ID, 검토자, 라벨러와 일치하는 텍스트

  • reviewer: 검토자 이메일 또는 "unassigned"

  • status: "all", "not_started", 또는 "in_progress"

  • sortBy: "created", "images", 또는 "progress"

  • sortDirection: "asc" 또는 "desc"

응답에는 검토 대기열 개수, 페이지가 나뉜 대기열 항목, 배치, 주석 작업 및 총 이미지 수가 포함됩니다:

Python SDK

Workspace.active_learning() 디렉터리의 모든 이미지에서 추론을 실행하고 조건에 따라 이미지(및 그 예측)를 대상 프로젝트에 업로드합니다. 이는 SDK에 내장된 액티브 러닝 루프로, 기존 모델이 무엇을 라벨링할 가치가 있는지 분류하도록 하여 원본 영상에서 라벨링 대기열을 초기화합니다.

같은 패턴은 다음과 같이 구현하는 것이 가장 좋습니다: 워크플로 프로덕션 사용에는 적합하지만, active_learning() "프레임 폴더가 있습니다"에서 "프로젝트로 들어가는 라벨링된 데이터"까지 가는 가장 빠른 방법입니다.

기본 사용법

매개변수

  • raw_data_location (str) - 입력 이미지 디렉터리.

  • raw_data_extension (str) - 일치시킬 이미지 확장자(예: .jpg, .png).

  • inference_endpoint (list, [project, version]) - 분류 단계로 실행할 모델입니다.

  • upload_destination (str) - 조건을 충족한 이미지와 예측을 업로드할 프로젝트 ID입니다. 보통 모델과 동일한 프로젝트입니다.

  • conditionals (dict) - 이미지 업로드 여부를 결정하는 규칙입니다. 일반적인 키:

    • confidence_interval - [min, max]; 탐지가 이 범위에 드는 이미지만 전달됩니다.

    • required_class_variance_count - 필요한 최소 서로 다른 클래스 수.

    • minimum_size_requirement / maximum_size_requirement - 픽셀 단위의 감지 면적으로 필터링합니다.

    • required_class_count - 총 감지 수.

  • use_localhost (bool, 기본값 False) - 다음 경우 True, 자체 호스팅된 Roboflow Inference 서버를 사용하고 호스팅된 추론을 사용하지 않습니다.

  • local_server (str) - 로컬 추론 서버의 기본 URL입니다. 기본값은 http://localhost:9001/.

사용 이유

일반적인 루프:

  1. 적은 양의 라벨링된 데이터셋으로 v1 모델을 학습합니다.

  2. 가리키세요 active_learning() 라벨이 없는 프로덕션 데이터 폴더를

  3. 모델이 확신하지 못하거나(낮은 신뢰도) 희귀 클래스를 인식한 이미지만 전달합니다.

  4. Roboflow 웹 앱에서 해당 이미지에 라벨을 지정합니다.

  5. 새 예시로 v2를 생성하고 재학습합니다.

조정 conditionals "모두 업로드"를 실제 분류 정책으로 바꾸는 핵심입니다.

더 큰 파이프라인

입력이 비디오 스트림이거나, 모델이 Workflow 뒤에 있거나, 배치 처리와 재시도가 필요하다면 이를 다음과 같이 구현하세요: 워크플로. active_learning() 정적 폴더에서 한 번만 수행하는 초기 부트스트래핑 작업에 가장 적합합니다.

마지막 업데이트

도움이 되었나요?