Image Generation
1. Image Generation Model Families
1-1. VAE(변분 자동 인코더)
이미지를 주요 특징으로 효율적으로 압축된 크기로 인코딩한 다음 데이터 분포를 학습하면서 원래 크기로 다시 디코딩하도록 설계된 일종의 신경망 아키텍처
자동 인코더는 비지도 머신러닝을 사용하여 입력 데이터의 잠재 변수, 즉 직접 관찰할 수는 없지만 근본적으로 데이터 배포 방식에 영향을 미치는 숨겨진 변수 또는 무작위 변수를 발견하도록 학습됩니다. 주어진 입력 데이터 세트의 잠재 변수를 총칭하여 잠재 공간이라고 합니다. 학습 과정에서 오토인코더는 원본 데이터를 가장 정확하게 재구성하는 데 사용할 수 있는 잠재 변수를 학습합니다. 따라서 이 잠재 공간 표현은 원본 입력에 포함된 가장 중요한 정보만을 나타냅니다.
1-2. GAN(생성적 적대 신경망)
- 일반적으로 가장 알려진 이미지 생성 모델
- GAN은 이미지를 생성하는 Generator 와 이를 구분하는 Discriminator가 상호 적대적으로 학습하는 방법을 사용
- 시간이 지날수록 진위 여부를 구분하는 판별자의 능력이 향상되며 생성자가 실제에 가까운 가짜를 생성하는 능력도 향상
- GAN의 학습 과정에서는 분류 모델을 먼저 학습 시키고, 생성 모델을 학습. 분류 모델은 먼저 진짜 데이터를 진짜로 분류하도록 학습 시킨 후 생성 모델이 생성한 데이터를 가짜로 분류하도록 학습하고 마지막으로 학습된 분류 모델을 속이는 방향으로 생성 모델을 학습
1-3. Autoregressive model
- 이미지를 픽셀 시퀀스로 처리하여 이미지를 생성
- 오늘날의 자동 회귀 모델 방식은 실제로 대량 언어 모델(LLM)이 텍스트를 처리하는 방식에서 영감을 받아 개발된 것
2. Diffusion Model
- 데이터 분포의 구조를 반복적인 정방향 확산 프로세스를 통해 체계적으로 서서히 해체하는 것(이미지에 반복적으로 노이즈를 더함)
- 데이터의 구조를 복원하는 역확산 프로세스를 학습하여 유연성이 높고 다루기 쉬운 데이터 생성 모델을 얻음
=> 이미지에 노이즈를 반복적으로 추가한 다음 이미지에서 노이즈를 제거하여 새로운 이미지를 생성하는 방법을 배우도록 모델을 훈련 (
데이터 포인트가 잠재 공간을 통해 확산되는 방식을 모델링함으로써 데이터 세트의 잠재 구조를 학습하는 것)
Attetion Mechanism
1. seq2seq
인코더-디코더는 문장을 번역할 때 많이 사용되는 모델으로 한번에 한 단어를 가져와 각 시점에 이를 반영함
고정된 길이의 벡터를 입력으로 받아 고정된 길이의 벡터를 출력 => 정보 손실 발생
Black cat ate the mouse = (frencth) > Le chat noir a manage la souris
영어로 첫번째 단어는 Black 이지만 프랑스어의 첫번째는 chat (cat) 을 의미함
위와 같은 한계를 보완 하기 위해 도입된게 Attention mechanism
2. Attention mechanism
- 입력 시퀀스 각 단어에 대한 가중치를 계산 하는 함수
- 인코더
- 전통적인 seq2seq 모델보다 훨씬 더 많은 데이터를 디코더로 전달. 각 시점의 모든 은닉 상태를 전달
- 최종 은닉 상태 이상의 컨택스트가 디코더에 제공
- 디코더
- 수신된 인코더 상태 집합을 살펴 본 뒤 은닉 상태에 점수를 부여함
- 각 은닉 상태와 소프트 맥스 점수를 곱하여 점수가 가장 높은 은닉 상태를 증폭하고 낮은 은닉 상태는 소소
Encoder-Decoder Architecture
- 인코더에서 출발어 문장을 피드 한 다음 디코더가 생성하는 결과와 실제 번역 사이 오차를 계산
- 디코더가 지금까지 생성한 결과가 아닌 이전에 번역된 올바른 토큰을 디코더에 입력하여 다음 토큰을 생성하도록 해야함 (교사 강요)
- 디코더가 각 단계에서 생성하는 것은 단어의 각 토큰이 다음 토큰이 될 확률 => 사용자는 이 확률을 사용해 단어 선택
- Greedy search
- Beam search