211007 GoingDeeper 7. Image clustering

시에나 Sienna·2021년 10월 7일
0

AIFFEL

목록 보기
50/66
post-custom-banner

1. Clustering

  • 머신러닝 중 비지도 학습 방법의 하나로서, 샘플의 특징을 이용하여 비슷한 것끼리 그룹화하는 방법
  • market segmentation, social network analysis, search result grouping, medical imaging, image segmentation, anomaly detection 분야에서 클러스터링이 사용됨
  • Clustering을 하려면 input image로 명확하게 Labeling Scheme를 세울 수 있는가? 검토필요
  • 단점 : 공인된(globally accepted)된 평가척도는 없으나, 군집 타당성 지표가 있음
    • 군집의 타당성 지표 : 군집내 분산은 최소화, 군집간 분산은 최대화한다는 원칙
    • 이미지들이 특정 Cluster에 비슷한 이미지들끼리 잘 묶여있는지 여부를 Qualitative(정성적)하게 판단하여 성능을 평가
    • ex) cluster별 이미지를 ploting 등

2. Representation Vector

  • 데이터(이미지)의 특징을를 잘 표현하고 있는 벡터, "표현 벡터"라고 번역됨
  • 좋은 Representation vector란? 참고글
  • Representation vector로 변환하는 이유?
    • 고차원 이미지 데이터를 클러스터링 적용시 차원의 저주에 빠지기 쉬움
    • 클러스터링을 잘하기 위해서는 해당 이미지의 특징은 잘 유지하면서 저차원(low-dimensional)의 공간으로 매핑시키는 작업이 필요
    • 컴퓨터 비전 분야의 백본 네트워크, AlexNet, VGG, ResNet 등의 이미지 인식에 뛰어난 성능을 보이는 모델 구조를 이용하여 이미지 정보를 잘 담는 벡터로 추출
  • ex) CNN 아키텍처(Architecture) 모델 이용
    • pooling layer까지를 feature extracter(특징 추출기), 그 이후는 classifier(분류기)
    • pooling layer에서 나온 벡터를 Representation Vector로 사용

3. Self-Supervised Learning

  • unlabeled data를 기반으로 스스로(self) 학습데이터에 대한 분류(supervision)를 수행함
  • 사용자가 정의한 문제(pretext task)을 이용하여 이미지의 sementic한 정보들을 학습
  • 학습구성 : Pre-trained 모델 생성 + Downstream task
    • Pre-trained 모델 : 대량의 unlabeled data를 이용하여 해당문제에 대한 전반적인 특징을 학습하는 단계
    • Downstream task : 소량의 labeled data를 이용하여 사용 목적에 맞게 Pre-train model을 Finetuning함
  • Self-Supervised Learning의 Category
    • Pretext Learning (rotation prediction, Jigsaw Puzzle, Colorization 등)
      • 학습을 위해서 많은 데이터와 수많은 연산량이 필요
    • Contrastive Learning (SimCLR, MoCo 등)
      + 주어진 입력 이미지들에 대한 정보를 추출하는 방식
      + 편리한 구현과 적은 리소스로도 우리 데이터를 잘 이해하는 weight를 만듦

      백본 네트워크

      • DeepLab 아키텍처 내에서 사용되는 기능 추출 네트워크를 의미
      • 입력이 처음 들어와서 출력에 관련된 모듈에 처리된 입력을 보내주는 역할
      • 이미지에서 특징을 추출해 내는 특징 추출기와 클래스를 분류해 내는 분류기로 나누어짐

4. Rotation Prediction

  • Self-Supervised Learing의 Pretext Learning 기법 중 하나
  • image의 rotation을 학습하도록 하는 pretext task
    • 하나(single)의 이미지를 각각 0, 90, 180, 270도 random하게 회전(rotaiotn)시켜서 이미지가 원본으로 부터 몇 도 회전되었는지 분류하도록 학습함
  • 원리 : 모델이 이미지를 canonical orentations되게 학습하다보면 전반적인 이미지 특징을 학습하게 됨
    • canonical orientations : 일반적인 방향, 표준적인 방향이라고 해석
    • 아래 그림에서 ImageX가 canonical orientation을 나타내는 이미지

📜 참고자료
1. 고려대학교 강의 자료 youtube, pdf
2. Self-Supervised Learning

post-custom-banner

0개의 댓글