Contrastive/Self-supervised 학습: pretext task
ㅁ Contrastive/Self-supervised 학습
ㅇ 정의:
– 대량의 레이블이 없는 데이터를 활용하여 유용한 표현을 학습하는 방법론으로, 데이터를 변형하거나 비교하여 학습 목표를 설정함.
ㅇ 특징:
– 데이터 레이블이 필요 없으므로 데이터 수집 비용 절감 가능.
– 학습된 표현은 다양한 다운스트림 작업에 활용 가능.
– 일반적으로 대규모 데이터와 강력한 연산 자원이 필요.
ㅇ 적합한 경우:
– 레이블링이 어려운 대규모 데이터셋을 활용할 때.
– 데이터의 잠재적 패턴을 이해하고 싶을 때.
ㅇ 시험 함정:
– Contrastive 학습과 Self-supervised 학습의 차이점을 혼동할 가능성.
– 실제 적용 사례와 이론적 개념을 혼동할 위험.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: Self-supervised 학습은 레이블 없는 데이터에서 유용한 표현을 학습한다.
– X: Self-supervised 학습은 항상 레이블이 있는 데이터를 필요로 한다.
================================
1. pretext task
ㅇ 정의:
– Self-supervised 학습에서 데이터의 잠재적 구조를 학습하기 위해 설정하는 인공적인 학습 목표.
ㅇ 특징:
– 다양한 형태로 설계 가능 (예: 이미지 조각 맞추기, 색상 복원 등).
– 다운스트림 작업과 직접적으로 관련되지 않지만, 유용한 표현 학습에 기여.
ㅇ 적합한 경우:
– 데이터의 잠재적 구조를 이해하고 학습 표현을 일반화하려는 경우.
– 다운스트림 작업에 필요한 고품질의 표현 학습이 필요할 때.
ㅇ 시험 함정:
– Pretext task의 목적과 다운스트림 작업 간의 관계를 혼동할 가능성.
– 특정 pretext task가 왜 효과적인지에 대한 이해 부족.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: Pretext task는 Self-supervised 학습에서 인공적인 학습 목표를 설정한다.
– X: Pretext task는 항상 다운스트림 작업과 직접적으로 연관된다.
ㅁ 추가 학습 내용
1. Contrastive 학습과 Self-supervised 학습의 주요 차이점:
– Contrastive 학습은 데이터 간의 유사성과 차이를 학습하는 데 초점을 맞춘 학습 방법입니다. 주로 쌍(pair) 데이터를 구성하여, 유사한 데이터 쌍은 가까이, 다른 데이터 쌍은 멀리 위치하도록 임베딩 공간을 학습합니다. 예를 들어, 이미지에서 같은 클래스의 이미지는 가까운 위치에, 다른 클래스의 이미지는 먼 위치에 배치되도록 학습합니다.
– Self-supervised 학습은 레이블이 없는 데이터를 활용하여 다양한 pretext task를 통해 데이터의 구조와 패턴을 이해하도록 학습합니다. 여기서 pretext task란, 데이터 자체에서 생성된 가상의 레이블을 학습 목표로 설정하여 모델이 데이터를 더 잘 이해할 수 있도록 돕는 과제입니다. Self-supervised 학습은 Contrastive 학습을 포함할 수 있지만, 반드시 Contrastive 방식을 사용하는 것은 아닙니다.
2. Pretext task의 구체적인 예시:
– 이미지 데이터:
– Jigsaw Puzzle Task: 이미지를 여러 조각으로 나눈 후, 이를 섞어서 다시 원래 순서대로 맞추는 학습 과제입니다. 모델은 조각의 상대적 위치를 학습하며 이미지의 공간적 구조를 이해합니다.
– Rotation Prediction Task: 이미지를 0도, 90도, 180도, 270도로 회전시킨 후, 모델이 이미지의 회전 각도를 예측하도록 학습합니다. 이를 통해 모델은 이미지의 방향과 패턴을 학습할 수 있습니다.
– 텍스트 데이터:
– Masked Language Modeling (MLM): 문장에서 일부 단어나 토큰을 마스킹(masking)한 후, 모델이 이를 예측하도록 학습합니다. 예를 들어, “나는 [MASK]를 좋아합니다”라는 문장에서 [MASK]에 들어갈 단어를 예측하는 과제입니다. 대표적인 사례로 BERT 모델이 있습니다.
– 다음 문장 예측(Next Sentence Prediction, NSP): 문장 A와 문장 B가 주어졌을 때, B가 A의 다음 문장인지 아닌지를 예측하는 과제입니다. 이는 문장 간의 관계를 학습하는 데 도움을 줍니다.