[논문 전문] : 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 augmentation technique for battery condition evaluation. International Journal of Energy Research. 45. 10.1002/er.7013.
※ 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.
[논문 요약]
A generative adversarial network based synthetic data augmentation technique for battery
condition evaluation
본 논문은 GAN을 활용해 배터리 데이터를 생성하는 연구들에 대한 전반적인 정리 및 Time-Series GAN이라고 불리는(TimeGAN과 다름) 기술을 개발한 연구입니다.
전반적인 컨셉은 제가 봤을땐 RTS-GAN과 비슷한데, GAN쪽이 아무래도 점차 고도화 개발 되다보면, Back propagation을 어디까지만 흐르게하고, 막거나 이런식으로 Loss Function을 점점 복잡하게 짜는 쪽으로 가기때문에, 처음 읽었을때는 이해하기가 쉽지 않았습니다. (어려워서가 아니라..)
그래서 제가 이해한 방식대로 그림도 한번 그려가며 정리해봤습니다.
Contents

본 논문에서 제안하는 Time Series-based GANs(이하 TS-GAN)의 Pseudo code입니다.
여기서 (4)번이 저는 핵심이라고 생각되는데요, 본 논문은 GAN의 기본적인 adversarial Loss외 추가적으로 3개정도의 Loss term이 붙습니다.
본 논문에도 많은 Figure들이 있으나, 개인적으로 그림이 예쁘기만하지 이해하기가 힘들게 되어있어 아래와 같이 다시한번 그려봤습니다.

TS-GAN의 학습은 위와 같은 방식으로 진행됩니다.
일단, RTS-GAN과의 차이점은 AutoEncoder(이하 AE)가 Pre-trained 한것이 아니라, GAN 학습할때 함께 학습된다는 점입니다.
이렇게 설계한 목적은 각 Time Step(입력 데이터)별로 Supervised Loss를 해주겠다는 목표(L2)와, Discriminator에 Real Data를 Encoding한 h(Hidden state)와 Generator가 생성한 Fake h를 동시에 입력하여 Real/Fake 분간을 하게 하기 위함입니다.
기존의 Vanilla GAN은 z->Generator->Fake sample 생성 -> Discriminator 판단 순으로 진행되었으며, 이는 Generator가 직접적으로 Real data에 대한 학습을 하지 않는 형식입니다. (Discriminator를 통해 간접적으로 학습)
하지만, 상기 방식을 통하게 되면 (2) 과정을 통해 직접적으로 Real , Fake Data간 특징을 Generator가 학습할수있게됩니다.
GAN에서 반드시 필요한 Default Loss인 Adversarial Loss는 빼고 말하자면, 제가 봤을때 큰 특징은 3가지입니다.
(1) AutoEncoder의 Reconstruction Error를 GAN학습시 함께 사용한다는점
(2) Encoder의 출력(h_E)와 Generator의 출력(h_G) Loss를 추가하여 Generator도 Real Data의 특징을 직접적으로 학습할수있게 한다는점
(3) Discriminator의 입력이 Vanilla GAN과 달리, Real/Fake Sample 동시에 입력으로하여 기존대비 복합적인 판단력을 가진 Discriminator 학습이 가능하다는점

이후 학습을 완료하고 추론시에는 상기와 같이 진행합니다.
Generator는 Fake Sample 그자체가 아닌 Fake Sample의 Hidden State를 뽑아내기때문에 Reconstruction Error로 함께 잘 학습된 Decoder를 거쳐 최종 Fake Generated Samples를 만들어내게 됩니다.
논문의 글과 설명으로만 봤을때는 복잡해보이지만, 심플하게는 이러한 구성으로 진행된다고 보시면 됩니다.
물론 h(Hidden state)에 대해 Static h, dynamic h이런식으로 구분해놓고 cGAN 컨셉을 사용하는 Detail도 있지만, 전체적인 그림은 상기 포인트들이 핵심입니다.

생성 결과물은 그다지 훌륭하지 않습니다. (한번에 24개의 시계열 데이터 포인트 생성, Open Source Battery Dataset 활용)
주황색이 생성한 데이터인데요
본 논문의 저자도 SOC나 온도는 어떻게 비슷하게 따라가는데, 전압은 힘들다고 합니다.
전압의 비선형성을 GAN이 온전히 담아내기 힘들다고 하는데, 이에 대한 대안같은것은 딱히 기재되어있지 않습니다. (현상이 그렇더라 정도로 정리)

t-SNE나 PCA 결과는 괜찮게 나와보입니다.
그런데, 전압을 저렇게 못따라가는데 어떻게 PCA, t-SNE가 이렇게 Ideal하게 나오는지는 잘이해가안되네요


마찬가지로 Synthetic Data들의 퀄리티가 매우 떨어집니다만, PCA/t-SNE 결과는 좋게나온다고하네요
Results
생성된 데이터의 시각적 Quality대비 PCA/t-SNE가 좋게나와보여 다소 의아하긴 했습니다.
또한, 생성데이터의 퀄리티가 안좋을수밖에 없다고 느끼는것이 애초에 Inference 과정에서 Generator이후 Decoder를 거쳐야 Generated Sample이 만들어지기에
약간 효율성 법칙처럼, 여러단계의 Loss Function을 통해 학습한 아이템들을 거치게되면 최종 결과물의 퀄리티에 영향을 주는 요인들이 많아질수밖에 없다는 결과로 도달하게 되는것 같습니다.
(Ex. 에너지 변환과정에서 여러 STEP을 거칠수록 최종 에너지 효율은 낮아질수밖에 없는 느낌이랄까..)
참조
[1] Naaz, Falak & Herle, Aniruddh & Channegowda, Janamejaya & Raj, Aditya & Lakshminarayanan, Meenakshi. (2021). A generative adversarial network‐based synthetic data augmentation technique for battery condition evaluation. International Journal of Energy Research. 45. 10.1002/er.7013.
'AI > AI Paper review' 카테고리의 다른 글
[ICLR-2017] Mode Regularized Generative Adversarial Networks (0) | 2025.07.03 |
---|---|
[ICDM-2021] Towards Generating Real-World Time Series Data (1) | 2025.06.30 |
[NIPS-2020] Denoising Diffusin Probabilistic Models (0) | 2024.01.29 |
[NIPS-2014] Generative Adversarial Nets (2) | 2024.01.25 |
[KDD-2019] Time-Series Anomaly Detection Service at Microsoft (3) | 2024.01.22 |
댓글