[논문 전문] : https://onlinelibrary.wiley.com/doi/abs/10.1002/er.7013
[출처] https://arxiv.org/abs/2111.08386
※ The picture and content of this article are from the original paper.
All picture and figures used in this article are sourced from publicily available on the internet.
[논문 요약]
Towards Generating Real-World Time Series Data
Microsoft와 UIUC에서 나온 RTS-GAN이라는 논문입니다.
데이터의 퀄리티에 집중하는것 보다는, 실제 데이터에서 있는 Noise와 Vacancy까지 반영하여 실제와 비슷한 데이터라는 것에 집중하는 상당히 재미있는 컨셉의 논문인데, GAN쪽은 이제 고인물화가 되어서 논문들이 점점 복잡해지고 이해하기가 어려워져가네요
재미있는 테크닉도 있고, 인사이트도 있어 한번 정리해보고자합니다.
Contents

RTS-GAN의 전체 아키텍쳐입니다.
일단 아키텍처의 개요부터 정리해보자면, RTS-GAN은 AutoEncoder(이하 AE)와 GAN으로 구성되어있습니다.
https://limitsinx.tistory.com/341
[Energy Research-2021] A generative adversarial network based synthetic data augmentation technique for battery condition evalua
[논문 전문] : https://onlinelibrary.wiley.com/doi/abs/10.1002/er.7013[출처] Naaz, Falak & Herle, Aniruddh & Channegowda, Janamejaya & Raj, Aditya & Lakshminarayanan, Meenakshi. (2021). A generative adversarial network‐based synthetic data augmentat
limitsinx.tistory.com
이전에 정리한 TS-GAN과의 가장 큰 차이점 중 하나는, 이 AE와 GAN을 동시에 학습시키느냐, Pre-trained 시키느냐입니다.
TS-GAN에서는 GAN과 AE를 함께 학습시켰는데요, RTS-GAN은 AutoEncoder를 Pre-trained 시킵니다.

그 이유는, RTS-GAN은 Encoder의 입력으로 Real Sample(x)뿐만 아니라 m(Mask)도 같이 넣기때문입니다.
이것은 Vacancy 위치에 1로 Binary로 정리한 x와 동일한 사이즈의 벡터인데요, 이것을 통해서 Real Sample의 어디에 결측치가 있는지를 표시합니다.
즉, 원본 데이터만 넣어 Reconstruction하는것이 아니라 결측치에 대한 정보도 Encoder에 녹여내는것이 목적이기때문에 GAN은 불필요한 학습을 하지 않도록 Pre-trained를 진행합니다. (GRU Based AE)
그다음, 디코더는 Hidden state를 입력으로 받고 다시 generated x와 predicted mask를 생성하도록 진행합니다.
TS-GAN과 달리 별다른 Loss들을 설계하진 않습니다.
학습의 전체적인 흐름은 다음과 같습니다.
1. AE Pre-training
2. GAN Training : 이때 TS-GAN과 동일한 특징이 Discriminator의 입력으로 h_E, h_G 동시에 적용
3. W-GAN GP로 학습(별도 추가 Loss Term X)

이렇게 설계한 이유는, 상기와 같이 Discriminator가 Encoder의 출력(h_E)와 Generator의 출력(h_G)를 동시에 입력을 받고 학습하여, 다시 BackPropagation하기 때문에, 원본 데이터와 마스크(x,m)의 정보가 Generator에 흘러들어가서 h_G가 h_E의 특성을 더욱 잘 반영할수있게끔 유도하기 때문입니다.

최종 Inference는 TS-GAN과 동일하게 Generator의 출력을 Decoder의 입력으로하고 Generated Sample과 해당 샘플에서의 Vacancy를 나타내는 Predicted Mask를 생성하는 형식입니다.

t-SNE와 PCA결과는 상당히 잘나오는데, DoppleGanger, Time-GAN의 결과가 상대적으로 너무 안좋게 나오도록 figure가 나온게 아닌가싶습니다. 저정도는 아닐텐데요
Results
재미있는 컨셉의 논문이고 TS-GAN과 같이 2010년대 후반~20년대 초반 GAN이 AI계에서 강한영향력을 내뿜을때 나온 논문입니다. 재미있는 컨셉이며 TS-GAN보다 간단한 형태라는 특징이 있습니다.
하지만, 본 논문에서 가장 주요 포인트는 Mask를 입력으로 학습시키고 생성하여 Vanacy를 표현할수있다는점이 아닐까 싶습니다.
그리고, Detail한 내용이라 상기 정리는 하지 않았지만,
모든 Tabular Data 딥러닝 엔지니어라면 고민해봤을법한 내용에 대한 재미있는 아이디어가 있었습니다.
Static Feature와 Dynamic Feature의 비율을 Constant로 명시적으로 나누어주어, Static Feature가 학습 중 Dynamic Feature에 묻히지 않도록 하는 방안이였습니다.

댓글