Unsupervised Image-to-Image Translation

생성모델쟁이·2020년 11월 25일
15

GAN

목록 보기
6/9
post-thumbnail

작성자 : 숙명여자대학교 IT공학전공 이도연

Image-to-Image Translation

지난 강의들에서 Image-to-Image Translation(pix2pix, CycleGAN), Multi-domain Image-to-Image Translation(StarGAN, RelGAN)을 다뤘습니다. 오늘은 Unsupervised Image-to-Image Translation을 주제로 UNIT, MUNIT, FUNIT 등의 논문들을 요약 정리해보며 Image-to-Image Translation에 대해 조금 더 이해해 보고자 합니다. (참고로 여기서 말하는 unsupervised는 unpaired dataset을 의미)

UNIT(Unsupervised Image-to-Image Translation)

Introduction

  • 한 이미지가 다른 도메인으로 변환된 모습을 보여주는 paired 이미지 데이터가 없는 unsupervised 문제를 다룬다.
  • 두 개의 도메인에 대해 두 개의 marginal distribution이 있을 때 joint distribution을 추론하는건 ill-posed problem이다.
  • 이를 해결하기 위해 shared latent space assumption이 등장했다.
    UNIT

Assumption - Shared Latent Space

이는 서로 다른 도메인의 이미지 pair가 하나의 동일한 latent space로 mapping 될 수 있다는 가정으로 아래와 같은 식들로 표현할 수 있다.
SharedLatenSpace
translation
cycle-consistency
위 식에서 shared latent space를 통해 cycle-consistency도 설명할 수 있다.

Framework

VAE{E, G}

Encoder-Generator pair는 VAE를 구성하고 있다. Encoder를 통해 image를 latent space z에 mapping 시키고 Generator를 통해 z에서 image를 복원한다.

Weight-sharing

두 VAE를 연관시키기 위해서 weight-sharing을 사용한다. 위의 (b) 그림에서 점선에 해당하는 부분이다. 하나의 latent space z를 공유하기 위해서 두 Encoder의 last few layers와 두 Generator의 first few layers에서 weight를 공유한다. 이것만으로는 같은 latent space를 공유한다는 것을 보장할 수 없지만 여기에 adversarial training을 통해서 하나의 latent space를 공유하게 된다.

GAN {G, D}

Generator는 reconstruction stream에서의 이미지와 translation stream에서의 이미지를 생성하는데 reconstruction stream은 지도식으로 학습할 수 있기 때문에 translation stream에 대해서만 adversarial training을 한다.

Learning

image
E1, E2, G1, G2를 고정시키고 D1, D2를 학습하고 D1, D2를 고정시키고 E1, E2, G1, G2를 학습한다.
image
image
image
우리가 앞서 배웠던 GAN, VAE loss와 같다.

Results

image
image

MUNIT(Multimodal Unsupervised Image-to-Image Translation)

Introduction

image
Multimodal을 위해 이미지에 대한 latent space가 content space와 style space로 decomposed 된다. 여기서 content space는 domain에 상관없이 공유하고 style space는 domain-specific 하다고 가정한다. 이를 통해 다양한 style을 입힌 결과를 보여줄 수 있다.

GANs, Image-to-image translation, Style Transfer

앞의 강의에서 다룬 내용들..(생략)

Learning disentangled representations

content와 style에 대해 content-the underling spatial structure, style-the rendering of the structure 라고 말한다. 두 도메인이 같은 content distribution을 공유하지만 다른 style distributions을 가진다.

Model

MNUIT
(a) x1, x2 각각의 이미지가 style과 content로 나누어지고 다시 원래 이미지를 복구하는 Encoder, Decoder 구조
(b) x1에서 뽑아낸 content를 x2에서 뽑아낸 style을 입히면 x1->x2 image translation이 이루어진다.

Bidirectional reconstruction loss

한 domain 내에서 이미지가 content, style space로 mapping 되는 Encoder와 latent space가 다시 이미지로 mapping 되는 Decoder를 학습 시키기 위해 L1 reconstruction loss를 사용한다.

image reconstruction

image - latent - image
image

latent reconstruction

latent - image - latent
image

  • content, style 각각에 대한 loss
  • content reconstruction loss는 변환된 이미지가 input 이미지에 대한 의미적 content를 보존하도록
  • style reconstruction loss는 주어진 다른 style code들에 대해 다양한 결과를 내도록

Adversarial loss

기존의 GAN loss와 동일
image

Total loss

image
여기서 λ 람다 값들은 reconstruction term의 중요도를 조절하는 weight이다.

Style-augmented Cycle Consistency

image
bidirectional reconstruction loss와 같은 내용이지만 어떤 데이터 셋에서는 이걸 명시적으로 사용했을 때 유용하다.

Implementation Details

image

Content encoder

several strided convolutional layers to downsample the input, several residual blocks to further process it
모든 convolutional layer들이 Instance Normalization(IN)을 한다. 즉 content 정보만 남긴다.

Style encoder

several strided convolutional layers, global average pooling layer and fully connected layer
Instance Normalization을 사용하지 않는다. IN 이 original feature의 평균, 분산 등 중요한 스타일 정보를 나타내는 것들을 없애기 때문에

Decoder

AdaIN을 통해 style 정보를 content에 입힌다
image
AdaIN Parameters = (N, ) Shape Vector, β = mean(AdaIN Params), γ = std(AdaIN Params)

Results

MUNIT_RESULT

FUNIT(Few-Shot Unsupervised Image-to-Image Translation)

image

앞서 설명한 MUNIT에 기반해 few-shot을 가능하게 한 모델이다.
1. many source class images but few target class images
2. few target class images는 test time에만 존재하고 많은 다른 class로 이루어질수도 있다.

Model

Few-shot Image Translator

FUNIT의 목표는 source class의 image를 few target class image들로 본 적 없는 target class로 mapping 시키는 것이다. FUNIT을 학습시키기 위해서 object classes 이미지(class 간의 pair 등은 고려하지 않은 다양한 동물들의 이미지) 데이터를 사용했고 이를 source classes라고 한다. 그리고 test 때는 새로운 object class에 대한 few images를 target class로 한다.

어떤 source class든 target class의 이미지들에 맞게 변환되어야 한다.

conditional image generator G와 multi-task adversarial discriminator D로 이루어져 있다.

Generator의 경우 아래와 같이 content image x와 sef of K class images를 input으로 받는다.
Training을 할 때는 source classes에서 겹치지 않게 random으로 두 개의 class를 뽑아서 학습시킨다.

image

FUNIT
few-shot image translator G의 구조는 MUNIT에서 봤던 것과 매우 유사한데,
content encoder와 class encoder, decoder로 이루어져 있다.

content encoder는 input content image를 content latent code z로 mapping 시키고
class encoder는 각각의 class image 들에 대해 intermediate latent vector를 구한 후 mean을 구해 final class latent code z를 만든다.

Decoder에서는 역시 AdaIN을 사용한다.
class image들은 global look(object appearance), content image는 local structure(locations of eyes)를 조절하도록 한다.

Generator가 더 많은 source classes(more species of animals)로 학습할수록 few-shot 성능이 더 좋아진다.

Multi-task Adversarial Discriminator

image
논문에 나와있는 Discriminator 구조!

Discriminator가 multiple adversarial classification을 하는데 각각이 binary classification task로 input image가 real인지 판단한다.

S개의 source class가 있을 때 Discriminator에서 S개의 output이 나오는데 real 이미지에 대해서는 해당 class의 output이 false일때만, translation fake 이미지에 대해서는 해당 class의 output이 true일때만 D를 penalize한다.

Generator도 해당 클래스의 output이 false일때만 update 된다.

Learning

image
GAN loss, content reconstruction loss, feature matching loss로 이루어져 있다.

GAN loss

image
GAN loss에서 D 위의 첨자는 object class를 의미하고 loss는 오직 class의 binary prediction score에 의해 계산된다.

content reconstruction loss

image
input content image와 input class image(K=1)로 같은 image를 사용해 input과 동일한 output image를 생성하도록 한다.

feature matching loss

image
Discriminator에서 마지막 prediction layer를 제거한 feature extractor Df로 translation output과 class image들 사이의 특징(feature map)의 차이가 최소화 되도록 학습한다.

Results

FUNIT_RESULT

이외의 UNIT

여기서 더 다루지는 못했지만,
이후 NVIDIA에서 이어서 나온 COCO-FUNIT과 이외에도 TUNIT, DUNIT 등이 있다.

간단하게 그림으로만 소개하자면,

COCO-FUNIT

image
COCO-FUNIT(Few-Shot Unsupervised Image Translation with a Content Conditioned Style Encoder)은 style code를 뽑을 때 content에 대한 정보를 함께 줘서 input image의 구조를 더 잘 보존한다.
image

TUNIT

image
TUNIT(Rethinking the Truly Unsupervised Image-to-Image Translation)은 지금까지 unpaired의 의미를 가지고 있던 unsupervised의 정의를 다시해서 아무런 label도 없이(domain label도 없이) image-to-image translation 하는 모델이라고 소개한다. Guiding network E를 통해 pseudo label을 만들어(Mutual Information 기반) 같은 pseudo label 이미지들은 비슷한 이미지가 생성되도록 한다.
image

DUNIT

image
DUNIT(Detection-based Unsupervised Image-to-Image Translation)은 이미지 전체를 하나로 보지 않고 detection을 통해 해당 부분의 디테일을 보존한다.

지금까지 UNIT에 대해 다뤄봤습니다!
더 알아보고 싶다면 아래 논문들을 참고하세요~
[UNIT] https://arxiv.org/abs/1703.00848 코드 : https://github.com/mingyuliutw/UNIT
[MUNIT] https://arxiv.org/abs/1804.04732 코드 : https://github.com/NVlabs/MUNIT
[FUNIT] https://arxiv.org/abs/1905.01723 코드 : https://github.com/NVLabs/FUNIT
[COCO-FUNIT] https://arxiv.org/abs/2007.07431
[TUNIT] https://arxiv.org/abs/2006.06500
[DUNIT] https://openaccess.thecvf.com/content_CVPR_2020/html/Bhattacharjee_DUNIT_Detection-Based_Unsupervised_Image-to-Image_Translation_CVPR_2020_paper.html

profile
투빅스 생성모델 세미나입니다.

9개의 댓글

comment-user-thumbnail
2020년 11월 29일

투빅스 14기 한유진

  • unpaired한 데이터를 다루는 Unsupervised Image-to-Image Translation에 대한 주제로 UNIT, MUNIT, FUNIT 등을 이도연님께서 강의를 해주셨습니다.
  • UNIT : 두 개의 다른 도메인에 대해 두 개의 주변분포가 있을 때 joint distribution을 추론하는건 ill-posed문제이기 때문에 latent space를 공유하는 방법이 등장했습니다. 각 이미지를 E에 넣어 모두 z로 mapping하고 반대로 z를 넣어 원래 이미지로 mapping하는 것일 이용하여 이미지 변환을 하였습니다. 구조는 VAE와 GAN을 합친 것으로 하나의 latent space공유를 위해 두 개의 VAE의 weight를 공유하였습니다. 여기에 adversarial training을 통해 더 견고히 하였습니다.
  • MUNIT : Multimodal을 위해 latent space가 content space + style space로 분해됩니다. content space는 구조, 뼈대느낌으로 domain에 상관없이 공유하고 style space는 domain-specific을 가정한다고 합니다. 이미지가 들어오면 content와 style을 둘다 뽑기 때문에 cross-domain이 가능합니다. 이러한 과정을 위해 Bidirectional reconstruction loss, adversarial loss가 사용됩니다.
  • FUNIT : MUNIT에 기반을 둔 모델로 few-shot이 가능합니다. FUNIT의 목표는 source class의 image를 few target class image들로 본적 없는 target class로 mapping시키는 것이라고 합니다. G는 content image와 1개의 class image를 입력으로 받아 새로운 이미지를 생성합니다. G의 구조는 MUNIT과 유사하게 content encoder + class encoer + decoder로 이루어져 있습니다. G가 더 많은 source classes로 학습할수록 few-shot성능이 더 좋아진다고 합니다. D는 한번에 class 1개만 보고 real/fake를 구분하고 fake라 판명났을때만 update됩니다.

이외에도 content와 style을 함께 넣어 style code를 뽑아낸 COCO-FUNIT, label없이 이미지 변환이 가능한 TUNIT, detection을 적용하여 선명한 이미지 변환을 시도한 DUNIT까지 그동안 배워보지 못했던 모델들을 접할 수 있었고 예시를 쉽게 들어주셔서 더욱 이해하기 수월했습니다. 유익한 강의 정말 감사합니다!

답글 달기
comment-user-thumbnail
2020년 12월 1일

투빅스 14기 김상현
이번 강의는 UNIT(unsupervised image-to-image translation)관련 논문 리뷰로 투빅스 11기 이도연님이 진행해주셨습니다.

  • UNIT: image-to-image task에서 paired한 데이터의 부재 문제를 해결하기 위해 shared latent space 가정을 한다. 모델의 구조는 Encoder/Decoder의 VAE 부분, Generator/Discriminator의 GAN 부분으로 나뉜다. Shared latent space 가정을 보장하기 위해 VAE 부분의 weight sharing과 adversarial training을 이용한다. 학습 방법은 VAE 부분의 encoder/generator network를 고정시키고 discriminator network를 학습하고, 반대로 discriminator network를 고정시키고 VAE 부분의 network들을 학습시킨다.
  • MUNIT: Multimodal을 위해 이미지의 latent space를 content/style space로 decompose한다. Bidirectional reconstruction loss를 사용하며 image – latent – image인 image reconstruction과 latent – image – latent인 latent reconstruction을 사용한다. 모델의 구조는 content encoder를 통해 나온 content latent에 style encoder를 통해 나온 style latent를 AdaIn 구조를 통해 Decoder 부분에서 합쳐준다.
  • FUNIT: MUNIT에 기반해 few-shot을 가능하게 한 모델로 content encoder에 content image를 입력해주고, class encoder(style encoder)에 source class와 겹치지 않게 set of k class images를 입력해준다. Discriminator의 경우 s개의 source class에 대해 s개 각각의 이진 분류 결과를 나타낸다. 각각의 결과에 대해 이진 분류에 대해 해당 class에 대한 분류가 잘못되었을 때만 discriminator를 penalize한다.

UNIT과 이를 발전시킨 unsupervised image-to-image translation model들에 대해 전반적인 이해를 할 수 있었습니다.
유익한 강의 감사합니다.

답글 달기
comment-user-thumbnail
2020년 12월 20일

투빅스 13기 이예지:
이번 강의는 ‘Unsupervised Image to Image Translation’ 강의로, 이도연님이 진행하였습니다.

여기서의 unsupervised는 unpaired dataset을 의미함.

UNIT

  • Joint distribution 계산 문제를 해결하기 위해 shared latent space를 도입함
  • 서로 다른 도메인의 이미지 pair가 동일한 latent space로 maaping될 수 있다고 가정하는 것임. (Cycle consistency)

MUNIT

  • Multimodal을 위해 latent space를 두가지(content space, style space)로 나눔
  • 이때, content space는 공유하고 style space는 domain-specific함.

FUNIT

  • MUNIT + few shot
  • Source class의 image를 본 적 없는 target class로 mapping시키는 것

이외로, COCO-FUNIT, TUNIT 그리고 DUNIT 등등이 있다.

UI2I에 대해 잘 정리해주셔서 너무 좋았습니다.
좋은 강의 감사합니다 :)

답글 달기
comment-user-thumbnail
2020년 12월 21일

투빅스 12기 김태한

이번 강의는 unsupervised image to image translation에 대하여 이도연님께서 진행하여 주셨습니다.

  • UNIT: latent vector를 공유하는 VAE와 GAN의 adversarial network를 사용하여 image to image translation을 하는 방법입니다.
  • MUNIT: latent space를 content space와 style space로 나누어 multimodal을 반영하여 학습하는 방법입니다.
  • FUNIT: UNIT에 few shot learning을 접목한 방법으로 target class로의 mapping방법을 이용하여 학습하는 방법입니다.
    이외에도 다양한 방법들이 있으며 image to image로 translation되는 모습이 되게 신기했습니다.

좋은 강의 감사드립니다 !!

답글 달기
comment-user-thumbnail
2020년 12월 21일

투빅스 14기 김민경

  • unsupervised(unpaired dataset) image-to-image translation을 주제로 UNIT, MUNIT, FUNIT 등을 알아보았다.
  • UNIT은 2개의 도메인에 대해 2개의 주변 분포가 있을 때 결합 분포를 추론하는 것이 어려운 문제이기 때문에 shared latent space assumption을 적용했다. 이것은 서로 다른 도메인의 이미지 쌍이 하나의 동일한 latent space로 매핑될 수 있다는 가정이다. 이를 통해 cycle-consistency도 설명이 가능하다. UNIT의 framework는 VAE + GAN으로 구성된다.
  • MUNIT은 many-to-many cross-domain mapping을 함으로써 1장의 이미지를 다양한 style로 변환할 수 있다.
  • FUNIT은 MUNIT에 기반해 few-shot을 가능하게 한 모델이다. source class의 image를 few target class image들로 본 적 없는 target class로 mapping 시키는 것을 목표로 한다.
  • 이외에도 UNIT의 변형인 COCO-FUNIT, TUNIT, DUNIT 등을 간략하게 볼 수 있었다.
  • UNIT의 다양한 모델들을 설명해주셔서 정말 좋은 강의였습니다. 감사합니다:)
답글 달기
comment-user-thumbnail
2020년 12월 22일

투빅스 14기 박준영

이번수업은 UNIT(Unsupervised Image-to-Image Translation)으로 투빅스 11기 이도연님께서 진행해주셨습니다.

  • UNIT은 unsupervised(unparied dataset) 문제를 다룬다.

  • 두개의 도메인 이미지(x1, x2)를 각의 VAE에 데이터 셋을 넣고 이미지를 latent codes에 매핑시킨 뒤 이 공통된 latent codes를 각각의 generator에 넣어 x1 이미지는 x2로 만들고 x2이미지는 x1을 생성하게 한다.

  • 이때 두 VAE를 연관시키기 위해서 weight -sharing을 사용하는데 두 encoder에 last few layers와 두 generator의 first few layers에서 weight를 공유한다. 여기에 adversarial training을 통해 하나의 latent space를 공유하게 된다.

  • Munit(Multimodal Unsupervised Image-to-Image Translation)은 latent space가 content space와 style space로 decomposed 되어 다양한 stlye을 입힌 결과를 만든다

  • loss는 기존의 gan loss와 동일한 adversarial loss, image-to-image하기 위한 loss, 변환된 이미지가 input 이미지에 대한 의미적 content를 보존하기 위한 content_loss, 주어진 다른 style code 들에 대해 다양한 결과를 내기위한 style_loss로 이루진다.

  • content decoder와 style encoder를 통과시키고 ADAIN을 통해 style 정보를 content에 입히는 decoder를 통해 이미지 생성

  • FUNIT(Few-Shot Unsupervised Image-to-Image Translation)는 MUNIT에 few-shot을 가능하게 했다.

  • FUNIT은 few target class image들로 본 적 없는 target class로 mapping 시키는 것이다. conditional image generator와 multi-task adversarial discriminator로 이루어져 있다.

  • conditional image generator는 input content image를 content latent code z로 mapping 시키기 위한 content encoder와 각각의 class image 들에 대해 intermediate latent vector를 구한후 mean을 한 final class latent code z를 위한 class encoder로 구성되어있다.

  • multi-task adversarial discriminator는 ADAIN을 사용하여 class image(apperance)에 content image(location of eyes)를 입힌다.

  • 이외에도 coco-FUNIT, TUNIT, DUNIT 등 다양한 UNIT들이 있다

이번 시간에는 UNIT과 MUNIT FUNIT에 대해 배워보는 시간을 가졌습니다. Unsupervised Image-to-Image Translation에 대해 자세히 알 수 있는 유익한 강의였습니다. 감사합니다.

답글 달기
comment-user-thumbnail
2020년 12월 23일

투빅스 13기 신민정
이번 세미나는 unpaired한 데이터셋에 대한 Unsupervised Image-to-Image Translation에 관한 내용이었습니다.

UNIT

Shared Latent Space(서로 다른 도메인의 이미지가 동일한 latent space의 지점으로 mapping될 수 있다) 가정이 필요합니다. Image를 shared latent space로 mapping하는 Encoder와 shared latent space의 z에서 이미지로 복원하는 Generator의 구조로(VAE) 이루어져있습니다. 서로 다른 두 도메인이라면 두개의 VAE(E,G 도메인에 맞게 2개씩)와, Discriminator도 두개가 필요합니다. 두 VAE는 weight sharing을 합니다.두개의 E의 뒤쪽 layer들이 서로 weight sharing을 하고, 두개의 G의 앞쪽 layer들이 서로 weight sharing을 합니다. G와 D는 적대적학습을 하게됩니다. VAE와 D는 독립적으로 학습합니다.

MUNIT

multimodal UNIT은 latent sapce z가 아닌, domain에 상관없이 공유되는 "content space"와 domain specific한 "style space"가 존재합니다. 한 이미지에서 content와 style을 각각 뽑아냅니다.이를 인코딩이라고 하고, content와 style을 조합하여 이미지를 생성하는 것을 디코딩이라고 합니다. 두개의 이미지 x1x_1,x2x_2가 있다면 두개의 contentc1c_1c2c_2와 두개의 styles1s_1s2s_2이 뽑힙니다. c2c_2s1s_1을 입히면 x2>1x_{2->1}translation입니다. translation된(디코딩) 이미지에서도 contet와 style을 뽑아내어(인코딩) reconstruction을 확인합니다. image reconstruction과 latent(content/style) reconstruction을 모두 확인합니다.

  • Encoder는 content encoder, style encder로 나뉩니다.content encoder에서는 모든 convolutional layer가 instance normalization을 하여 평균,분산 등 스타일 정보를 날려 content만 유지합니다.
  • Decoder는 AdaIN을 통해 스타일을 입힙니다. (StyleGAN과 같은 작업)

FUNIT

FUNIT은 MUNIT에 few-shot learning을 적용한 모델입니다. 학습에 이용된 image clases를 source classes, 새로운 object class를 target class라고 합니다. 알고있는 source class의 이미지가 새로운 target class에 의 특성에 맞게 변환됩니다. G는 content encoder와 class encoder,decoder로 이루어져 있습니다. class class image 들에 대해 intermediate latent vector를 구한 후 mean을 구해 final class latent code z를 만들고, decoder에서는 AdaIN으로 class의 스타일을 입혀 이미지를 변환합니다.

이번 강의는 UNIT의 개념과, 발전한 MUNIT, FUNIT 등 다양한 unsupervised image-to-image translation에 관해 알 수 있는 유익한 시간이었습니다. 감사합니다.

답글 달기
comment-user-thumbnail
2020년 12월 23일

투빅스 14기 박지은

  • UNIT은 shared latent space assumption을 기반으로 두 개의 도메인에 대해 paired 이미지 데이터가 없는 비지도 학습을 다룹니다. 이러한 서로 다른 도메인의 이미지 pair는 하나의 latetent space로 매핑할 수 있다는 가정 하에 진행합니다. 구조를 보자면 encoder-generator pair은 VAE를 구성하고 있고, 두 VAE를 연관시키기 위해 가중치를 공유하여 하나의 latent space를 공유합니다. generator는 translation stream에 대해서만 adversarial training을 합니다.
  • MUNIT은 multimodal을 위해 이미지에 대한 latent space가 content space와 style space로 분해될 때, content space는 공유하지만 style space는 domain-specific하다고 가정하여 다양한 style을 입힐 수 있습니다. 실행되는 과정을 보자면 content encoder에서는 모든 convolutional layer들이 Instance Normalization을 하여 content 정보만 남기고, decoder에서 AdaIN을 통해 style 정보를 content에 입힙니다.
  • FUNIT은 MUNIT에 few-shot을 가능하게 한 모델로, source class의 image를 few target class image들로 본 적 없는 target class로 mapping 시킵니다. 여기서 source classes는 FUNIT을 학습시키기 위해 사용한 object classes를 말합니다. discriminator는 multiple adversarial classification을 수행하여 각각이 binary classification task로 input image가 진짜인지 가짜인지 판별합니다.
    다양한 UNIT에 대해 알 수 있었고, 자료와 설명이 친절하셔서 이해하는 데에 도움이 되었습니다. 좋은 강의 감사합니다.
답글 달기
comment-user-thumbnail
2020년 12월 31일

투빅스 14기 정재윤

이번 주는 unsupervised image to image translation을 주제로 이도연님께서 강의해주셨습니다.

  • Unit : 두 개의 도메인에 대하여 두 개의 marginal distribution이 있을 때, joint distribution을 추론하는 건 옳지 못합니다. 이를 해결하기 위해 shared latent space assumption이 등장했습니다. 즉 서로 다른 도메인의 이미지 pair가 하나의 동일한 latent space로 mapping 될 수 있다는 가정입니다. 구조는 vae와 gan을 합친 것으로 하나의 latent space 공유를 위해 두 개의 vae의 weight를 공유한다는 점입니다.
  • Munit : 기본적으로 latent space를 content space와 style space로 분해합니다. 각각의 다른 도메인에서 해당 space들을 뽑아내고 이를 교차시키면 cross domain을 만들 수 있게 됩니다. 이러한 과정을 가능케 하기 위해 bidirectional reconstruction loss와 adversarial loss가 사용됩니다.
  • Funit : Munit base로 few shot을 염두하고 만들어진 모델입니다. 모델의 목표는 본 적 없는 target class로의 mapping이라는 점입니다.

또한 coco-funit, tunit 등 여러 모델들을 쉽게 설명해주셨습니다. 좋은 강의 감사합니다.

답글 달기