AI: Contrastive/Self-supervised 학습 – Jigsaw Puzzle
ㅁ Contrastive/Self-supervised 학습
1. Jigsaw Puzzle
ㅇ 정의:
이미지의 여러 패치를 무작위로 섞은 뒤, 원래의 올바른 순서를 예측하도록 학습시키는 자기지도학습(Self-supervised learning) 기법. 레이블 없이도 공간적 구조 이해를 학습할 수 있음.
ㅇ 특징:
– 입력 이미지를 일정한 그리드로 분할 후 무작위 순서로 재배열.
– 네트워크가 올바른 순서를 맞추도록 분류 문제로 변환.
– 데이터 증강 효과와 함께 위치/구조 정보 학습 가능.
– 사전학습(pretext task)으로 사용 후, 다운스트림(분류, 탐지 등) 작업에 전이학습.
ㅇ 적합한 경우:
– 레이블 데이터가 부족한 경우.
– 이미지 내 객체의 공간적 관계 학습이 중요한 경우.
– 사전학습을 통해 모델의 일반화 성능을 높이고 싶은 경우.
ㅇ 시험 함정:
– ‘Jigsaw Puzzle’은 퍼즐 조각의 모양을 맞추는 것이 아니라, 패치 순서를 맞추는 것임.
– Contrastive learning과 혼동: Jigsaw는 패치 순서 예측, Contrastive는 샘플 간 유사도/차이 학습.
– 단순한 데이터 증강 기법이 아니라 학습 목적 함수가 있는 pretext task임.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Jigsaw Puzzle은 이미지를 여러 패치로 나누어 순서를 예측하는 자기지도학습 기법이다.
– (X) Jigsaw Puzzle은 이미지의 색상 변화를 예측하는 방법이다.
– (X) Jigsaw Puzzle은 레이블이 많은 데이터셋에서만 효과적이다.
ㅁ 추가 학습 내용
Jigsaw Puzzle 기법은 2016년 Noroozi와 Favaro의 ‘Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles’ 논문에서 제안되었으며, 주로 CNN 기반 특징 추출기의 사전학습에 활용된다.
이미지를 여러 개의 패치로 분할한 뒤 순서를 섞고, 원래 순서를 복원하는 과제를 통해 네트워크가 공간적 구조를 학습하도록 한다.
예를 들어 3×3 패치로 분할하면 총 9개의 패치가 생성되며, 가능한 순열의 경우의 수는 9!이 된다. 경우의 수가 너무 많아 학습이 어려우므로, 실제 학습에서는 제한된 permutation set을 사용하여 난이도를 조절한다.
최근에는 Vision Transformer(ViT) 기반 모델에서도 패치 단위 자기지도 학습 실험이 이루어지고 있어, CNN뿐 아니라 Transformer 구조에도 적용 가능하다.
Jigsaw Puzzle은 rotation prediction, colorization, inpainting 등의 다른 pretext task와 비교했을 때, 특히 공간적 구조 학습에 특화된 점이 특징이다.