NL-035, Multiple-Attribute Text Style Transfer (2019-ICLR)

0. Abstract

  • (기존의 방법들은) Style transfer은 latent representation을 학습하는 아이디어로부터 시작하였다. 이 때, latent representation은 attribute와 independent해야 한다.
  • 이 논문은 꼭 이런 제약이 필요가 없다는 것을 보여준다.
  • 새로운 모델을 제안하는데, back-translation을 기반으로 하는 간단한 방법을 사용한다.
  • 이 모델은 multiple 속성들을 (gender, sentiment, product type, etc) 제어할 수 있다.
  • 실험에서는 fully entangled model이 (다양한 속성 이용하는 모델?) 더 좋은 생성 문장을 만들어 냄을 보여준다. 
    • 심지어 새롭고 더 많은 challenging benchmark에서 비교를 한다.

1. Introduction

  • Unsupervised 학습 중 하나의 목적은 데이터의 representation을 배워서 latent control해서 변화를 하게끔 하는 것이다.
    • 예를 들어서 pose, viewpoint of objects in images, writer style, sentiment of a product review 등이 있을 수 있다.
  • Conditioned generative modeling에서 latent factor은 (속성) 주어지거나 data 샘플링 분포를 통해 유추할 수 있다.
  • 조건부 생성 모델은 input과 desried attribute 모두 조건을 가지고 있어야 한다.
    • 예) 긍정문장에서 부정문장으로 변환한다 이런 것
  • 생성은 기존 문장의 특성을 최대한 담고 있어야 한다.
  • 이것이 Unsupervised인 이유는 non-parallel data 이기 때문임.
  • 기존의 방법 Hu(NL-031), Fu(NL-033), Shen(NL-032)은 학습된 representation은 속성과 무관한 정보를 담고 있는 content이다.
    • 입력에 대해서 content인 latent representation을 뽑아내고 desired attribute을 조건으로 주어서 출력을 생성하는 방식이다.
    • Disentanglement은 latent representation에서부터 attribute 값을 알아낼 수 없게 만드는 것을 목표로 adversarial term을 이용하여 학습을 진행한다.
  • 이 논문에서는 3가지 축에서 style transfer을 연구하였다.
    1. Style transfer을 하는데 중요한 것은 무엇일까? 
      • 정말로 disentanglement가 중요할까?
      • 실제로 adversarial loss가 중요할까?
      • Sec 3.1에서 경험적으로 disentanglement가 필수가 아니라는 것을 보인다.
        • 즉 content와 attribute을 구분할 필요가 없다라는 것인데... 이전의 방법들이 맞다는 것이 아니라는 건데.. 충격쓰..
      • 또한 adversarial loss을 사용한 disentangle이 실제로 representation을 배우는 것이 아님을 보인다.
        • Adversarial loss말고 사용하는 것은 2번에서..
    2. 모델의 adversarial term을 back-translation term으로 바꾼다.
      • 이 objective는 모델을 pseudo-supervised setting으로 바꾼다.
      • Unsupervised machine translation에서 쓰는 방법과 비슷하다고 한다.
        • NL-034에서도 back-translation이 나오는데 그것도 이 방법과 같은 것을 말하는 것인 듯
      • 그러나 두 가지 다른 점이 있다.
        • pooling operator을 사용하여 style transfer와 content preservation의 trade-off을 컨트롤한다.
          • 여기서도 style과 content의 개념을 가지고 가는 거 같기는 한데, 따로 disentanglement을 안한다고 하니 어떻게 구분을 지을까?
        • 이 모델은 multiple 속성을 다룰 수 있다.
    3. Style transfer benchmark로 사용하던 것은 사용자 review을 base로 했었는데 심각한 한계가 있다.
      • 왜냐하면 이전 벤치마크는 단일 속성을 (감정) 고려하였기 때문이다.
      • 여기서 제안한 벤치마크는 review 데이터세트들을 기반으로 하여 다양한 속성들의 full reivews들이다.
  • 여기서 제안하는 contribution은 다음과 같이 3가지가 있다.
    1. 다양한 실험을 통한 style transfer의 깊은 이해
    2. online back-translation 기술과 함께 denoising auto-encoding loss을 기반으로하는 간단한 학습 방법 + pooling operator와 multiple attribute을 다룰 수 있는 novel 네트워크을 제안한다.
    3. 새롭고 좀 더 어렵고 현실적인 벤치마크을 제안한다.
      • 평가 metric은 새로운 방법과 사람 평가 둘 다 진행하였다.

2. Related Work

  • 초기에는 supervised data로 시작을 했다. 이 때는 (input, transformation, output) 이런 세팅이 필요했다. (즉 parallel setting)
  • 요즘에는 non-parallel setting으로 문제를 해결하려고 한다.
    • 주어진 두 개의 다른 도메인 X, Y가 있다.
    • X는 생성 이미지 도메인이고(paintings) Y는 진짜 이미지 도메인이다.
    • F: X→Y, G: Y→X인 F와 G를 배우는 것이다.
    • 예를 들어 cycle 제약 loss을 사용한다는 것은 F(G(y))=y가 되고 G(F(x))=x가 되도록 하는 것이다.
      • 이 loss을 작게 한다는 것은 현실적인 이미지를 생성하도록 한다는 것임.
    • Fader Network에서는 discriminator가 이미지의 autoencoder의 latent representation에 가해져서 특별한 속성의 정보를 제거하는데 사용된다.
      • 속성 값은 대신에 학습시 decoder에 주어주는 식이다. (one-hot이거나 attribute vector 같은 것)
      • Inference시에는 입력 이미지와 다양한 attribute values을 뽑아서 넣게 된다.
      • Fader networks: Manipulating images by sliding attributes가 이렇게 했나봄. 
      • 위 논문은 이미지에 관련된 것이고, text에서 NL-033또한 이와 비슷하게 latent represenation에 discriminator을 적용하여 속성과 상관 없는 것을 표현하도록 학습하는 식이다.
  • Parallel인 다른 스타일을 가지는 데이터을 수집하는 것은 어렵다.
    • Carlson(2017)이 성경을 33개의 다른 영어 스타일로 작성된 데이터를 수집하였음. (성경의 parallel 데이터 세트)
    • Li(2018)이 1000개의 Yelp 리뷰(음식점 리뷰 사이트) 데이터를 크라우드소스로 모은 작은 parallel 데이터세트를 발표했다.
  • 최근 연구들의 방법은 disentangling sentence representation을 latent space에서 하는 것이다.
    • 이러한 방법론은 adversarial approach로 입력 문장의 style과 상관없는 content representation을 만들고 decoder에 attribute label을 넣어서 다른 스타일의 문장을 생성하는 식이다.
    • 대표 연구로는 Fu(NL-033), Hu(NL-031), Shen(NL-032)은 포스팅했었고 Zhang(2018a), Xu(2018), John(2018), Zhao(2018) 등이 있다고 한다.
  • 하지만 이렇게 discrete하게 문장 생성을 하는 것은 cycle consistency or adversarial training에 적용하기 어렵다고 한다.
    • (물론 이전의 연구들은 적용했지만) 이렇게 하는 기술은 REINFORCEMENT 학습을 사용하거나, output softmax + tunable temperature을 사용하는 등 학습이 불안정하거나 매우 느리다고 하다.
  • 이 논문과 연관성이 가장 깊은 것은 Zhang(2018b)이라고 한다.
    • 하지만 zhang 논문은 phase-table별 bootstrap을 iterative하게 back-translation을 해야한다.
    • 즉 이 논문은 pre-train 없이, end-to-end 학습인데 zhang은 아닌가 봄.

3. Controllable Text Rewriting

  • 이 논문의 접근법을 설명하기 전에 disentanglement의 진행과정을 설명하겠다.
  • Training set:  로 n개의 문장 이 있고 이에 따는 attribute value 가 있다.
    • 중의 하나의 값으로 discrete value이다.(one hot encoding과 같이)
  • 우리의 task는 model  을 하는 것이다.
    • x가 입력 문장이고 y가 이에 따른 attribute values이다.
    • 그러면 (x,y~)의 임의의 쌍에 대해서 x~을 생성하는 것이다.
    • 이때 새로 생성된 x~은 최대한 x의 content 정보를 담고 있어야 한다.
  • 식으로 표현하면
    • x가 인코더에 들어가서 z=e(x)으로 인코딩을 한다.
    • 그리고 디코더에 (z,y~)가 들어가서 x~=d(z,y~)가 생성이 되는 것이다.
    • 이 때 e와 d를 학습하는 것이다.

3.1 Are Adversarial Models Really Doing Disentanglement?

  • 이 부분이 다른 논문들과 다른 특별한 실험이었던 것 같다. 오히려 왜 이전 논문은 이러한 실험을 안했을까? 라는 생각이 듬
  • 기존의 방법은 latent representation z을 학습한다는 것에 기초하고 있고 이는 y로부터 disentangle을 한다는 것이다.
  • (이전 포스팅 처럼 z를 context로 말하겠음) 만약 제대로 context와 style을 분리했다면, z에서 y를 classifier을 하는 것은 불가능 할 것이다.
    • 만약 어떠한 classifier가 z에서 y를 제대로 예측을 못한다면 두 가지를 생각해 볼 수 있다.
    1. 정말로 y와 연관이 없는 context latent representation z가 맞거나
    2. classifier가 poorly trained 되었다고 볼 수 있다.
    • 이전의 논문에서는 adversarial로 학습한 classifier로 측정했기 때문에 1번이 맞았다고 생각했겠지만 이 논문은 2번에 대해서도 실험을 한 것이다.
  • Table2는 Fu(NL-033)으로 학습된 것으로 z를 뽑아서 y를 예측하는 classifier로 실험한 결과이다.
    • Table2의 설명 및 결과를 보면 latent representation z가 정말 context가 아님을 알 수가 있다.
      • Adversarial로 학습한 discriminator은 잘 구별을 못하는 것은 맞지만, 새롭게 학습한 classifier은 제대로 구별을 하기 때문이다.
      • 그래서 실제로 adversarial classifier을 통하여 disentanglement가 성공하지 못했다고 볼 수 있다.
      • 이것은 disentanglement가 control text rewriting에 필수적인 요소가 아님을 알 수가 있다.
      • 그러나 이러한 방법은 잘 작동하며 확장되고 있으며 더 간단하고 강력한 학습 모델을 여는데에 도움이 될 것이다.

3.2 Our Approach

  • Controlled text generation에는 3가지가 중요하다.
    • Fluent (유창성, 문법적인 것 같은 거)
    • Specified attribute values (원하는 속성의 문장 생성)
    • Preserve the rest of the content (입력 문장의 content을 잘 보존 하는지)
  • Fu(NL-033)은 DAE(Denoising Auto Encoder) 방법으로 fluent와 reconstruct the input을 할 수 있도록 generator을 할 수있는 보편적인 방법이다. (즉 content와 attribute 모두)
    • 그러나 DAE는 style을 변경시키는 것을 학습하는게 좀 약하다.
    • 왜냐하면 decoder을 학습할 때, 외부에서 attribute 정보를 강제로 제공하는 방식이기 때문이다.
      • Fu방법을 생각해보면, 학습 때 입력 문장 x에 대해 E(x)을 통해 z을 뽑아내고 그에 해당하는 속성 벡터를 c를 concat하여 다시 x를 재구성하도록 학습한다.
      • Inference시에는 입력 문장을 인코딩한 후, 원하는 속성 벡터을 concat하여 decoder에 넣어서 재구성하도록 한다.
      • 즉 학습 시에 이미 입력 문장이 어떠한 속성을 가지고 있는 지를 알고 있기 때문에 이를 외부 정보로 넣어주는 형식이다.
      • 이렇게 하면, 입력 문장의 속성을 알고 있어야만 하고(큰 문제는 되지 않는 거 같음) 이를 강제로 제공하기 때문에 style 변경하는 것의 효과가 약하다는 것 같음!
  • 즉 만약 속성을 Fu와 같이 외부 정보로 주지 않고 어떠한 classifier을 통한 값을 주게 된다면? (NL-031와 같은 방법에서는 이런 식으로 했음)
    • Since the noise applied to the encoder input x may corrupt words conveying the values of the input attribute y, the decoder has to learn to use the additional attribute input values in order to perform a better reconstruction. 
    • 이런 구절이 있는데 이는 입력 문장에 noise가 적용되면 입력 문장의 속성이 망가질 수 있다.
    • 그러면 decoder는 추가적인 속성 입렵 값을 사용해야만 reconstruction하는 것을 좀 더 좋게 배울 것이다.
    • 예를 들어)
      • x:"그 음식점은 다시 가도 좋을 것 같다" 라는 문장이 있고 이에 대한 속성은 c:positive일 것이다.
      • 하지만 x~:"그 음식점은 다시 가도 좋을 까?"라고 noise가 끼었다고 하면 속성이 c~:negative로 될 수도 있을 것이다.
      • 그러면 decoder에 x~와 c~(negative)가 들어가게 되는 것인데 이러면 x를 재구성할 수가 없다는 것이다.
      • 즉 decoder에 x~와 c~(negative)와 추가적인 무언가가 들어가야 x를 재구성할 수 있다는 것이다.
    • 즉 다시 말해, 속성을 외부 정보로 주면 input이 noise가 껴도 속성을 그냥 제대로 줄 수가 있지만, 이러면 style을 변환하는데 약한 방법이다.
    • 하지만 이렇게 한 이유가 어떠한 discriminator(classifier)을 통해 준다면 noise에 약한 모습을 보이기 때문에 다른 추가 정보를 넣어주어야 하기 때문이다.
    • 실제로 이 논문에서 noise function을 사용하였다.
      • 입력 문장에 word drop과 word order shuffling을 수행하였다.
      • 이 방법은 Lample(2017a)에서 언급한 방법이라고 하고 를 x에 noise가 낀 문장 입력이라고 표기한다.
  • Sec 3.1에서 언급한 것처럼 disentanglement는 필수적인 것이 아니고 쉽게 달성할 수도 없다.
    • 따라서 adversarial loss을 추가하여 disentanglement을 이루려고 하지 않는다.
    • 대신 더 자연스러운 제약을 통해 모델이 task를 수행할 수 있도록 한다. 그것으로 externally provided attributes을 고려한다.(위에서 말한 외부에서 주입하는 속성 정보 term)
    • Back-translation 과정 - (1)
      • 인코더의 입력: x
      • 인코더의 출력: z
      • 디코더의 입력: (z, )
      • 디코더의 출력:  
    • Back-translation 과정 - (2)
      • 인코더의 입력:
      • 인코더의 출력:  
      • 디코더의 입력: (, y)
      • 디코더의 출력: x
    • 즉 Back-translation은 x에서 을 갔다가 x로 다시 돌아오게끔 하는 것이다.
    • 이렇게 하면, DAE가 초기에 잘 학습이 안 되고 가 x의 content을 잃어버릴 때, decoder에 사용되는 쓸모있는 정보는 attribute 뿐이다.
      • 즉 초반에는 인코더가 제대로되지 않았기 때문에 z가 큰 의미가 없을 것이고 디코더의 입력에는 y만이 의미가 있다는 것
      • 이것은 디코더가 attribute을 잘 활용할 수 있도록 해준다.
    • 학습이 점점 진행되면서, 나중에는 DAE가 좋아진다면, BT는 sequence-to-sequence로 원하는 task를 잘 학습할 것이다.
  • 전체적인 loss function은 다음으로 이것을 최소화하면 된다.
    • 는 디코더에서 생성된 문장 x의 probability distribution 
    • e()는 가 주어질 때의 encoding 값 (라고 생각하면 된다.)
    • d(e(x),)는 입력 문장 x와 속성  세트에서의 임의로 샘플 된 것이 주어질 때 생성되는 variation 문장
    • 앞 쪽의 term은 autoencoder의 형식이지만, noise가 낀 입력 을 사용한다.
    • 뒷 쪽의 term은 back-translation 형식 loss이다.
  • 각 time step에서 temperature T를 사용함으로써 단어들을 multinomial distribution에서 샘플링하여 back-translation으로 생성한다. (?)

3.3 Implementation

  • 지금 까지의 모델은 Lample(2018) 방법이랑 작동 방식이 똑같다고 한다.
  • 대신 latent representation에 desired attribute을 overwrite을 하는 것이라고 한다.
    • 즉 latent representation을 style과 분리되는 것으로 따로 제약을 걸지 않은 것이기 때문
  • 하지만 이런 시스템에서 attribute을 single binary로 swapping을 하는 것은 content preservation와 change of attribute을 trade-off을 control하기에는 충분하지 않다고 한다.
  • 따라서 다음과 같은 방법을 추가함.
  • Attribute conditioning
    • Multiple attribute을 다루기 위하여 각 속성을 분리하여 embedding을 한다.
    • 그리고 각 속성에 대한 embedding을 averaged embedding을 하여 start-of-sequence symbol로 사용하였다.
    • 즉 감정과 시제를 동시에 다룬다고 할 때, 긍정적인 미래라고 하면 positive-embedding + future-embedding의 속성 값을 평균낸다는 것인 듯
    • Michel & Neubig (2018)와 비슷한 방법으로 시도했을 떄는 Table 14처럼 잘 안되었다고 함.
  • Latent Representation pooling
    • 일반적으로 attention이라는 개념없이 하나의 latent vector representation을 사용하는 모델을 돌리면, literal을 잘 잃어버리고 (content를 잃어버리고) attribute을 원하는 것으로 잘 생성하는 경향이 있다.
    • 따라서 여기서는 temporal max-pooling이라는 것을 encoder의 top layer에 추가하였다. (with non-overlapping windows of width w)
    • w=1으로 세팅한다는 것은 model에 attention을 가한다는 것이고
    • w을 입력 문장 길이만큼 세팅하는 것은 attention 없이 sequence-to-sequence을 하겠다는 것이다.
    • 중간 길이의 w로 세팅한다는 것은 preserving information을 하고 디코더가 문장 생성시 입력 문장의 단어를 복사하는 경향을 막겠다는 것이다.
    • 예를 들어)
      • 코드를 봐야 알겠지만, 아마도 seq2seq에서 LSTM이라 할 때, encoder의 output vector v1, v2, ..., vn가 있다고 하자. (문장의 길이: n)
      • w=3을 쓰는 것은, (v1,v2,v3)을 각 position에 해당하게 max-pooling을 해서 v11을 생성하겠다는 것이다. 
      • 이것을 decoder의 입력으로 넣겠다는 거 같음
      • 원래 보통 seq2seq은 w=1인 것이고 decoder에 v1, v2, ..., vn이 순서대로 들어가는 식이다.
      • 근데 원래 알려진 attention 메커니즘은 attention weight을 구하는 식이 있는데 그 방법은 안쓴 듯. why?
  • λ와 T와 w가 Hyperparameter이다.
    • λ가 작으면 autoencoding의 성향이 짙어지는 식. 즉 attribute는 잘 안바뀌지만 content preservation을 잘함.
    • T는 unbiased generation을 위함이고 content preservation의 content preservation의 양을 컨트롤 하기 위함.
    • w는 위에서 말한 거와 같이 얼마나 입력 문장을 attention할 것이냐! 이것도 즉 content preservation 와 attribute 변환의 trade-off 정도
    • SGD을 이용하여 학습

4. Experiments

4.1 Datasets

  • Yelp 레스토랑과 Amazon 제품에 대한 review을 다음과 같이 3가지 방법으로 재구성하여 좀 더 챌린지하고 현실적으로 만듬.
  1. 이전의 방법들은 문장에 대한 sentiment가 같으면 다 동일한 정도로 보았다.
    • 여기서는 문장의 sentiment, gender을 합께 사용하여 좀 더 신뢰성있게 하였음.
    • 예를 들면, 음식에 대해 "여성이 맛있다"와 같이 하면 좀 더 신뢰성이 있다고 생각
  2. 이전의 방법들은 15단어 이상을 가지는 문장을 버렸음. 그리고 가장 자주 발생하는 10k 단어들로 구성되는 문장들만 고려하였음.
    • 여기서는 최대 100개의 단어로 구성되는 review까지 사용하였음.
    • 또한 60k BPE codes을 사용하여 unknown words의 존재를 제거하였음.
  3. 마지막으로 restaurant와 product 카테고리에 관한 meta-data를 수집하여 두 가지 컨트롤 가능한 factor으로 사용함.
    1. review의 성별 (1번 방법하고 다른 건가?)
    2. 제품이나 음식 리뷰에 관한 category
    • Table 3 참고
  • 즉, 이렇게 데이터를 세분화 함으로써 여러 속성을 만든 거 같음.
    • 속성이 긍부정뿐 아니라, 성별, 카테고리와 같은 것들로 생겨남.
  • Yelp Reviews
  • Amazon Reviews
  • Public social modeia content
  • (생략) 위의 3개의 데이터 세트 설명에 대해서는 논문을 참조..

4.2 Evaluation

  • Automatic evaluation은 현재 언어 생성에서는 open research 문제이다. (아직까지도 연구되고 있는 분야.. 개인적으로는 사람만이 정답인듯 한데..)
  • 여기서는 3가지에 대해 시스템을 평가한다.
    1. produce sentences that conform to the set of pre-specified attribute(s)
    2. preserve the structure and content of the input
    3. generate fluent language
  • 그래서 다음과 같이 3가지 다른 차원에서의 평가를 한다.
    1. Attribute control
      • FastText 분류기 모델을 여기서의 데이터세트로 학습하여 속성을 예측하는 것을 통해 평가를 한다. (이전의 논문들처럼)
    2. Fluency
      • perplexity assigned to generated text sequences by a pre-trained Kneser–Ney smooth 5-gram language model using KenLM (Heafield, 2011)
      • PPL을 이용하는데 KenLM이라는 기존에 학습된 모델로 하겠다는 것임.
      • 즉 생성 문장이 "그 음식점은 맛이 별로다" 라면 KenLM모델에서
        • '그'가 들어올 때, '음식점은'에 해당하는 PPL
        • '그', '음식점은'이 들어올 때, '맛이'에 해당하는 PPL
        • '그', '음식점은', '맛이'이 들어올 때, '별로다'에 해당하는 PPL
        • 이것으로 평가하겠다
    3. Content preservation
      • N-gram 통계기반인 BLEU을 사용하는데, 입력 문장 vs 생성 문장 사이의 BLEU을 측정하고 이거를 여기서는 self-BLEU 라고 부른다.
      • 만약 human reference(사람이 제시한 정답)이 있으면 이것과 생성 문장 사이의 BLEU를 측정한다.
      • 여기서 말하는 BLEU-score은 human reference와의 생성문장 사이의 BLEU-score을 말하는 것이다.
      • 하지만 self-BLEU score또한 측정을 해보았다.
  • 사람의 평가로 다른 모델끼리의 비교를 진행함.
    1. Li(2018)와 비슷하게 함.
      • Fluency에 대해 likert-sacle로 1~5점을 주라고 함.
      • 속성을 사람에게 판단하도록 함.
    2. 다른 모델이 생성한 문장의 pair을 workers들에게 요청하여 어떤게 더 잘 생성되었는지 선택하라고 함. 
      • 이 때, no preference 옵션으로 equally good or 두 문장 모두 bad generation에 대한 것에 대한 옵션이다.

4.3 Model Selection

  • Automatic evaluation은 약한 proxies metric일 뿐이다.
  • 따라서 minimum threshold로 content preservation과 attribute control criteeria로 모델을 설정하는 것으로 사용한다.
  • 몇 개의 모델이 특정 threshold을 넘기면 이 모델들을 validation set에 대해 사람 평가를 하게 하고 best model은 test set에 대해서 평가를 해서 설정을 한다.

4.4 Comparisons to Prior Work

4.5 Evaluating Multiple Attribute Control

  • 학습할 때는, 동시에 여러 속성을 control하는 것을 하지만, test할 때는 한 개의 속성만 변경시키는 식으로 하였음.
    • 이렇게 한 이유는 다른 모델들과 비교를 하기 위해서인 것 같음. (다른 모델들은 하나의 속성만 변경시키는 식이기 때문에)

4.6 Ablation Study

  • 1) pooling, 
  • 2) temperature based multinomial sampling when back-translating, 
  • 3) attention, 
  • 4) back-translation, 
  • 5) the use of domain adversarial training
  • 6) attention and back-translation in conjunction. 
  • 위와 같은 요소들에 대해 실험을 했고 adversarial training은 추가해서 실험해본 식이다.
  • The absence of pooling or softmax temperature when back-translating also has a small negative impact on performance, while the attention and back-translation have much bigger impacts.
    • 즉 attention과 back-translation은 영향이 크다.
  • 여기서 신기했던 것은 adversarial이 없는게 오히려 낫다.
    • 즉 초반부터 얘기한 style과 content을 분리하려는 것은 별 의미가 없다라는 것

5. Conclusion

  • 이 논문은 기존의 disentanglement 기반이 아닌 attribute을 주어서 re-writing 문장을 생성하는 식으로 하였다.
  • 논문 모델은 음식점/제품 리뷰들의 현실적인 세팅으로 된 데이터세트에서 검증을 하였다.
  • 또한 모델은 attribute control와 preserving the content 사이를 trade-off을 할 수가 있다.
Reference

댓글