FSA.log
로그인
FSA.log
로그인
Contrastive Learning
FSA
·
2024년 1월 21일
팔로우
0
0
딥러닝 기초
목록 보기
11/36
개요
Contrastive Learning은 딥러닝, 특히 비지도 학습(unsupervised learning) 분야에서 중요한 개념으로, 데이터 포인트들 사이의 유사성과 차이를 학습하는 방법론
레이블이 없는 대규모 데이터셋을 활용할 수 있게 해줌
이 접근 방식은 주로 특징 추출(feature extraction)과 표현 학습(representation learning)에 사용
Contrastive Learning의 핵심 아이디어는 유사한 데이터 샘플들을 가깝게, 다른 샘플들을 멀게 표현하는 것
Contrastive Learning의 주요 요소들
1.
Positive and Negative Pairs
:
Positive Pairs
: 유사한 데이터 포인트들로 구성된 쌍입니다.
예를 들어, 같은 이미지의 약간 변형된 버전이 될 수 있습니다.
여러 가지 데이터 증강 기술(예: 회전, 크기 조정, 색상 조정 등)을 적용하여 이미지의 변형된 버전을 생성
Negative Pairs
: 서로 다른 데이터 포인트들로 구성된 쌍입니다.
이들은 서로 다른 클래스에 속하거나, 서로 관련이 없는 특성을 가질 수 있습니다.
2.
Embedding Space
:
Embedding network를 통해, Positive Pairs 및 Negative Pairs의 각 이미지를 임베딩으로 변환
데이터 포인트들을 저차원의 벡터 공간(embedding space)에 매핑
이 공간에서, 유사한 데이터 포인트들은 서로 가까이, 다른 데이터 포인트들은 멀리 위치하도록 학습
3.
Loss Function
:
Contrastive Learning의 핵심은 효과적인 손실 함수(loss function)
가장 흔히 사용되는 것은 Triplet Loss와 Contrastive Loss입니다.
이들은 모델이 positive pairs를 가깝게, negative pairs를 멀게 매핑하도록 유도
3.1. Triplet Loss
Triplet Loss는 '세 개의 쌍'을 이용
하나의 '기준' 이미지(Anchor),
그 기준 이미지와 유사한 이미지(Positive),
기준 이미지와 다른 이미지(Negative)가 사용
목표
: 기준 이미지는 유사한 이미지와 가깝게, 다른 이미지와는 멀게 배치
예시
: 손가락으로 'V'자를 만든 사진이 기준 이미지라면, 또 다른 'V'자 사진은 가깝게, 'O'자를 만든 사진은 멀게 배치됩니다.
3.2. Contrastive Loss
Contrastive Loss는 '두 개의 쌍'을 사용합니다.
하나의 이미지 쌍이 주어지며, 이 쌍이 유사한지 다른지를 판별
목표
: 유사한 이미지 쌍은 가깝게, 다른 이미지 쌍은 멀게 배치되어야 합니다.
예시
: 두 개의 사과 사진(유사한 쌍)은 가깝게, 사과와 오렌지 사진(다른 쌍)은 멀게 배치됩니다.
3.3. InfoNCE Loss
Information Noise-Contrastive Estimation: InfoNCE
InfoNCE Loss는 '다수의 쌍'을 사용하며, 주로 대량의 데이터에서 유사성을 학습하는 데 사용
목표
:
하나의 기준 이미지
와
여러 유사한 또는 다른 이미지들
사이의 관계를 학습
예시
:
하나의 고양이 사진(기준 이미지)
와
다른 여러 고양이 사진(유사한 이미지들)
및
개 사진(다른 이미지들)
을 비교하여,
고양이 사진들이 서로 가깝고 개 사진들과는 멀게 배치되도록 합니다.
3.4. MoCo (Momentum Contrast) loss
4. 장점과 한계:
4.1.
장점
:
레이블이 필요 없거나 적은 데이터로도 효과적인 학습이 가능합니다.
데이터의 복잡한 내부 구조를 학습하여 강력한 특징 표현을 생성할 수 있습니다.
4.2.
한계
:
적절한 positive와 negative pairs의 선택이 중요하며, 이는 경우에 따라 어려울 수 있습니다.
5. 예시 적용:
5.1.
비슷한 이미지 검색
:
학습된 모델을 사용하여 데이터베이스 내의 이미지들을 임베딩으로 변환
특정 이미지에 대해 가장 가까운 임베딩을 가진 다른 이미지들을 찾아, 비슷한 이미지들을 검색할 수 있음
5.2.
이미지 클러스터링
:
임베딩을 사용하여 비슷한 이미지들을 그룹화하고, 이를 통해 데이터셋 내의 자연스러운 패턴이나 분류를 발견할 수 있음
5.3. 비디오 데이터셋에서의 적용
비디오를 프레임 또는 짧은 시퀀스로 분리합니다.
각 프레임/시퀀스에 대해, 유사한(positive) 및 다른(negative) 쌍을 형성합니다.
예를 들어, 동일한 비디오 내의 연속적인 프레임들은 유사한 쌍으로, 다른 비디오의 프레임들은 다른 쌍으로 간주될 수 있습니다.
FSA
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것
팔로우
이전 포스트
Cross-sample augmentation
다음 포스트
Similarity Contrastive Estimation(SCE)
0개의 댓글
댓글 작성