Image to Image translation
이미지 데이터셋을 사용하여 input이미지와 output 이미지를 mapping하는 생성 모델의 분야이다.
ex) 흑백 ↔ 컬러, 낮 ↔ 밤, 등
Pix-2-Pix
image to image translation분야에서 처음 등장한 모델!
Loss funtion에서 Generator가 어느것을 택해도 loss가 너무 커지지 않도록 애매한 중간값을 택하는 경향이 있다.
→ 가운데 사진처럼 뿌옇게 표현된 output이 나온다.
cGAN(conditional GAN)이 추가되어 보완된 Pix-2-Pix 모델
한계: 학습시키기 위해 paired-image 데이터셋이 필요함
위 사진처럼 동일한 포즈와 크기의 얼룩말 사진이 필요하다.
이러한 단점을 해결하기 위해 등장한 모델은?
Cycle GAN
Cycle GAN project page: https://arxiv.org/pdf/1703.10593.pdf
기존의 GAN모델의 경우, 완벽히 한 쌍을 이루는 데이터만 학습 가능하다.
→ unpaired-image를 가지고 image2image translation을 하기 위해 Cycle-GAN이 등장했다!
GAN의 Loss function을 사용하는 경우 Mode collapes라는 문제 발생!
- $f(x)$ (파란색 실선): 실제 데이터 분포
- $q'(x)$ (초록색 점선): Mode (최빈값)
파란색, 실제 데이터 분포와 유사하게 학습하기를 원한다.
하지만 Generator가 학습한 분포를 보면 한쪽에만 강하게 몰리는 것을 볼 수 있다.
→ 이렇게 되면, input의 특징을 다 잊어버려 서로 다른 두 그림의 input도 똑같은 output생성한다.
→ 이것이 바로 Mode collapse(최빈값 붕괴)
Cycle GAN의 구조: 순환 구조
기존에 있던 generator G 이외에 F라는 새로운 generator가 등장했다.
G라는 생성자를 이용해서 사진을 바꾸고, 그 바꾼 사진을 F라는 생성자를 이용해서 다시 그림으로 바꾸었을 때, 처음 주어진 그림과의 차이가 적어야 한다! → Loss function의 의미
수식에서 $G(x)$가 바꾼 이미지가 다시 $F()$로 input으로 들어가 복원하는 것을 볼 수 있다.
$G$와 $F$를 거쳐서 자기 자신으로 한 바퀴 돌아오는 것 ⇒ 순환 일관성(Cycle Consistency)
복원한 이미지(output), 원래 이미지의(input) 차이 ⇒ cycle consistency loss
Cycle GAN의 loss function
- 도메인1: 꽃(?) 사진
- 도메인2: 꽃(?) 그림
최종적으로 정리를 하자면,
a = 사진(도메인1) → 그림(도메인2)으로 변환 → 다시 사진으로 변환 했을 때의 Loss
b = 그림(도메인2) → 사진(도메인1)으로 변환 → 다시 그림으로 변환 했을 때의 Loss
Cycle-GAN의 LOSS = a + b (두 가지 도메인 관점에서의 모든 loss를 더해준다.)
성능
→input $x$이미지와 복원한(순환된) $F(G(x))$이미지의 차이가 크지 않다.
활용
한계
- 이미지나 모양을 바꾸진 못한다. ex) 사과→오렌지, 고양이→개
- 데이터셋의 분포가 불안정하면 이미지를 제대로 생성할 수 없음→ 데이터셋에 사람이 탄 말 데이터가 없기 때문이다.
- ex) 사람을 태운 말→얼룩말로 변환 할때, 사람까지 얼룩말이 된다.
'Data Science > 딥러닝 논문 리뷰' 카테고리의 다른 글
[딥러닝 논문리뷰] An overview of gradient descent optimization algorithms (0) | 2025.04.30 |
---|---|
[딥러닝 논문 리뷰]Attention Is All You Need 논문 리뷰 (Transformer) (10) | 2024.10.09 |