ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • A Review of Text Style Transfer using Deep Learning, TAI, 2021 논문 요약
    논문 리딩 2022. 1. 26. 11:32

    Section 1 : Introduction

    Text Style Transfer란?

    • 의미 내용은 유지하면서 원래 문장을 새로운 스타일로 다시 작성하여 문장의 스타일을 조정하는 작업

     

    Style Transfer 작업 성능 평가의 2가지 목표

    • 생성된 문장의 의미적 내용이 얼마나 잘 보존되었는가 평가
    • 생성된 문장의 새로운 스타일로의 품질 평가

     

    Text Style Transfer의 2개의 key stages

    • represantation learning
    • sentence generation

     

    아웃풋 센텐스 3가지 생성 기법

    • 간단하게 입력문을 재구성하여 생성하는 모델
    • 인코더-디코더 아키텍처에 추가 스타일 분류기를 통합하는 모델
    • adversial learning을 채택한 모델

     

    Section 2 : 다양한 텍스트 스타일 소개

    1. Personal Style

    • text만으로 저자의 성별/연령 식별이80% 정도의로 가능하다. -> 성격/성별/연령별 텍스트 스타일이 다르다.

    2. Formality

    • text의 공식성과 형식성. 속어 및 문법적 오류, 사회적 거리, 청중과의 지식 공유 정도 등을 척도로 한다.

    3. Politeness

    • text의 공손함.

    4. Offensiveness

    • text의 공격성. 해당 text가 공격적인지 아닌지의 여부를 판단하는 것이 중요하다.

    5. Genre

    • text의 목적과 대상에 따른 장르(뉴스, 광고, 리포트 등). 문서의 장르를 파악하면 검색 시스템 기능 향상에 도움이 될 수 있다. (e.g. 검색자가 무언가를 사려고 한다면 광고가 리포트보다 적합하다.)

    6. Sentiment

    • text에 담긴 감정. 톤이 다운된 negative emotion으로 글을 바꾸는 것이 바람직한 경우가 많으며, text의 긍/부정 분류는 꽤 선행되었다. 

     

    Section 3 : Text Style Transfer Tasks와 Public Dataset 소개

    A. Tasks

    위의 section 2에서 소개한 텍스트 스타일들을 바꾸는 task들이며, 아래 표와 같다.

    Text Style Transfer Task별 예시

     

    B. Datasets

    1) Parallel Datasets

    • Shakespeare : 16개의 셰익스피어 희곡의 2만 개 문장 쌍과 현대 언어로의 줄 단위 의역이 포함된 데이터셋
    • GYAFC : formal/informal한 문장 쌍 데이터셋
    • Enron corpus : 60만 개 이메일 메시지의 informal한 버전을 포함하는 데이터셋
    • Captions : 7000개의 이미지 각각에 대하여 사실적/로맨틱/유머러스한 캡션이 달려있는 데이터셋으로, 3가지 문체 스타일이 서로 대체 가능한 것으로 만들어졌다.

    2) Non-parallel Datasets

    • Yelp : 5-star 등급 시스템에 따라 긍/부정으로 분류된 860만 비즈니스 리뷰 모음으로, 감정 스타일 전송에 적합하다.
    • Gender : Yelp에서 이름으로 작성자의 성별을 유추해 만든 데이터셋으로, 성별 style transfer에 적합하다.
    • Amazon : 제품 리뷰 데이터셋
    • SST, IMDB : 영화 리뷰 데이터셋
    • Paper-News Titles : 뉴스 기사 제목과 학술지 제목의 두 개의 레이블로 구성된 데이터셋
    • Gigaword dataset : 7개의 각기 다른 publisher에 따른 기사 헤드라인 데이터셋
    • Political slant : 미국 상원 및 하원 412명의 페이스북 게시물 댓글 데이터셋으로, 민주당과 공화당으로 레이블링 된다.
    • Politeness : Enron corpus를 사용해 예의 바름 여부를 레이블링한 데이터셋
    • Expertise : 13만 개의 전문 의료 언어 스타일의 글과 11만 개의 평서문으로 된 의료 언어 레이블 데이터셋. 
    • Twitter
    • Reddit

    Public Dataset 정보

     

    C. Evaluation

    1) 생성된 문장에서 원래 문장의 의미 보존 정도 평가

    1. METEOR & BLEU

    • 단어 중첩 기반 메트릭
    • 시스템 출력과 한 명 이상의 사람이 작성한 텍스트 간의 유사성을 점수화하여 기계 번역을 평가한다.
    • METEOR : 유니그램 정밀도와 재현율의 조화 평균으로 계산되며, 재현율에 더 높은 가중치를 부여한다.
    • BLEU : 평가 문장의 n-gram과 정답 문장 간의 일치를 기반으로 점수를 계산한다. 
    • NIST : BLUE 메트릭에서 덜 빈번한 n-gram에 더 많은 가치를 부여하는 버전이다.

    2. BERTScore

    • 평가 문장의 contextualized BERT word embeddings과 정답 문장 간의 코사인 유사도를 계산한다.

    3. ROUGE-L

    • 텍스트 요약 평가를 위해 LCS(Longest Common Subsequence)의 개념을 적용한 recall-oriented 메트릭
    • LCS가 길수록 유사도가 더 크다
    • 두 문장이 같을 때의 점수는 1, 아예 다르면 점수는 0이다.

    4. SARI

    • 텍스트 단순화를 위해 추가와 삭제 횟수를 고려한 메트릭
    • 시스템에 의해 추가, 삭제, 유지되는 단어의 우수성 측정
    • 각 연산(추가, 삭제, 유지)에 대한 정밀도와 재현율을 구하고 이를 평균 내어 계산한다.

    5. PINC

    • 의역 평가를 위해 개발된 메트릭
    • 평가 문장이 정답 문장과 몇 개의 n-gram이 다른지 계산한다.

    2) 스타일의 품질 평가

    사전 훈련된 분류기를 주로 사용하며 Precision, Recall, F-1 measure 등을 사용한다.

     

    Section 4 : Deep Neural Network 소개

    A. RNN

    • sequential data를 이용한 모델링을 위한 딥러닝 네트워크
    • 기본적인 RNN은 입력 시퀀스를 처음부터 끝까지 순방향 처리한다.
    • Bidirectional Recurrent Neural Networks (BiRNNs)는 각각 정방향과 역방향으로 작동하는 2개의 단방향 RNN으로 구성된다.
    • Long Short-Term Memory Networks (LSTM)는 long-range dependencies를 올리고 vanishing and exploding gradients 문제를 해결하기 위해 고안되었다.
    • Gated Recurrent Units (GRU)는 LSTM과 같은 목적으로 고안되었으며 더욱 심플하고 학습에 보다 적은 시간이 걸린다.

    B. CNN

    • spatial feature를 나타내기 위해 개발된 딥러닝 네트워크
    • CNN은 이미지 처리에 가장 많이 사용되지만 최근에는 1차원 컨볼루션을 이용해 sequential data를 모델링하는 데에도 이용되고 있다.

    C. Attenttion Mechanism

    • 기계번역을 개선하기 위해 도입된 딥러닝 기술
    • attention score의 가중 합을 계산함으로써 디코더가 입력이 특정 요소에 참여하도록 한다. 

    D. Encoder-decoder

    • 텍스트 생성을 위한 딥러닝 네트워크
    • 인코더는 입력 문장의 고정된 길이의 latent representation을 생성하는 방법을 학습하고, 디코더는 이를 디코딩해 출력 문장을 생성하는 방법을 배운다.

    E. Generative Adversarial Networks (GAN)

    • generator와 discriminator의 두 개의 네트워크로 구성된 딥러닝 네트워크
    • generator는 학습 데이터의 분포를 학습하고 학습된 분포에서 샘플을 생성하는 것을 목표로 한다.
    • discriminator는 생성된 데이터와 학습 데이터의 샘플을 올바르게 라벨링할 확률을 최대화하여 샘플이 data 분포에서 온 것인지 model 분포에서 온 것인지를 결정한다.

    Section 5 : 최신 방법론 소개 및 사례

    크게 인코더-디코더를 사용한 방법론GAN을 사용한 방법론으로 나뉜다.

    General architecture of deep neural style transfer model

    A. Representation Learning

    Text Style Transfer는 shared encoderprivate encoder의 2가지 encoder 중 하나를 사용하거나 모두 사용한다.

    • Shared encoder
      • parameter가 전제 데이터셋의 문장 간에 공유됨 -> 전체 데이터셋의 스타일 특성을 학습
    •  Private encoder
      • parameter가 특정 스타일의 문장 간에만 공유됨 -> style-specific characteristics를 학습

    Zhao et al. :

    StyIns 모델을 제안하였다. 이 모델은 두 개의 GRU encoder를 사용해 각 문장을 2개의 latent representation으로 분해한다. 개별 문장에서 style embeddings를 학습하지 않고 같은 스타일을 공유하는 일련의 문장에서 스타일 속성을 학습한다. attention 기반의 decoder와 결합하여 좋은 성능을 보여주었다.

     

    Prabhumoye et al. :

    machine translation을 위한 아키텍처는 문장의 의미론적 의미는 보존하는 반면 문체적 특성은 보존하지 못한다는 특징을 가지고 있었다.

    따라서 저자들은 입력 문장의 표현 학습을 위해 Text Style Transfer의 첫 번째 과정에서 machine translation 기반 모델을 통합했다.

     

    1) Detecting Style Markers

    *주의* 스타일 마커를 탐지하고 지우는 것은 sentiment modification에 대해서만 논의할 수 있음

     

    Style Markers : 문장의 스타일을 결정짓는 결정적인 단어

     

    1. n-gram salience measure 

    • 특정 스타일의 문장에서 n-gram의 상대 빈도를 계산한 후, 그 중요성(sainence)이 임계값 이상인 경우 스타일 마커로 간주한다.

    2. using attention weights

    • attention weight가 평균 attention value보다 큰 경우 스타일 마커로 정의된다.

    3. monitoring the change in probabilities of style classifier (IS)

    • IS : Importance Score
    • 토큰의 IS는 전체 문장을 조건으로 하는 스타일의 확률과 해당 토큰이 없는 문장을 조건으로 하는 스타일의 확률 차로 정의된다.
    • 가장 큰 IS를 가진 토큰을 스타일 마커로 사용하게 된다. 

     

    B. Sentence Generation

    1) Simple Recognition Model

    1. DeleteOnly & DeleteAndRetrieve

    • DeleteOnly :  디코더가 입력 문장의 인코딩과 대상 스타일을 기반으로 출력 문장을 생성
    • DeleteAndRetrieve : 검색을 기반으로 찾은 입력 문장과 가장 유사한 문장의 스타일이 인코딩됨.

    2. B-GST & G-GST

    • B-GST : Blind Generative Style Transformer
    • G-GST : Guided Generative Style Transformer
    • 각각 DeleteOnly와 DeleteAndRetrieve와 같은 모델링 접근을 사용했지만 transformer 기반 decoder를 사용한다.

    3. MultipleAttrTransfer

    • adversarial training 대신 back-translation을 적용해 생성된 출력이 인코더의 training input으로 사용된다.

    4. SHAPED

    • SHAPED : Shared-Private Encoder-Decoder
    • general characteristics와 style-specific characteristics를 모두 학습하기 위해 multiple GRU encoders와 multiple GRU decoders로 구성된다.
    • 개별 인코더와 디코더는 각 스타일에 대한 전용 인코더와 디코더 외에도 모든 스타일에서 공유된다.
    • private and shared encoder-decoders의 출력은 concat되어 multi-layer feed-forward network를 거쳐 출력 문장을 생성한다.
    • 입력 문장의 스타일을 알 수 없는 경우엔 해당 문장이 모든 private encoder에 입력되며, 출력은 concat되어 입력 문장의 스타일을 결정하는 스타일 분류기로 공급된다.

    5. SMAE

    • SMAE : Sentiment-Memory based autoencoder
    • 감정이 없는 단어와 감정을 분리하여 "sentiment memories"라는 긍/부정 단어 임베딩의 가중 행렬을 만든다.
    • decoding시, 입력 문장의 context는 sentiment memories 행렬로부터 밀접한 sentiment entriy를 추출하는 데에 사용돼 출력될 문장의 생성에 관여한다.

    Simple Recognition Models

     

    2) Models with Style Classifier

    1. ControllableAttrTransfer

    • Transformer 인코더와 디코더를 사용한다.
    • 인코딩된 representation은 2개 층의 linear classifier에 추가로 들어가며, 대상 스타일에 부합하는 latent representation을 편집하게 된다.

    2. BST

    • BST : Back-translation for Style Transfer
    • 영어-프랑스어 번역 모델을 사용하며, 원래의 스타일 영향을 줄여 문장을 바꾸는 방법을 학습한다.
    • latent representation의 스타일을 식별하는 데에 style classifier가 사용된다.
    • 각 스타일마다 한 개씩의 multiple BiLSTM style-specific decoders를 가진다.

    3. M-BST

    • M-BST : Multi-lingual Back-translated Style Transfer
    • BST는 단일 언어 기계번역 모델을 활용해 latent sentence representation을 생성하는 반면, M-BST는 다국어 기계번역 모델을 활용한다.

    4. M-BST+F

    • M-BST+F : Multi-lingual Back-translated Style Transfer + Feedback
    • decoder 개선을 위해 feedback-based loss function을 적용하였다.

    5. NTST & StableStyleTransformer

    • NTST : Neural Text Style Transfer
    • 생성 문장의 스타일을 분류하기 위해 CNN classifier를 활용한다.
    • BST와 달리 단일 디코더로 구성되므로 디코더에 대한 입력으로 스타일 임베딩을 포함하여 원하는 스타일의 문장을 생성해야 한다.

    6. StyleTransformer

    • 다른 Transformer 인코더를 사용해 문장의 스타일을 구별한다.
    • 훈련은 2개의 단계를 거치게 되는데, 첫 번째는 스타일 판별자를 훈련하고 두 번째는 StyleTransformer 네트워크를 훈련하는 것이다.
    • 본래의 스타일을 더욱 잘 보존하기 위한 목적으로, 생성된 출력 문장이 네트워크에 제공되어 원래 입력 문장을 생성하도록 모델을 훈련할 때 cycle reconstruction loss가 objective function으로 사용된다.

    7. CAST

    • CAST : Context-aware Style Transfer
    • 인접한 context나 동일한 단락의 문장과의 일관성을 보장하기 위해 각 문장에 대해 2개의 개별 디코더를 훈련한다.

    8. HybridST 

    • parallel dataset을 사용하기 위해 bi-directional translation loss를 도입하였다.
    • 위의 loss는 입력 문장이 주어졌을 때의 출력 문장 생성 loss와 출력 문장이 주어졌을 때 입력 문장 생성 loss를 결합한 것이다.

    9. FineGrainedCTGen

    • FineGrainedCTGen : Fine-Grained Controlled Text Generation
    • Bag of Words component를 추가하여 출력 문장에 대한 BOW feature 생성의 negative log probability를 최소로 하여 특정 단어의 생성을 향상하고 내용을 보존한다.

    10. POS-LM

    • POS tagger Language Model을 추가해 사용한다.
    • POS tagger는 출력 문장의 이전에 결정된 명사를 생성하는 것을 돕고, Language Model은 생성된 문장의 복잡성을 제어한다.

    11. CP-LM

    • 재구성 및 분류 손실이 있는 훈련 모델은 스타일을 잘 맞추더라도 의미를 보존하는 데에는 실패할 가능성이 큰 극히 짧은 문장을 생성할 수 있는 문제점을 제기했다.
    • CP-LM은 HybridST처럼 2개의 loss를 합쳐 사용한다.
    • 1) 임베딩 표현의 차이를 최소화하여 입력 및 출력 문장의 단어 임베딩 표현을 가깝게 하는 content preservation loss
    • 2) 생성 단어의 negative log probability를 최소로 하여 출력 문장이 유창함을 보장하는 fluency modeling loss

    12. AdaptiveStyleEmbedding

    • 단일 task에서 문장 재구성과 스타일 control을 수행하면 모델의 복잡성이 증가하는 문제점을 제기했다.
    • AdaptiveStyleEmbedding은 아래의 2개 모듈로 구성된다.
    • 1) style classifier를 사용하여 스타일 임베딩을 학습하는 style module
    • 2) 입력 문장의 latent representation과 학습된 스타일 임베딩의 결합 벡터를 조건으로 출력 문장을 생성하는 autoencoder

     

    Models with Style Classifier

     

    C. Adversarial Models

    1. AttrControl

    • 현실적이고 style compatible한 문장을 생성하기 위해 Projection discriminator를 사용하는 인코더-디코더 기반 모델.
    • Discriminator는 GRU decoder에서 얻은 style embedding 및 출력 문장을 바탕으로 생생된 문장이 진짜인지 가짜인지를 판단한다.

    2. CTGen

    • CTGen : Controlled Text Generation 
    • VAE를 기반으로 하며, CNN discriminator를 추가하여 생성을 돕는다.
    • generator와 discriminator는 wake-sleep procedure를 통해 상호 피드백을 제공한다.

    3. AAE

    • AAE : Aligned Autoencoder
    • 각 input과 target 스타일에 대한 인코더로 학습된 사후 확률 분포를 모두 정렬하기 위해 feedforward discriminator를 사용한다.

    4. CAAE

    • CAAE : Cross-Aligned Autoencoder
    • 위와 동일한 목적을 위해 두 개의 CNN discriminator를 사용한다.

    5. MultiDecoder & StyleEmbedding

    • GRU 인코더에 의해 학습된 표현이 주어지면 입력 문장의 스타일을 분류하기 위해 두 개의 multi-layer classifiers를 사용한다.
    • 스타일 레이블을 올바르게 예측할 확률을 최대화하고 예측된 스타일 레이블의 엔트로피를 최대화한다.
    • StyleEmbedding은 출력문을 생성하기 위해 GRU decoder에 대한 target style의 추가 임베딩된 representation을 사용한다.
    • MultiDecoder는 target style의 문장을 생성하기 위해 각 스타일 당 하나씩 multiple GRU decoder를 사용한다.

    6. DAE & VAE

    • latent space의 분리를 위해 content-oriented and style-oriented reconstruction과 adversarial losses가 제안되었다.
    • bag-of words features로 content 및 style 정보를 근사하였다.
    • style 감지와 BOW contents vocab에 대한 두 가지 분류기를 사용하였다.

    7. CAE

    • CAE : Cycle-consistent Adversarial Autoencoder
    • 아래 3개의 구성요소로 이루어진 네트워크이다.
    • 1) 서로 다른 스타일의 문장을 표현하기 위한 LSTM autoencoder
    • 2) adversarial style transfer network
    • 3) novel cycle-consistent constraint

    8. DGST

    • DGST : Dual-Generator Network for Text Style Transfer
    • CAE와 비슷한 방식으로 cyclic process에서 target style의 문장을 생성하는 방법을 학습한다.
    • 이 모델은 discriminator에 의존하지 않는 특징이 있다.
    • 그 대신, neighborhood sampling을 적용해 각 문장에 노이즈를 준다.

    9. FM-GAN

    • adversarial 학습을 위한 traditional loss를 이용하지 않고 Feature Mover’s Distance를 이용하여 학습한다.

    10. StyleDiscrepancy

    • adversarial loss와 reconstruction만을 포함하는 objective function으로 훈련하여 문장을 생성하는 것이 목표 스타일을 제대로 잡아낼 수 없는 문제를 제기했다.
    • 이 모델은 주어진 문장에 target style이 있는지를 판별하기 위해 StyleDiscrepancy라는 loss function을 이용하는 추가 discriminator를 사용한다.
    • StyleTransformer와 CAST처럼 cycle consistency를 적용하였다.

    11. StyIns

    • 생성 과정에서 더 나은 style supervision을 보장하기 위해 adversarial style loss를 사용한다.
    • StyleTransformer와 유사하게 생성된 문장의 스타일을 결정하기 위해 multi-class discriminator가 적용된다.

    12. PPVAE

    • PPVAE : Pre-train and Plug-in Variational Autoencoder 
    • 새로운 스타일을 배워야 할 때마다 처음부터 다시 시작하는 문제를 완화하는 시스템을 염두에 두었다.
    • 이 프레임워크는 아래 2가지 variational autoencoder로 구성된다.
    • 1) PretrainVAE : 문장을 원래 스타일로 표현하고 재구성하는 법을  배우는 autoencoder.
    • 2) PluginVAE : 각 스타일에 대한 conditional latent space을 배우는 autoencoder.

    Adversarial Models

     

    Section 6 : 직면한 과제 및 향후 발전 방향

    딥러닝 관점 

    • 연구의 초점은 feature etraction에서 model-free machine learning으로 넘어가고 있다.
    • 많은 양의 데이터에 대한 의존성과 신경 모델의 복잡성은 훈련 데이터로부터의 과적합과 일반화의 어려움과 연관이 있다.

    Deep Style Transfer

    1) Style-content Disentanglement

    • 스타일은 구어, 문어와 뗄 수 없는 관계에 있다.
    • latent space를 content and style subspaces로 partitioning, style marker 제거, 스타일의 영향을 줄이기 위한 back-translation 사용하는 방식들이 기존에 제안되었다.
    • 최근 연구에서는 스타일에서 컨텐츠를 분리해야할 필요성을 거부한다.
    • back-translation 사용, latent representation editing, 스타일 제어 및 문장 재구성을 위한 독립 모듈, cycle-consistent reconstruction 등의 방법론들이 새롭게 제안되었다.

    2) Content와  Style 간의 trade-off

    • style과 content간 정확한 상호의존성이 명확하지 않아 문제가 된다.
    • 일부 기술적 구제책은 상충되어 신뢰가 떨어진다.

    3) Interpretability

    • 때로 딥러닝 모델은 원인과 결과를 연관하여 이해하기 어려운 구조를 가지고 있어 비판받는다.
    • GAN을 분석하여 딥러닝 네트워크가 어떻게 수행되는지 이해하려는 시도 중에 있다.

    4) Transfer Learning

    • 현재 style transfer를 위해 transfer learning을 사용한 연구 수는 아직 제한적이다.
    • 그러나 transfer learning에 대한 관심이 높아짐에 따라 pre-training, multi-task training, fine-tuning 등의 아이디어를 적용하는 것이 유용할 수 있을 것이다.

    5) Ethical  Considerations

    • social network에서 데이터를 가져오는 횟수가 더 많아지는 만큼 많은 커뮤니티에서 윤리적인 토론을 이어나가야 한다.

    6) Deep Reinforcement Learning

    • 경험을 통해 사람처럼 학습하는 강화학습은 아직 충분한 성능에 도달하지는 못하였다.
    • 그러나 이 분야 또한 몇몇 연구자가 재조명하고 있다.

    Section 7 : 결론

    • 추가 레이어나 구성 요소 등에 의해 예상되는 성능 이득과 모델 복잡성의 trade-off를 맞추는 것이 현재 연구자들이 직면한 과제이다.
    • Style transfer 작업 전반에 걸쳐서 결과를 일반화한 성공적인 사례는 거의 보고되지 않았다.
    • Transfer learning과 Multotask learning 학습 연구는 더 많은 발전을 가능하게 할 수 있는 기회이다.

    댓글

Designed by Tistory.