[Paper Review]Pre-train and Plug-in: Flexible Conditional Text Generation with VAE

Paper Review
작성자
Gyuwon Cho
작성일
2020-07-20 20:15
조회
517
1. Topic
  • Pre-train and Plug-in: Flexible Conditional Text Generation with Variational Auto-Encoders
2. Overview
  • 최근 많이 연구되고 있는 Text Generation 분야에서, 인공지능 모델이 생성하는 텍스트를Condtional하게 조절하고자 하는 Task인 Conditional Text Generation분야에 대한 간략한 소개 및 이와 같은 문제 해결을 위해 해당 논문은 ACL 2020에 Accept 된 논문 중 Pre-train, Plug-in 2개의 VAE(Variational Auto-Encoders)를 활용한 PPVAE 모델을 소개합니다.
3. 발표자료 및 발표영상
  • 발표자료 (하단 첨부파일)
  • 발표영상
4. 참고문헌
  • 발표자료 내 별도 정리
전체 10

  • 2020-07-24 09:18

    이번 세미나는 조규원 석사과정의 Conditional Text Generation 과 관련된 발표였습니다. Conditional Text Generation은 주어진 조건에 맞게 적절한 문장을 생성하는 태스크입니다. 이번에 발표한 논문은 Variational AutoEncoder(VAE)를 사용하여 해당 태스크를 수행한 논문입니다. 하지만, Decoder 단계에서 LSTM과 같은 AutoRegressive(AR)한 모델을 사용할 경우 VAE의 latent code(z)를 무시해 버리는 문제가 발생하게 됩니다. 이러한 문제를 해결하기 위해 본 논문에서는 Wasserstein AE(WAE)와 GAN을 합친 WGAN을 사용합니다.
    본 논문에서는 PPVAE(Pre-train & Plug-in VAE)라는 모델을 제안하는데, Pre-train VAE, Plug-in VAE, 그리고 Generation의 세 개의 모듈로 구성됩니다.
    먼저, Pre-train 모델에서 VAE 모델을 학습한 후 Plug-in VAE에서 조건(condition)이 주어졌을 때, 조건에 맞는 Conditional Latent space를 학습하게 됩니다. 마지막으로 Generation에서 조건에 맞는 text를 생성하게 되는 구조입니다.
    이번 세미나에서 수식이 많이 나와 이해하기가 쉽지 않았지만, 발표자료를 이해할 수 있도록 핵심을 짚어주어 많은 도움이 되었습니다. 발표 감사합니다.


  • 2020-07-25 17:28

    세미나에 직접 참여하지 못했지만, text generation관점의 소견을 작성해보려고 합니다. generation방법은 일반적으로 파라미터들을 분포로 가정하게 되며 bayesian방식을 사용하게 됩니다. 이 방식은 prior의 개념이 적용이 되며, 물리적으로 regularization효과를 가지고 있습니다. 그래서 소수에 데이터를 의학 이미지나 데이터가 적은 도메인에 bayesian기법들을 많이 사용하는 것 같습니다. 그러면 다시 text generation으로 돌아서, 현실문제에 직면해 보면 데이터 크기를 크게 적은 데이터, 많은 데이터로 나뉠수 가 있습니다. SKT관련 프로젝트를 진행하면서 현업에 일하시는 분의 연구의 경험을 참고하면 데이터 도메인(image, text)과 데이터 수(소수, 다수)에 따라 모델링 augmentation방법을 다르게 두신다고 합니다. 정리하면 아래와 같습니다.
    1. 이미지 데이터가 소수일때 augmentation, AutoAugment(rotation, flip, ..)
    2. 이미지 데이터가 다수일때 augmentation, 이미지에 noise 추가
    3. 텍스트 데이터가 소수일때 augmentation, text generation(세미나 발표 주제)
    4. 텍스트 데이터가 다수일때 augmentation, bert fine-tuning
    그래서 앞으로 연구방향으로 소수의 텍스트 데이터에 대한 컨셉으로 진행보시거나, 위 컨셉의 case study 연구결과과 좋은 연구주제가 될 것 같습니다.


  • 2020-07-30 10:17

    본 논문에서는 VAE를 사용해 conditional text generation을 수행했습니다. 논문에서 소개한 구조가 어렵지 않고 발표자가 설명을 잘 해 주셔서 쉽게 이해할 수 있었습니다. 모델은 Pre-train VAE와 Plug-in VAE, 그리고 generation 과정으로 이루어져 있습니다. Pre-train VAE에서 주목할 점은 본 모델이 WGAN-div 알고리즘을 이용해 문장을 복원한다는 것입니다. Pre-train VAE는 일반적인 VAE의 encoder 구조로 latent vector를 생성하고, random sampling된 latent vector와 WGAN-div 방식으로 discriminator를 학습합니다. 그 후 transformer 구조의 decoder로 원 문장을 복원합니다. plug-in VAE는 일반적인 VAE구조로써 동일한 condition(label)이 할당된 문장들을 앞서 학습한 Pre-train VAE의 encoder에 넣어 latent vector(v_y)를 추출합니다. 그 후 VAE구조를 이용해 해당 latent vector를 복원하도록 학습합니다. Plug-in VAE의 중간에 있는 또 다른 latent vector(z_ci)가 condition을 담고 있는 역할을 합니다. 따라서 Plug-in VAE는 condition의 수만큼 생성됩니다. 마지막 generation step에서는 sampling을 통해 z_ci를 추출하고 앞서 학습한 plug-in VAE의 decoder에 넣어 z_ci'(위에서의 v_y 역할)를 복원한 뒤 마지막으로 Pre-train VAE의 decoder로 문장을 복원하게 됩니다. z_ci를 추출하는 분포에 따라, 즉 어떤 condition으로 학습된 plug-in VAE를 사용하는가에 따라 conditional generation을 할 수 있게 됩니다. 결론적으로 텍스트를 이용한 VAE의 중간 산물인 latent vector를 input으로 또 다른 VAE를 학습해 더욱 저차원의 latent vector로 mapping시킴으로써 문장 자체의 은닉 공간과 condition(label)의 은닉 공간을 별도로 분리한 것 같습니다. 이러한 방식을 차용함으로써 연산량이 줄어드는 이점이 있는 것 같습니다. controlled text generation에서 유명한 이전 논문(CTRL-GEN)의 단점을 보완한 흥미로운 모델이었습니다. 좋은 논문을 소개해주셔서 감사합니다.


  • 2020-08-03 16:04

    VAE는 Reconstruction Error와 KL-term(Regularization)을 활용하여 모델의 파라미터를 최적화합니다. VAE를 활용해 Autoregressive 모델을 사용할 경우, KL-term는 역전파의 영향이 현저히 줄어들어 의미있는 잠재벡터 Z분포를 생성하지 못하는 문제를 야기합니다. 이에 문제를 제기하고 WAE 논문을 발표자가 소개하였습니다. 아이디어는 간단한데, KL-term을 GAN 손실함수로 대체하여 가우시안에서 벗어나자라는 취지입니다. 추가로 발표한 PPVAE 논문은 추가적으로 Decoder에 잠재벡터 V를 예측할 토큰의 벡터마다 Concat 하는 trick을 사용합니다. 또한, 기존의 Generation 모듈과 Conditional Representation 모듈을 분리하여 새로운 조건이 추가되더라도 후자만 학습하면 되기 때문에 좀 더 효율적이라고 볼 수 있습니다. 기본부터 연관된 개념들을 이해하기 쉽게 설명해주셔서 감사합니다.


  • 2020-08-03 17:31

    이번 세미나는 Pre-train and Plug-in : Flexible Conditional Text Generation with Variational Auto-Encoders을 주제로 진행되었습니다. PPVAE는 1) Pretrain VAE, 2)Plug-in VAE, 3) Generation part로 구성되어있습니다. 첫번째 단계인 pretrain VAE에서는 unlabeled text를 복원해낼 수 있도록 Encoder와 Decoder를 학습합니다. 두번째 단계인 Plugin VAE는 Pretrained Encoder의 output인 global latent vector를 다시 encoding하는데, 이때 text는 condition을 가지고 있기때문에 각 condition마다 Plug-in VAE를 만들어 Conditional한 text를 학습합니다. 마지막 단계인 Generation은 sampling을 통해 conditional latent vector를 얻은 후 conditional text를 generation해내는 구조를 가지고있습니다. Condition 마다 latent vector가 명확히 나뉠것이라는 가정하에 생성되는 논문이며, condition 개수만큼 plugin VAE을 생성해내야하므로 class 갯수가 많은 데이터에 적용하기는 어려움이 있지 않을까 생각했습니다 .


  • 2020-08-03 19:14

    이번 세미나에서는 주어진 조건에 맞는 Text를 Generation 하는 Conditional Text Generation Task에 대해 소개하고, 해당 Task를 해결하기 위한 Pre-train and Plug in Variational Auto Encoder(PPVAE)를 소개합니다. PPVAE 모델의 경우 우선적으로 다수의 Unlabeled Text를 Input으로 해당 Input을 복원시키는 과정에서 Latent Vector Z를 학습하는 Pre-train VAE 파트와, 학습된 Latent Vector와 Condition에 맞는 Text를 이용하여 Latent Vector z를 샘플링하는 Plug-in VAE 파트, 그리고 샘플링 된 Latent Vector z를 이용하여 조건에 맞는 Text를 Generation 하는 Generation 파트 총 3가지의 파트로 구성되어 있습니다. 논문에서 제안된 Decoder는 Transformer의 Decoder 구조를 차용하므로, Autoregressive한 Decoder를 사용할 경우 z에 관계없이 Decoder 단에서 Reconstruction Error를 줄이는 방향으로 학습이 진행되는 Posterior Collapse Problem이 발생하게 됩니다. 이를 극복하기 위해 Pre-train VAE 파트에서 기존의 VAE 대신 WAE-GAN 구조를 도입하였습니다. 수식이 많아 개인적으로 이해하기 난해한 발표였으나, 발표자께서 상세한 시각적 자료를 이용해 설명해 주셔서 이해에 도움이 되었습니다. 감사합니다.


  • 2020-08-03 21:49

    이번 세미나에서는 Variational Auto-Encoder를 단계별로 사용하여 다양한 Condition이 추가된 Text Data를 생성할 수 있는 모델과 관련된 논문을 발표하였습니다. PPAVE는 총 세가지 단계로 학습을 진행합니다. 우선 첫번째 Pre-train VAE 단계에서는 Unlabeled Text를 잘 복원할 수 있는 Encoder, Decoder를 학습하고, 두번째 단계에서는 Condition Label을 갖고 있는 Text를 이용하여 Plug-in VAE를 학습시켜 각 Condition에 맞는 내부 VAE를 생성합니다. Plug-in VAE는 조건의 갯수에 맞게 학습시켜야 하는 특징을 갖고 있기 때문에 새로운 조건 추가시 전체적인 모델을 학습시키지 않더라도 Plug-in VAE만을 학습시켜 모델이 원하는 조건의 Text를 생성할 수 있습니다. 오늘 소개한 Plug-in VAE 구조는 Text Class에 따라 학습해야 하는 단점을 갖고 있지만 데이터의 Class가 시간에 따라 일정하지 않는 특정 조건일 때에는 장점으로 적용할 수 있기 때문에 효율적일 것 같다는 생각을 하였습니다. 일반적으로 요즘 나오는 모델들은 End-To-End로 학습하여 성능을 향상시키려고 노력하는데 현실세계에서 성능향상보다 때로는 오늘 소개한 논문처럼 효율성을 고려해야 할 때도 있는것 같습니다. 물론 오늘 설명한 논문은 성능도 좋은것 같습니다. 훌륭한 발표 감사합니다.


  • 2020-08-04 15:02

    이번 세미나는 conditional text generation을 수행하기 위해 제안된 PPVAE 모델에 관한 발표였습니다. PPVAE는 Pre-train VAE와 Plug-in VAE, Generation의 세 파트로 이루어집니다. 첫번째 Pre-training에서는 전체 데이터를 통해 텍스트를 복원하여 global한 의미의 representation을 산출하는 variational auto-encoder를 구축합니다. 두번째 Plug-in VAE는 각 조건별로 조건을 함축한 representation을 학습할 수 있도록 하기 위해 또 다른 auto-encoder를 학습하며, 마지막 단계인 Generation 파트에서는 앞선 단계에서 구축한 global decoder와 conditional decoder를 사용하여 텍스트를 생성해냅니다. 이러한 과정이 end-to-end로 이루어지지는 않기 때문에 현재의 연구 흐름과는 맞지 않는 경향이 있지만, 발표에서 언급된 것처럼 새로운 condition이 주어졌을 때의 추가 모델 구축 비용이 적고, 높은 수준의 조건부 텍스트 생성 task 수행 능력을 보여준다는 점에서 의미가 큰 연구라는 생각이 들었습니다. 발표자 또한 어려운 수식 개념을 피하지 않고 전달하고자 하는 모습에서 배울 점이 많았고, 해당 논문을 현재 진행 중인 프로젝트에 적용하려는 시도 또한 합리적이라고 느껴져 향후 결과가 많이 기대되는 발표였습니다.


  • 2020-08-05 20:39

    근래 들었던 세미나 중에서 가장 많은 수식을 보았던 세미나였습니다. 따라서 내용에 대해 정확히 따라가는 것이 힘들었는데, 그럼에도 불구하고 전체적인 맥락은 놓치지 않을 수 있도록 잘 설명해주셔서 좋았습니다. 결국 전체적인 흐름을 살펴보면 conditional text generation을 하기 위해 plug-in VAE를 도입한 부분이 핵심이 되는 것 같습니다. 이를 통해 새로운 조건이 들어왔을 때 전체 모델을 재학습하는 것이 아니라 plug-in vae만 학습함으로써 추가적인 모델의 구축 비용을 절약하고, 높은 성능을 낼 수 있었다고 생각이 됩니다. End-to-end만이 능사라고 생각되었는데 이러한 장점이 있다면 굳이 end-to-end가 아니더라도 충분히 가치가 있는 모델이 아닌가라는 생각이 들었고, 또 한 번 새로운 관점을 엿보게 된 것 같아서 좋았습니다.


  • 2020-08-14 02:59

    금일 발표는 "Pre-train and Plug-in: Flexible Conditional Text Generation with VAE"라는 주제로 진행되었습니다. 본 발표는 conditional text generation분야에 대한 설명과 이와 관련된 PPVAE 모델을 중심으로 진행되었습니다. 개인적으로 이전에 기존의 text generation 모델을 기반으로 동화 생성 프로젝트를 진행한 적이 있는데, 그때 교훈을 condition으로 주면 해당 교훈과 관련이 있는 동화를 생성해주는 모델과 관련하여 고민을 했던 경험이 있어 금일 세미나 내용이 더 흥미롭게 느껴졌습니다. PPVAE 논문은 많은 수식으로 구성되어 있는데, 수식으로 인해 발표를 청취하는데 어려움이 있었지만 발표자가 prerequisite을 잘 준비해주어 발표 청취에 도움이 되었고 더불어 발표자가 해당 발표를 준비하는데 얼마나 많은 시간을 투자했을지 실감할 수 있었습니다. 오늘 발표된 논문은 특정 lable을 condition으로 주고 text를 생성하는 모델이라 초반에 동화 생성과 관련된 기대를 충족하지는 못해 아쉬웠지만 그래도 condition text generation의 발전을 알려주는 논문을 알게되어 유익한 시간이었습니다.


전체 129
번호 제목 작성자 작성일 추천 조회
공지사항
Paper Reviews 2019 Q3
관리자 | 2020.03.12 | 추천 0 | 조회 1224
관리자 2020.03.12 0 1224
공지사항
Paper Reviews 2019 Q2
관리자 | 2020.03.12 | 추천 0 | 조회 449
관리자 2020.03.12 0 449
공지사항
Paper Reviews 2019 Q1
관리자 | 2020.03.12 | 추천 0 | 조회 990
관리자 2020.03.12 0 990
76
[Paper Review] Madnet: Using a mad optimization for defending against adversarial attacks (20)
Kyoungchan Park | 2020.10.09 | 추천 0 | 조회 289
Kyoungchan Park 2020.10.09 0 289
75
[Paper Review] Model agnostic Few shot learning (18)
Joongmin Park | 2020.10.07 | 추천 0 | 조회 438
Joongmin Park 2020.10.07 0 438
74
[Paper Review] Syntax and Semantics in Language Model Representation (18)
Myeongsup Kim | 2020.09.29 | 추천 0 | 조회 403
Myeongsup Kim 2020.09.29 0 403
73
[Paper Review] Unsupervised Graph Anomaly Detection (19)
Hyungseok Kim | 2020.09.25 | 추천 0 | 조회 533
Hyungseok Kim 2020.09.25 0 533
72
[Paper Review] Evaluation Metrics for Time Series Anomaly Detection (19)
Gyuwon Cho | 2020.09.23 | 추천 0 | 조회 513
Gyuwon Cho 2020.09.23 0 513
71
[Paper Review]Graph based Anomaly Detection (19)
Hyeyeon Kim | 2020.09.17 | 추천 0 | 조회 612
Hyeyeon Kim 2020.09.17 0 612
70
[Paper Review] MultiSAGE - Spatial GCN With Contextual Embedding (19)
Jungho Lee | 2020.09.15 | 추천 0 | 조회 713
Jungho Lee 2020.09.15 0 713
69
[Paper Review] Spectral-based Graph Convolutional Networks(GCN) (18)
Jonghyun Choi | 2020.09.08 | 추천 0 | 조회 1671
Jonghyun Choi 2020.09.08 0 1671
68
[Paper Review] Text Augmentation (18)
Jounghee Kim | 2020.08.30 | 추천 0 | 조회 1107
Jounghee Kim 2020.08.30 0 1107
67
[Paper Review] Deep Semi-Supervised Anomaly Detection (10)
Heejeong Choi | 2020.08.29 | 추천 0 | 조회 1638
Heejeong Choi 2020.08.29 0 1638

Data Science & Business Analytics Lab.
School of Industrial Management Engineering
College of Engineering, Korea University

Contact Us

  • 강필성 교수 (pilsung_kang@korea.ac.kr)
    서울특별시 성북구 안암로 145 고려대학교 자연계캠퍼스 창의관 801A호 
  • 대학원 연구실 (총무 이유경: yukyung_lee@korea.ac.kr)
    서울특별시 성북구 안암로 145 고려대학교 자연계캠퍼스 신공학관 220호, 221호, 213호
© 2020 DSBA Lab.