Multiple Instance Learning
다중 인스턴스 학습이 의료 영상, 검사 및 분류를 위해 가방 수준 레이블, 인스턴스 집계 및 약한 지도 학습을 사용하는 방법을 알아보세요.
다중 인스턴스 학습(MIL)은 머신러닝 접근 방식으로, 훈련 예제가 **백(bag)**이라는 그룹으로 구성되고 각 백 내부의 요소는 인스턴스라고 불립니다. 이 모델은 각 인스턴스가 아니라 전체 백에 대한 레이블을 받습니다. 예를 들어, 병리 슬라이드는 암세포가 포함된 이미지 영역을 식별하지 않고도 "암 존재"로 레이블이 지정될 수 있습니다. MIL은 상세한 주석 비용이 많이 들거나, 모호하거나, 제공되지 않을 때 유용합니다.
다중 인스턴스 학습의 작동 원리#
기존의 지도 학습에서는 모든 훈련 예제가 고유한 레이블을 가집니다. MIL은 감독 단위를 변경하여, 레이블이 관련 예제 집합에 속합니다.
백은 여러 프레임을 포함하는 비디오, 여러 구절을 포함하는 문서, 또는 패치로 나뉜 대형 이미지일 수 있습니다. 각 프레임, 구절, 또는 패치는 하나의 인스턴스입니다. 전형적인 MIL 모델은 세 가지 구성 요소를 가집니다:
- 인스턴스 인코더는 각 인스턴스를 수치형 특징 표현으로 변환합니다.
- 집계 함수는 인스턴스 표현들을 하나의 백 표현으로 결합합니다.
- 백 분류기는 그 결합된 표현으로부터 백 레이블을 예측합니다.
이진 분류의 경우, 전통적인 MIL 가정에 따르면 양성 백에는 최소한 하나의 양성 인스턴스가 포함되어 있으며, 음성 백의 모든 인스턴스는 음성입니다. 이 가정은 하나의 작은 영역이 전체 결과를 결정할 수 있는 작업에 적합합니다. 다른 문제들은 여러 인스턴스가 뒷받침하는 증거를 보여줄 때만 양성 레이블을 예측하는 것과 같은 집합적 가정을 요구합니다.
MIL은 백 레이블로부터 학습하기 때문에 약한 지도 학습의 한 형태으로 간주됩니다. 일반적인 이미지 분류와 달리, 완전한 이미지나 모든 영역이 할당된 클래스를 표현한다고 가정하지 않습니다. 이는 백 레이블을 모든 인스턴스에 잘못 복사하는 것을 방지합니다.
집계 및 인스턴스 중요도#
집계는 다양한 백 크기를 처리해야 하며 일반적으로 인스턴스 순서와 독립적이어야 합니다. 일반적인 전략은 다음과 같습니다:
- 최대 풀링: 가장 강한 인스턴스 신호를 사용합니다. 이는 "최소한 하나의 양성 인스턴스" 가정과 일치하지만 이상치에 민감할 수 있습니다.
- 평균 풀링: 백 전체의 증거를 평균화합니다. 많은 인스턴스가 기여할 때 더 잘 작동하지만 드문 양성 증거를 희석시킬 수 있습니다.
- 어텐션 풀링: 각 인스턴스가 결과에 얼마나 강하게 영향을 미쳐야 하는지 학습합니다. 결과 가중치는 보장된 설명은 아니지만 중요한 영역을 나타낼 수 있습니다.
풀링된 출력은 Softmax와 같은 확률 함수를 사용하여 종종 백 점수로 변환됩니다. 훈련은 이 점수를 백 레이블과 비교하고 역전파를 사용하여 인코더와 집계기를 함께 업데이트합니다.
MIL은 주로 백 수준의 예측을 최적화합니다. 모델이 특정 인스턴스에 높은 중요도를 부여하더라도, 그러한 점수가 자동으로 신뢰할 수 있는 인스턴스 레이블이나 정밀한 지역화가 되는 것은 아닙니다.
실제 애플리케이션 사례#
-
의료 이미지 분석: 디지털화된 조직 슬라이드에는 수천 개의 패치가 포함될 수 있는 반면, 사용 가능한 진단은 환자 또는 슬라이드에만 적용됩니다. MIL은 패치를 인스턴스로 처리하고 전체 슬라이드에 질병의 증거가 포함되어 있는지 예측할 수 있습니다. 모든 비정상 영역 주위에 상세한 경계를 그리는 데 전문가의 시간이 필요하기 때문에 이는 의료 이미지 분석에서 유용합니다. NCI Genomic Data Commons AI resources는 암 분류, 특징 감지 및 결과 예측을 위한 입력으로서 전체 슬라이드 이미지를 설명합니다. (gdc.cancer.gov)
-
산업 시각 검사: 제조된 부품은 여러 각도에서 촬영되거나 짧은 시퀀스로 기록될 수 있습니다. 품질 검사관은 균열이나 누락된 부품이 포함된 정확한 뷰를 식별하지 않고 전체 검사를 "결함 있음"으로 레이블 지정할 수 있습니다. MIL은 뷰들을 하나의 백으로 취급하고 어떤 시각적 증거가 고장을 예측하는지 학습할 수 있습니다. 나중에 정밀한 결함 위치가 필요해지면 객체 감지 또는 인스턴스 세분화를 위해 선택된 인스턴스에 주석을 달 수 있습니다.
관련 학습 설정#
MIL은 긴밀하게 관련된 여러 접근 방식과 다릅니다:
- 약한 지도 학습은 불완전하거나, 노이가 있거나, 간접적인 레이블을 다루는 더 넓은 범주입니다. MIL은 구체적으로 인스턴스 백에 부착된 레이블을 사용합니다.
- 준지도 학습은 레이블이 지정된 예제와 지정되지 않은 예제를 결합합니다. MIL 백은 레이블이 지정되지만 개별 인스턴스는 보통 레이블이 없습니다.
- 다중 레이블 학습은 하나의 예제에 대해 여러 클래스를 예측합니다. MIL은 예제가 그룹화되는 방식을 설명하므로 시스템이 다중 인스턴스와 다중 레이블 모두에 해당할 수 있습니다.
- 어텐션 메커니즘은 정보에 가중치를 부여하거나 결합하는 방법을 결정합니다. 이는 MIL 집계를 구현할 수 있지만 그 자체로 MIL을 정의하지는 않습니다.
- 객체 감지는 경계 상자와 같은 지역화된 주석을 요구합니다. MIL은 때때로 유력한 영역을 강조할 수 있지만, 백 수준의 훈련만으로는 검증된 객체 위치를 제공하지 않습니다.
실무 워크플로 및 평가#
다음 추론 스케치는 Ultralytics YOLO26 classification model을 사용하여 두 이미지 인스턴스의 점수를 매기고 최대 집계를 적용합니다. 이는 공동으로 훈련된 MIL 모델이라기보다는 백 결정 개념을 시연합니다.
from ultralytics import YOLO
# Treat related images as instances within one bag
sources = [
"https://ultralytics.com/images/bus.jpg",
"https://ultralytics.com/images/zidane.jpg",
]
model = YOLO("yolo26n-cls.pt")
results = model(sources)
# Aggregate evidence for one target class across the bag
target_name = "minibus"
target_id = next(i for i, name in results[0].names.items() if name == target_name)
instance_scores = [float(result.probs.data[target_id]) for result in results]
bag_score = max(instance_scores)
print(f"{target_name} bag probability: {bag_score:.3f}")완전한 MIL 구현은 백 레이블을 사용하여 백 인식 집계기를 훈련합니다. Ultralytics YOLO는 표준 분류 워크플로를 지원하는 반면, 인스턴스를 그룹화하고 백 수준 손실을 최적화하기 위해서는 사용자 정의 MIL 로직이 필요합니다.
실무자는 배치 처리 중에 백 경계를 유지하고, 여러 집계 규칙을 테스트하며, 관련 인스턴스가 데이터셋 분할을 교차하지 않도록 해야 합니다. GroupKFold cross-validation과 같은 도구는 동일한 환자, 비디오 또는 제품의 패치를 함께 유지할 수 있습니다. 백 수준의 정밀도와 재현율을 평가하고, 지역화가 중요한 경우 인스턴스 수준의 평가를 추가하십시오. MIL 파이프라인이 감지, 세분화 또는 분류 구성 요소와 결합될 때 Ultralytics Platform은 데이터셋 관리, 주석, 표준 모델 훈련 및 배포를 지원할 수 있습니다.






