Generative Pre-training은 자연어 처리(NLP)와 컴퓨터 비전 분야에서 사용
핵심 아이디어
대규모 unlabeled 데이터를 사용하여 모델을 사전 학습시켜,
이후 특정 작업에 대한 미세 조정(fine-tuning) 과정에서 모델의 성능을 향상시키는 것
1.1. generative??
"Generative"는 데이터를 생성하거나 모방할 수 있는 모델의 능력을 지칭
생성적 사전 학습(Generative Pre-training)에서 "생성적"이라는 용어는
모델이 학습 과정에서 관찰된 데이터의 분포를 학습하고,
이를 바탕으로 새로운 데이터 샘플을 생성할 수 있는 능력을 갖추고 있음을 의미
이러한 생성적 모델은 입력 데이터를 기반으로 출력 데이터를 생성하는데, 이때 생성된 데이터는 실제 데이터와 유사해야 합니다.
생성적 모델의 예
텍스트를 생성하는 언어 모델
이미지를 생성하는 GANs(Generative Adversarial Networks)
생성적 사전 학습에서는 이러한 모델이
대규모의 비구조화된 데이터로부터 복잡한 데이터 분포를 학습
이를 바탕으로 새로운 데이터를 생성할 수 있는 능력을 사전에 학습
이 과정을 통해 모델은 더 나은 일반화 능력과 새로운 상황에 대한 적응력을 개발할 수 있음
1.2. 수학적 표현
1.3. 인코더-디코더 구조와 Generative Pre-training
인코더-디코더 모델은 생성적 사전 학습에서 자주 사용되는 구조
인코더는 입력 데이터를 고차원 특징 공간으로 매핑하는 역할을 하며, 디코더는 이 특징 공간에서 원하는 출력 데이터를 생성
특히, 자연어 처리에서는 인코더가 텍스트를 내부 표현으로 변환하고, 디코더가 이 내부 표현을 바탕으로 새로운 텍스트를 생성
예를 들어, 인코더가 이미지를 받아 그에 대한 내부 표현을 생성하고, 디코더는 이 내부 표현을 사용하여 해당 이미지에 대한 설명을 생성하는 이미지 캡셔닝 작업에 적용될 수 있습니다.
이러한 과정에서 Language Modeling (LM) loss 또는 PrefixLM 손실 함수가 사용될 수 있으며, 이는 디코더가 생성한 텍스트의 우도를 최대화하는 방향으로 모델을 학습시키는 데 도움을 줍니다.
2. Language Modeling (LM) Loss / PrefixLM
Language Modeling (LM) Loss와 PrefixLM Loss은 자연어 처리(NLP)에서 텍스트 데이터의 확률 분포를 학습하기 위해 사용되는 개념
이들은 모델이 주어진 문맥이나 시퀀스를 바탕으로 다음 단어를 예측하도록 학습
이 과정에서 모델은 주어진 단어들의 시퀀스를 바탕으로 다음에 올 단어를 예측하는 방법을 학습
2.1. Language Modeling (LM) Loss
2.2. PrefixLM
PrefixLM은 특히 Transformer 기반 모델에서 사용되는 변형된 언어 모델링 접근 방식
PrefixLM은 입력 시퀀스의 일부를 "prefix"로 고정하고, 이 prefix를 바탕으로 나머지 시퀀스를 예측하도록 모델을 학습
이 방식은 BERT와 같은 양방향 모델에서 특히 유용하며, 문맥의 양쪽 방향에서 정보를 활용할 수 있게 함
이 접근 방식은 모델이 더 긴 문맥 정보를 활용하여 보다 정확한 텍스트 생성을 가능하게 함
PrefixLM은 특히 생성적 사전 학습과 같은 과정에서 유용하게 사용될 수 있으며, 모델이 다양한 언어적 구조와 패턴을 더 효과적으로 학습할 수 있도록 도움
2.3. captioning (generative) loss
Captioning loss(캡셔닝 손실), 이미지 캡셔닝을 위한 생성 모델에서 자주 언급되는 손실 함수는 생성된 캡션과 실제 캡션 간의 차이를 측정하는 데 사용
이미지에 대한 텍스트 설명을 생성하는 모델에서 일반적으로 사용
이 손실을 최소화하여, 이미지에 대한 생성된 캡션의 정확성과 관련성을 향상시키는 것이 목표
캡셔닝 손실의 일반적인 형태는 이미지 캡셔닝과 같은 시퀀스 생성 작업에서 사용되는 교차 엔트로피 손실입니다. 실제 캡션을 토큰(단어)의 시퀀스로 나타내는 y와 예측된 캡션을 토큰의 시퀀스로 나타내는 y^를 고려할 때, 단일 예시에 대한 캡셔닝 손실은 다음과 같이 정의될 수 있습니다: