Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Distributionally Robust Optimization

분포 강건 최적화는 평균적인 데이터 분포가 아니라 가능한 최악의 데이터 분포에 대비해 모델을 학습하며, 모호성 집합이나 그룹 DRO를 사용합니다.

분포 강건 최적화(DRO)는 학습 데이터 분포만을 기준으로 하는 대신, 개연성 있는 데이터 분포 집합 가운데 최악의 분포에서 기대 손실을 최소화하는 학습 및 의사 결정 접근 방식입니다. 경험적 위험 최소화(ERM)라고 하는 표준 학습은 향후 데이터가 학습 데이터와 비슷할 것이라고 가정하고 평균 손실을 최소화합니다. DRO는 실제 데이터가 범위 내에서 달라질 수 있다고 가정하고, 해당 범위 안에서 가장 어려운 사례에 맞춰 최적화합니다. 그 결과 모델은 평균 정확도를 약간 희생하는 대신 조건이 바뀌어도 더 안정적으로 성능을 유지합니다. 예를 들어 학습 중 주간 영상이 야간 영상보다 훨씬 많았던 카메라의 경우가 이에 해당합니다.

모호성 집합#

DRO가 대비하는 분포 집합을 모호성 집합 또는 불확실성 집합이라고 합니다. 집합의 형태에 따라 모델이 얻게 되는 강건성이 달라집니다:

  • 발산 볼: 학습 데이터와의 KL 발산 또는 카이제곱 발산이 고정된 값 이내인 모든 분포를 포함합니다. 이 분포를 대상으로 최적화하면 손실이 가장 큰 학습 예제의 가중치가 커져 모델이 가장 어려운 샘플을 무시할 수 없습니다. 이와 밀접한 목적 함수인 조건부 가치 위험도는 예제별 손실 가운데 가장 큰 일부만 평균합니다.
  • Wasserstein 볼: 입력 공간에서 확률 질량을 제한된 거리만큼 이동시켜 도달할 수 있는 분포를 포함합니다. 거리가 이동한 질량과 이동 거리를 모두 측정하므로, 이 집합은 입력 자체에 가해지는 작은 교란을 포괄합니다.
  • 그룹 혼합: 주간 및 야간 이미지나 서로 다른 병원의 스캔처럼 알려진 하위 모집단의 가중치를 임의로 재조정한 분포를 포함합니다. 이때 최악의 사례는 가장 성능이 나쁜 그룹입니다.

Wasserstein DRO는 인근의 최악 입력을 대상으로 최적화한다는 점에서 적대적 공격에 대한 적대적 학습과 밀접한 관련이 있습니다. 집합의 크기는 DRO의 핵심 하이퍼파라미터입니다. 집합이 너무 크면 비현실적인 데이터에 대비하게 되어 일반적인 정확도가 떨어지고, 너무 작으면 배포 환경에서 중요한 변화에 대응하지 못합니다.

그룹 DRO#

Shiori Sagawa, Pang Wei Koh, Tatsunori Hashimoto, Percy Liang이 제안하고 2020년에 발표한 Group DRO는 딥러닝에서 가장 널리 사용되는 형태입니다. 모든 예제의 평균 손실이 아니라 성능이 가장 낮은 그룹의 손실을 최소화합니다. 실제로는 각 그룹의 가중치를 배치 간에 유지하고, 현재 손실이 가장 큰 그룹의 가중치를 높인 뒤, 그룹 가중치가 반영된 손실을 역전파합니다.

import torch

# Per-image losses from one training batch and the condition each image came from
losses = torch.tensor([0.20, 0.30, 0.25, 0.90, 1.10, 0.15])
groups = torch.tensor([0, 0, 0, 1, 1, 0])  # 0 = daytime, 1 = nighttime
group_losses = torch.stack([losses[groups == g].mean() for g in (0, 1)])

# Empirical risk minimization optimizes the average loss over all images
print(f"ERM loss: {losses.mean():.2f}, daytime loss: {group_losses[0]:.2f}, nighttime loss: {group_losses[1]:.2f}")

# Group DRO shifts its group weights toward high-loss groups with an exponentiated-gradient step
group_weights = torch.tensor([0.5, 0.5])  # carried over from earlier batches
group_weights = group_weights * torch.exp(1.0 * group_losses)  # step size 1.0
group_weights = group_weights / group_weights.sum()
dro_loss = (group_weights * group_losses).sum()  # the loss that is backpropagated
print(f"Group weights: day {group_weights[0]:.2f}, night {group_weights[1]:.2f}, group DRO loss: {dro_loss:.2f}")

평균 손실은 0.48로 양호해 보이지만, 야간 이미지 2개의 평균 손실은 1.00으로 주간 이미지의 0.22보다 높습니다. 한 번 업데이트하면 그룹 가중치는 주간 0.50, 야간 0.50에서 주간 0.32, 야간 0.68로 바뀌므로 역전파되는 손실은 0.76으로 높아지고 기울기에는 야간 이미지의 영향이 크게 반영됩니다. 여러 배치에 걸쳐 가중치는 성능이 뒤처지는 그룹으로 계속 이동합니다.

Group DRO는 지름길 학습에 직접 대응하는 방법입니다. Waterbirds 벤치마크에서는 물새 학습 사진 대부분에 물 배경이 포함되어 있어, 표준 학습은 배경을 학습하고 육지에서 촬영된 물새를 제대로 처리하지 못합니다. 강력한 정규화를 적용한 저자들은 최악 그룹의 테스트 정확도를 ERM의 21.3%에서 group DRO의 84.6%로 높였으며, 평균 정확도도 95.7%에서 96.6%로 향상했습니다. 대규모 네트워크는 각 그룹의 학습 손실을 모두 0으로 낮출 수 있으므로 정규화가 중요합니다. 그렇게 되면 DRO 목적 함수가 우선시할 대상이 없어집니다.

Group DRO를 사용하려면 모든 학습 예제의 그룹을 알아야 합니다. 그룹을 모르는 경우 카이제곱 발산 볼을 대신 사용할 수 있습니다. Tatsunori Hashimoto와 동료들은 2018년에 이러한 볼에서 최악의 사례 손실을 최소화하면 누가 속하는지 몰라도 충분히 큰 하위 모집단을 보호할 수 있음을 보였습니다.

최악 그룹 찾기#

중요한 그룹은 오류를 통해 발견되는 경우가 많습니다. 저장된 데이터셋 버전으로 학습한 YOLO26 객체 탐지 모델의 경우, Ultralytics Platform은 이미지별 진단 기능을 제공하여 이미지별 F1 점수에 따라 검증 이미지를 순위화하고, F1과 이미지 크기, 가로세로 비율, 인스턴스 수 사이의 상관관계를 분석하며, 성능이 가장 낮은 이미지에 자주 나타나는 클래스를 나열합니다. 이를 함께 활용하면 단일 평균 정밀도(mAP)를 수집하거나 오버샘플링하거나 가중치를 적용할 후보 그룹으로 나눌 수 있습니다.

DRO는 비전 분야 외에도 다양한 용도로 사용됩니다.

  • 하위 모집단 간 공정성: 그룹이 인구통계학적 특성에 따라 정의된 경우, 최악 그룹의 손실을 최소화하면 성능 격차를 직접 줄일 수 있습니다.
  • 실제 환경의 분포 변화: Stanford의 WILDS 벤치마크는 서로 다른 병원의 조직 이미지, 서로 다른 지역과 연도의 위성 이미지와 같은 분포 변화에 대해 모델을 평가하며, 표준 기준선 가운데 group DRO도 포함합니다.
  • 운영 연구: DRO는 전력망 일정 계획, 공급망 계획, 포트폴리오 선정에 적용됩니다. 이러한 분야에서는 불확실한 수요나 가격을 고려해야 하므로, 과거 평균에만 맞춘 계획은 이례적인 해에 큰 실패를 겪을 수 있습니다.

DRO, 증강, 드리프트 모니터링#

데이터 증강과 DRO는 같은 문제에 서로 반대 방향으로 접근합니다. 데이터 증강은 학습 이미지의 합성 변형을 추가해 모델이 접하는 데이터의 범위를 넓히고, DRO는 목적 함수를 바꾸어 드물지만 실제로 나타나는 변형에 더 큰 비중을 둡니다. 둘은 잘 결합됩니다. 데이터 증강은 다양한 예제를 제공하고, DRO 목적 함수는 가장 어려운 예제가 평균에 묻히지 않도록 합니다. 도메인 적응은 라벨이 없는 데이터를 사용해 하나의 알려진 대상 분포에 적응하는 세 번째 방법입니다. 배포 후 데이터 드리프트를 모니터링하면 어떤 불확실성 집합도 예상하지 못한 변화를 파악할 수 있으며, 이러한 새로운 조건은 다음에 수집하고 가중치를 적용할 그룹이 됩니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요