본문 바로가기
딥러닝 with Python

[딥러닝 with Python] Multiple Instance Learning을 활용한 이미지 분류[개념 정리]

by CodeCrafter 2024. 7. 23.
반응형

[해당 포스팅은 https://keras.io/examples/vision/attention_mil_classification/을 참조하였습니다]

 

이번에 알아볼 내용은 Multiple Instance Learning을 활용하여 이미지를 분류하는 작업에 대해서 알아보겠습니다.

 

1. Multiple Instance Learning이란?

- Multiple Instance Learning이란, 전통적인 지도학습방식과는 다른 방식으로 레이블이 되어있는 학습데이터를 분할하여 개별 인스턴스를 만들고 그 인스턴스를 활용하는 방식입니다.

 * 일반적인 지도학습은, 학습 데이터인 개별 인스턴스에 대해 레이블을 가지고 있습니다. 예를 들어, 개별 인스턴스를 개나 고양이 등 각 사진 1장을 의미하고, 그 사진 1장에 대한 이름, 즉 레이블이 달려있는 것입니다.

 * 하지만, MIL에서는 여러개의 인스턴스를 포함하는 "bag"에 대한 레이블을 받습니다. 위와 비교해보면, 개 또는 고양이 사진 한장은 하나의 "bag"이며, 그 사진을 여러 패치로 나누었을 때 각 패치들이 하나의 Instance가 되는 것입니다. 

 * 위 그림을 예시로 들면, 강아지 전체 사진은 하나의 "bag"이며, 각각의 patches는 Instance가 되는 것입니다.

 

- 이때 bag에 대한 레이블은 다음과 규칙을 따르게 됩니다.

 * Positive bag : 적어도 하나의 positive 인스턴스를 포함하고 있는 경우 

 * Negative bag : Positive 인스턴스를 전혀 포함하지 않은 경우 

 * 예를 들어, 개와 고양이를 분류하는 문제에서 Positive bag은 전체 이미지에서 개 이미지가 포함된 것을 의미하며, 개 이미지가 포함되지 않으면 Negative bag를 의미합니다. 

 

Positive / Negative bag 예시 (개 이미지가 Positive 인 경우)

 

- 조금 더 일반적인 Positive Bag과 Negative Bag 예시에 대해서 알아보면 

 

a) Positive Bag

  * 의료 이미지 : 암 조직이 포함된 이미지를 Positive Bag으로 간주( 이미지의 일 부 패치에 암조직이 있을 때 해당 이미지는 Positive Bag)

  * 이메일 스팸 필터링 : 스팸 단어가 포함된 이메일을 Positive Bag으로 간주

  * 텍스트 분류 : 특정 주제에 대한 문장을 포함하는 기사를 Positive Bag으로 간주 

 

b) Negative Bag

 * 의료 이미지 : 암조직이 전혀 포함되지 않은 이미지 

 * 이메일 스팸 필터링 : 스팸 단어가 포함되지 않은 이메일

 * 텍스트 분류 : 특정 주제에 대한 문장이 전혀 포함되지 않은 기사

 

 

- 그렇다면, Multiple Instance Learning을 활용하는 이유는 무엇일까요?

- 이는 기존의 이미지 분류에서 이미지 전체가 명확하게 하나의 클래스 레이블을 나타낸다고 가정하는 것에 대한 문제점 때문입니다. 예를 들어, 의료 영상에서는 전체 이미지가 단일 클래스 레이블(암 / 비암)로 표현되거나 특정 영역이 이를 표현할 수 있습니다. 하지만, 실제로는 이미지 내의 특정 패턴이 해당 클래스를 결정하는 원인일 수 있습니다. 이런 맥락에서 이미지를 여러 부분으로 나누고, 이 부분들이 인스턴스가 되어 bag을 구성하게 됩니다. 

- 이에 따라 MIL은

 * Bag의 클래스 레이블을 예측하는 모델을 학습하고

 * Positive 클래스 레이블 예측에 기여한 인스턴스를 식별하여 어떤 인스턴스(이미지 내의 일부분)가 bag을 positive로 분류하게 했는지를 파악할 수 있게 됩니다.

반응형

댓글