- 2019년 2월 15일 오후 3:39
- 조회수: 5602
INFORMATION
- 2019년 2월 15일
- 오후 1시 30분 ~
- 고려대학교 신공학관 218호
TOPIC
OVERVIEW
발표자 후기
Missing Data Imputation using Generative Adversarial Nets라는 주제로 2018 ICML에서 소개된 GAIN알고리즘에 대해 세미나를 진행하였다. 최근 들어 M2M확산에 따른 센서 데이터의 증대, 트래킹 행위 증가, 데이터 저장매체 가격 하락 등의 이유로 데이터 수집이 용이해짐에 따라 어느새 데이터 분석 활용에 있어 데이터 규모(Quantity)에 대한 문제보다는 데이터 질(Quality)에 대한 관심이 두드러지고 있다. 대표적인 분석 알고리즘의 대표적인 가정은 데이터 완결성이다. 이런 조건을 위배하는 ‘결측치’는 데이터 분석 입장에서 빈번히 마주하는 문제이다. 또한 결측치 대체는 관점에 따라 multi task prediction 문제로 해석할 수 있다.
결측치를 처리하는 방법은 크게 (1)알고리즘 내부에서 결측치를 제외한 변수를 기준으로 모델을 구성하는 방법과 (2)알고리즘 외부에서 독립적으로 결측치를 대체하여 알고리즘에 사용할 완전 데이터를 구성하는 방법으로 알고리즘 종속성을 기준으로 나눌 수 있다. 전자의 경우 비교적 단순한 기법이지만, 큰 예측 성능 향상을 기대하기는 어렵다. 반면 후자의 경우 비교적 복잡함에도 불구하고, 알고리즘을 통해 데이터를 가용할 수 있다는 장점이 있다. 소개한 GAIN의 경우, generative model을 기반으로 GAN모델을 접목시킨 결측치 대체 기법이다.
GAIN이 결측치 대체에 활용하기 위해 GAN에서 추가적으로 고려한 사항은 다음과 같다. 먼저 결측치가 존재하는 불완전 데이터를 data matrix, random matrix, mask matrix로 분해하여 generator의 입력 값으로 사용된다. 이후 Generator의 최종 출력값은 결측치가 대체된 imputed matrix가 된다. Discriminator의 경우 imputed matrix와 mask matrix의 일부 값인 hint matrix를 입력 값으로 사용하고, 전체 데이터에 대한 real/fake를 출력 값으로 활용하는 GAN과는 달리 한 component값마다 real/fake 예측 값을 출력함으로써 mask matrix를 예측하는 문제로 관점을 바꾸어 구성하였다.
Generator의 목적식 경우 generator가 생성한 값과 실제 결측이 아니었던 값의 MSE Loss와 생성된 값이 discriminator를 거친 후 출력된 estimated mask matrix값이 1이 되는 것을 기대한다. 이는 결측이 아닌 값에 대해 생성을 한 경우, 실제 값과 유사하게 생성하도록 하며 결측값에 대해 생성한 경우 discriminator가 결측이 아닌 값으로 인식하는 것으로 이해할 수 있다. Discriminator의 목적식 경우 결측이 아닌 값(real)과 결측값(fake)를 잘 구분할 수 있어야한다. 따라서 mask matrix와 동일한 값을 출력하는 것을 기대하며 Cross Entropy Loss를 사용한다.
나는 해당 논문의 핵심을 Hint vector를 제안한 점과 imputation문제를 GAN에 접목시키기 위해 discriminator의 역할을 mask matrix예측 문제로 구성하였다는 점이다. 논문을 읽는 과정에서 hint vector의 유/무의 경우에 대해 추가적으로 고민해보았는데 이러한 고민들이 GAN의 adversarial한 특징을 이해하는데 큰 도움이 되었다고 생각한다. 또한 저자가 수식적으로 해당 알고리즘의 타당성을 입증하기 위해 다양한 방식으로 증명하고자 하였는데, 이를 이해하는 과정에서 어려운 부분들이 많았지만, 알고리즘 이해를 돕는데 좋은 참고자료로 활용되었다.
발표를 준비하는 과정에서 논문에 대해 이해한 내용을 최대한 잘게 쪼개어 자연스럽게 소개하는 것을 기대하였는데, 막상 세미나 시간에서는 알고리즘 설명에 급급하여 기대한 만큼 수식적으로 전달하지 못한 것 같아 아쉬움이 많이 남는다. 또한, 이해를 돕기 위해 코드를 직접 확인해보기도 했지만 선배들의 질문을 딥러닝 구동방식에 대해 앞으로는 더욱 고민해볼 필요가 있다는 생각이 들었다. 또한 실험결과에 대해 소개하는 과정에서 저자가 반복 실험을 한 이유에 대해 나는 generative model의 특성을 반영하기 위함(확률 값으로 모델링이 되기 때문)이라고 답변하였는데, 세미나 이후 딥러닝의 경우 파라미터 수가 많고, global optimal값이 보장되지 않는 점에서 반복 실험이 필요하다는 이유를 살펴볼 수 있었다. 다시 한 번 준비하는 과정에서 소소한 질문에도 적극적으로 함께 고민해준 선배들과 세미나 시간에 내가 고민해보지 못했던 부분에 대해 질문을 해준 연구실 인원들에게 모두 감사함을 전한다.
청취자 후기
데이터 분석을 하는데 결측치 문제는 항상 당면 과제이다. 금일 주제는 GAN 기법을 통해 결측치 문제를 다루는 GAIN 연구를 소개했다. 작년 ICML에서 발표된 논문이다. GAN 기법은 generator와 discriminator라는 두 학습모델이 균형있게 경쟁 학습을 통해 실제 데이터의 분포를 추정하는 generative model 이다. GAIN에서는 결측정보인 특정 column의 정보를 generator가 잘 생성할 수 있도록 hint라는 개념을 도입했다. hint는 학습과정에서 discriminator가 특정 column이 결측치였는지 여부를 일부만 알려줌으로써 generator가 결측치에 대해서 더 잘 학습할 수 있는 환경을 마련한다. 결측치를 다루는 문제에 있어서 좋은 대안으로 쓰일 수 있을 것 같다. 좋은 연구를 설명해준 지윤이에게 고마움의 인사를 전하며, 개인연구에도 큰 발전에 있기를 바란다.
Missing value imputation은 다양한 분야에 적용이 가능하다. 일반적으로 Imputation을 수행하는데 있어 각 변수별로 평균 또는 중앙값을 통해 일괄적으로 같은 값을 할당하거나 혹은 하나의 관측치에 대하 결측치가 하나라도 존재하는 경우 해당 관측치를 삭제하고 완전히 채워져 있는 관측치만을 대상으로 모델링을 수행한다. 기존의 방법은 요약된 하나의 값으로 변수의 특징을 설명하거나 관측치의 제거로 인하여 정보를 상실하기 때문에 데이터의 특징을 적절히 설명할 수 있는 모델을 구축하기에 어려운 부분이 있다. 본 세미나에서 다룬 GAIN은 GAN을 기반으로 missing value를 추정한다. 이과정에서 missing value 인 곳은 임의의 랜덤한 관측치로 채우고, missing value를 나타내는 hint matrix를 구성하여 변화를 주며 GAN의 generator가 데이터의 분포를 학습하고 학습된 분포를 기반으로 missing value를 추정하게 된다. Mixture data에 대해서는 generator에 추가적인 작업이 필요할 것으로 생각되나, 실제 사용측면에서 다양한 분야에서 필수적으로 사용이 가능하다는 점을 봤을 때 상당히 유익한 연구라 생각된다.
오늘 전체세미나는 ‘Missing Data Imputation using Generative Adversarial Nets’이라는 주제로 지윤이가 진행하였다. 결측치 대체를 위해 GAN을 활용한 연구로 다른 GAN기반 결측치 대체 연구와 차이점을 보이는 Hint matrix가 있다. Hint matrix는 GAN 내 Discriminator 학습 정도를 결정 짓는 트릭으로 볼 수 있다. 적당히 똑똑한 구별자를 만드는 것이 목적이다. GAN이 데이터 분포를 학습하고 그와 유사한 데이터를 생성하는 모델로 최근 이미지분야에 널리 이용되고 있는데 이러한 특성을 결측치 대체 방법론으로써 활용한다는 아이디어는 상당히 직관적이다. 때로는 우리가 예측하고자 하는 값도 관측되지 않는 경우도 있는데, 학습데이터가 부족한 상황에서 Semisupervised 학습문제에도 활용할 수 있다고 생각한다. 발표자는 GAN을 기반으로 관측치간 시계열 특성을 반영하기 위한 연구를 진행중이라고 한다. 우리 연구실에서 제조공정데이터를 접할 기회가 많은데, 관측치간 시계열 특성뿐만 아니라 변수간 순서가 중요하다. 순차적 변수를 효과적으로 반영 할 수 있는 방법이 필요하다고 생각하며 그 방법론을 고안하는 것도 흥미로울 것으로 생각한다. 그와 관련된 연구는 없는지 한번 살펴 보아야겠다.
GAN을 활용하여 결측치를 대체하는 방법론에 대한 발표였다. GAIN은 데이터의 분포를 학습하여 실제와 유사한 값을 생성하는 GAN의 특성을 결측치 대체에 잘 활용한 방법론이다. GAN은 알고리즘의 특성상 generator와 discriminator의 능력이 비등할 때 그 효과가 높게 나타나는데, GAIN에서는 이를 위해 discriminator에게 정답의 일부를 포함하는 hint matrix를 제공하였다. 이를 통해 discriminator의 능력을 보정해주어 generator가 성공적으로 결측치를 생성해 낼 수 있게 하였다. 이처럼 두 네트워크의 능력의 균형을 맞춰주는 작업을 직접적으로 수행한다는 점이 신선하게 다가왔다. GAIN은 또한 결측치가 해당 변수의 값, 다른 변수의 값과 모두 독립적으로 존재한다는 MCAR 가정을 전제로 한다. 모델 구축 시, 학습용 데이터가 충분히 많은 경우에는 MCAR 결측치가 존재하는 행을 단순히 삭제하여도 큰 문제가 없다. 하지만 완성된 머신러닝 모델이 처리해야할 새로운 데이터에 결측치가 존재할 경우 예측을 수행할 수 없는 문제가 발생한다. 이때 결측치가 MCAR 가정을 따른다면 GAIN을 유용하게 사용할 수 있을 것이다.
금일 세미나는 GAN과 결측치에 대한 기초 개념을 잘 훑어주어 이에 대해 다시 생각해 보는 시간을 갖을 수 있었다. 또한 기존 모델을 활용하여 창의적인 방법으로 새로운 문제를 해결하는 방식을 접할 수 있어서 매우 흥미로운 시간이었다.
오늘 세미나에서는 GAN을 이용한 Imputation 방법론 GAIN에 대해 설명을 들을 수 있었다. GAN은 데이터 분포를 학습하고 이를 잘 따르는 새로운 데이터를 생성해내는 방법이다. 이러한 개념을 이용해서 데이터가 결측되있는 부분에 기존의 관측치 분포를 잘 반영하는 값들을 채워넣는 방법론들이 제안되고 있다. 최근에는 Image 데이터의 일부분을 손상시키고 이를 복원하는 방식의 방법론들이 많이 제안되었다. 여러 가지 방법으로 Image를 손상시킨 후 이를 입력했을 때 최종적으로 완벽한 이미지가 출력되는 방법으로 알고리즘이 구성된다. 이 방법의 한계점이라고 한다면 완벽한 이미지가 굉장히 많이 존재해야 한다는 것이다. 하지만 실제 결측치 문제 상황에서는 이렇게 완벽한 데이터가 많지 않다. 따라서 다른 접근법이 필요하다. GAIN은 일단 Discriminator의 Output 구조를 바꿨다. 기존에는 Generate된 이미지가 참인지 거짓인지만 판별했다면 GAIN에서는 Generate된 개별 변수값이 참인지 거짓인지를 모두 판별한다. 그리고 이렇게 모두 판별하는 문제로 바꿨을 때 초기에 Discriminator가 이 모든 값을 판별하는 것이 너무 어렵기 때문에 Hint Matrix를 동시에 입력시킨다. 이 Hint Matrix는 Discriminator가 출력하는 Matrix의 정답 Matrix 일부분을 0.5로 대체해서 대체된 부분에 대해서 Loss가 발생하고 Generator가 Discriminator를 속일 수 있는 좀 더 좋은 값을 생성하도록 유도한다. 이러한 방식을 통해서 우리는 완벽한 데이터들을 가상으로 훼손시키지 않고, 결측이 있는 데이터 그대로 결측치 보정을 할 수 있는 모델을 만들 수가 있다. GAN을 이용한 실용적인 연구여서 관심이 많이 갔고, 모델 구성에 대한 아이디어와 검증 방법들 모두 흥미로워서 꾸준히 공부를 해보면 좋을 것 같다.
금일은 결측치를 대체하는 방법론 중 GAIN(Generative Adversarial Nets for Imputation)에 대한 주제로 세미나가 진행되었다. 먼저 방법론에 대한 설명에 앞서 결측치 종류에 대한 설명을 들을 수 있었다. 결측치는 random성과 그 특징에 따라 MCAR(missing completely at random), MAR(missing at random), MNAR(missing not at random)으로 구분할 수 있다. MCAR은 다른 개체에 영향을 받거나 영향을 주지 않는 가장 random성이 큰 결측치이고, MAR은 다른 변수의 dependency한 특징을 가지고 있어 특정한 기준을 가지고 예측할 수 있는 결측치이다. 마지막으로 MNAR은 특정 범위를 넘어가면 발생하는 결측치로 주로 제거 하고 사용할 수 있다. 이후 GAIN의 배경이 되는 GAN(Generative Adversarial Nets)에 대한 설명을 들을 수 있었다. GAN은 Discriminator와 Generator로 구성된 Network Model로 Generator는 진짜 같은 가짜를 생성하고, Discriminator는 Generator로 생성된 Output이 진짜인지 가짜인지를 판단하게 된다. GAN Model의 한계점은 결측치가 없는 완벽한 dataset을 Training data로, 결측치가 존재하는 dataset은 Test data로 나눠서 학습을 진행해야 한다는 점이다. 하지만 GAIN의 경우 결측치가 없는 완벽한 dataset을 Training data로 굳이 구분하지 않고 학습을 진행할 수 있다는 장점이 존재한다.
이번 세미나에서 가장 인상 깊었던 것은 Mask matrix와 Hint matrix의 사용이었다. Mask Matrix는 Imputed data와 실제 observed data를 구분할 수 있게 해주는 matrix이고, Hint matrix는 Mask matrix의 일부를 힌트로 제공해서 Model이 효과적으로 학습하게 해주는 matrix이다. 다시 말해 Hint Matrix는 정답지의 일부를 가려 Model이 정답을 찾는 것을 조금 어렵게 만들지만 더 효과적인 Output을 생성하게 해주는 것이다. 최근 과제를 진행하며 다양한 데이터를 보면서, 실제 존재하는 데이터는 많은 결측치가 존재한다는 것을 알 수 있었다. 그리고 이를 어떻게 처리해야 하는가에 대한 궁금증이 있었는데, 이번 세미나를 통해 자세한 설명을 들을 수 있고, 알고리즘 내 Hint Matrix라는 새로운 아이디어를 보면서 생각의 폭을 넓힐 수 있는 기회가 되었던 점도 좋았다. ‘결측치 대체 방법론’에 대해 자세하고 이해하기 쉽도록 발표를 준비해 준 지윤이에게 감사함을 표한다.
오늘 세미나 주제는 GAN 구조를 활용한 Imputation이었다. 기본의 GAN부터 차례로 설명되어서 이해하기에 수월하였다. 또한 어려운 수식에 대해서 ‘결국 이 수식의 결론이 무엇을 의미한다’라고 정리해 주어서 좋았던 것 같다. 처음 접하는 수식을 지루하지 않게 전달하는 것에 대한 나의 고민에 해답이 되었던 발표였다. Appendix를 보면 GAN구조를 이용한 Imputation 관련 논문을 오늘 소개한 논문 말고도 많이 공부하고 세미나를 준비 했다는 것이 느껴졌다. 하지만 마지막에 질문이 나왔듯 ‘복잡한 GAIN모델까지 사용하면서까지 왜 결측치 대체를 해야만 하는가?’에 대한 이유 설명이 조금 부족했다고 생각이 들었다. 저자가 Adversarial이란 개념을 도입하기위해 얼마나 많은 고민을 했는지 알 수 있었다. 결측이 존재하는 데이터로부터 Data matrix, Random, matrix, Mask matrix를 만들고 mask matrix부터 hint matrix를 만들어내는 과정, 또 hint matrix를 어떻게 만들어야 Discriminator와 Generator가 adversarial하게 학습하면서 Generator가 imputation을 모델로 학습될 수 있을지, loss는 어떻게 구해야 할 지 많은 고민이 필요했을텐대 알고리즘 프로세스만으로도 어려운걸 저자는 수많은 실험과 수식에 대한 증명까지 해낸 걸 보면 정말 대단하다고 느껴졌다. 이것을 다변량 시계열 데이터를 위해 변경시켜 본다는 지윤이의 연구 아이디어도 앞으로 훌륭하게 발전되길 바란다.
금일 세미나는 Missing Data Imputation using Generative Adversarial Nets를 주제로 지윤이가 발표하였다. 계속해서 많은 데이터가 쏟아지고 있지만 데이터 부분마다 결측치가 존재한다. 결측치에는 random 성을 기준으로 MCAR(Missing Completely At Random), MAR(Missing At Random), MNAR(Missing Not At Random) 종류가 있으며 MCAR에 중점적인 연구가 진행되고 있다. 이러한 결측치를 해결할 수 있는 방법을 GAN 모델을 통해 해결하고자 하는 것이다. GAN은 Generator, Discriminator 인 두개의 네트워크로 구성되어 있고 각각의 목적은 진짜 같은 가짜를 생성하고, 진짜와 가짜를 정확히 구분하는 것이다. 최종적으로 두 네트워크 내의 데이터 분포를 같게 만드는 것이다. 이렇게 GAN을 활용하여 데이터 내의 결측치를 대체하는 연구가 진행되고 있다. GAIN(Generative Adversarial Imputation Nets) 기법은 완전한 데이터가 불필요하고 결측치는 MCAR로 가정하여 Generator 에는 대체 값을 생성하고 Discriminator에서는 대체 값과 기존 데이터의 값을 구별하게 된다. Generator 네트워크의 input은 결측치가 존재하는 데이터와 Random matrix, Mask matrix가 들어가 Imputed matrix를 내보낸다. 여기에서 Mask matrix를 통해 Hint matrix가 만들어지며 Hint matrix와 Imputed matrix이 Discriminator 네트워크를 통해 예측된 mask matrix를 내보낸다. 최종적으로 Mask matrix와 예측된 Mask matrix의 Loss를 최소화 시키고 generator 네트워크의 성능을 높여주도록 한다. 오늘 세미나는 결측치 데이터를 어떻게 해결할 것인지, 해결하기 위해서 어떤 연구가 진행되고 있는지 알아보았다. 최근 공모전을 통해 실제 산업 데이터를 바라보고 결측치가 많은 데이터는 어떻게 대체할지에 대해 고민을 해본 경험이 있다. 아직까지도 데이터의 많은 부분에는 결측치가 존재하기 때문에 이를 대체하기 위한 연구가 진행될 필요를 세미나를 통해 느꼈다. 기회가 된다면 공부를 해볼 아주 흥미로운 주제였다. 오늘 세미나를 준비한 지윤이에게 고마움을 전한다.
금일 세미나는 ‘Missing Data Imputation using Generative Adversarial Nets’을 주제로 진행되었다. 결측치는 결측치의 속성에 따라 MCAR, MAR, MNAR로 나뉜다. 그 중에서 주로 연구되는 Deep Learning 기반 결측치 대체 연구 분야는 결측치의 완전 임의성을 가정하는 MCAR 이라고 한다. 결측치를 대체하기 위한 GAN 모델 역시 Generator – Discriminator 구조이다. Generator의 input은 missing value를 포함한 dataset이며, 학습을 통해 imputed dataset을 생성해낸다. Discriminator는 imputed dataset을 input으로 imputed data와 observed data를 구별해낼 수 있도록 학습된다. 이러한 GAN 모델은 이미지 데이터의 빈칸을 복원하는 작업에도 활용되는데, 학습 과정에서 결측치가 없는 완전한 데이터가 필요하다는 한계점이 있다. 이러한 한계점을 보완한 모델로 GAIN에 대한 설명이 이어졌다.
GAIN의 구조는 큰 틀에서는 일반적인 GAN model의 구조인 Generator – Discriminator 구조이다. 다만 학습 과정에서 Mask Matrix와 Hint Matrix를 활용한다는 점이 기존의 GAN과의 가장 큰 차이였다. Mask Matrix는 Generator의 학습에 있어서, Hint Matrix는 Discriminator의 학습에 있어서 결측값과 관측값에 대한 정보를 제공한다. Hint Matrix에서 Missing value에 어느 정도 가중치를 주느냐에 따라 discriminator의 성능이 달라지는데, Hint를 많이 주게 되면 Generator가 아무리 imputation을 observed data의 수준으로 잘 해도 Discriminator가 이를 구별해내게 되고, Hint를 적게 주면 극단적으로 Randomly imputed 해도 이를 구별해내지 못하게 된다. 따라서 반복실험을 통해 적절한 hint의 수준 H를 찾는 것이 중요하다. 논문의 저자는 0.7~0.8 정도에서 좋은 성능을 보였다고 한다.
기초적인 통계 분석에서부터 복잡하고 어려운 머신러닝과 딥러닝 모델의 학습까지 missing value를 처리하는 작업은 매우 중요하다. 이를 GAN으로 imputation하는 방법은 처음 알게 되어서 발표를 아주 흥미롭게 들을 수 있었다. 특히 발표자가 Missing value의 개념부터 GAN의 기초, 그리고 GAIN의 IDEA와 목적식 까지 하나하나 자세하게 설명해주어 이해하기도 쉬웠다. 개인적으로 관심 있는 recommender system에서도 가장 중요한 문제가 사용자가 아직 평가하지 않은(혹은 모르는) 아이템에 대한 선호도를 추정하는 것인데, GAN을 활용한 recommender system에 대한 연구도 이와 비슷할 것으로 생각된다. 앞으로 이 쪽을 공부해볼 생각인데 오늘 들었던 발표가 도움이 많이 될 것 같다. 좋은 세미나를 진행해준 지윤이에게 감사하다.
오늘 세미나는 Missing Data Imputation using Generative Adversarial Nets라는 주제로 진행되었다. Adversarial은 서로 대립 관계 에있는 이라는 뜻을 가지고 있는데 이 단어의 뜻을 생각해보면서 대립할 대상이 있다는 것을 알수 있었다. 기존 GAN은 Generator와 Discriminator가 서로 대립하면서 학습을 하여 모델이 발전해 나가는 것이다. 그리고 GAIN은 기존 GAN의 완전 데이터가 불필요한 점을 개선한 모델이다. 그리고 mask matrix를 Discriminator에게 hint를 준다는 것이 새롭게 느껴졌고 hint를 얼만큼 주냐에 따라서 Discriminator의 성능이 달라지기 때문에 hint의 비율을 어떻게 주느냐도 중요하다. 이러한 모델이 missing data를 완벽하게 만들어 준다면 보다 쉽게 data분석이 이루어 질것이라고 생각한다.
금일 세미나는 Generative Adversarial Imputation Networks(GAIN)이라는 알고리즘을 주제로 진행되었다. 오늘날 우리가 사용할 수 있는 데이터의 양이 늘어난 것은 사실이지만, 이를 활용하기 위해 데이터를 통합하거나 각각의 데이터 자체를 살펴보면 결측치가 존재하는 경우가 많다. 데이터가 매우 많을 경우 결측치가 있는 관측치를 제거하고 모델링을 수행하기도 하지만, 가능하다면 결측치를 채우는 것이 가장 이상적일 것이다. 금일 소개한 논문은 GAN의 구조를 이용해서 데이터의 결측치를 채우는 알고리즘에 관한 것이었다. 알고리즘에서 새로운 부분은 Random, Mask, Hint 행렬에 대한 것이었는데 Random은 노이즈를 주는 행렬이며 Mask, Hint 행렬을 통해 GAIN은 '결측치가 있는 데이터'만을 사용해도 전체 데이터의 분포를 어느정도 학습할 수 있다. 일반적으로 Imputation 연구에서는 결측치를 인위적으로 만들어서 실제값과 비교를 하는데, GAIN에서는 답안지가 필요없다는 점이 인상적이었다. GAIN을 이해하기 위한 배경 지식과 더불어 관련 수식들까지 발표자가 꼼꼼하게 준비했다는 것을 느꼈다.
오늘 세미나에서는 Generative Adversarial Networks(GAN)을 활용한 결측치 대체 방법론인 Generative Adversarial Imputation Networks(GAIN)을 다루었다. GAIN의 학습 프레임워크는 여타 GAN 기반 모델들과 유사하면서도, 그 아이디어가 매우 단순하고 직관적이다. Generator 네트워크가 결측치 대체를 수행하면, discriminator 네트워크는 모든 변수 값에 대해서 실제 값인지 혹은 generator에 의해 대체된 값인지 판별하도록 학습된다. 일반적인 GAN처럼 우리의 목표는 discriminator가 실제 값과 대체된 값을 구별하지 못하도록 좋은 generator를 학습하는 것이다. 개인적으로 본인도 연구를 하고 있는 분야이기 때문에 이론과 수식에 대한 자세한 설명을 들을 수 있어서 유익하였다. 결측치 대체라는 것이 실제 데이터 분석을 해보면 쓰임새가 아주 많다. 얼마 전 외부인사와 결측치 대체의 필요성에 대한 토론을 나눈 적이 있다. 그 분이 속한 분야에서는 데이터의 양이 워낙 방대하기 때문에 결측이 발생한 관측치는 과감히 제거한 후 분석한다고 한다. 물론 이렇게 불확실성을 줄이고 결측치 대체로 인한 수고스러움을 덜 수 있긴 하나, 의료 혹은 제조 등의 분야에서는 관측치 하나를 얻는데 많은 비용이 발생하기 때문에 단순 제거에 보수적일 수 밖에 없다. 이미지, 텍스트 등과 같이 방대한 양의 데이터를 쉽게 얻을 수 있는 시대의 흐름 때문인지 활발히 연구되고 있진 않으나, 결측치 대체 연구는 분명 필요하고 앞으로도 필요할 것이다. 논문 전반에 걸쳐 ‘왜 이런 방식을 택했을까?’에 대한 의문이 여럿 있고, 보완할 수 있는 부분도 보인다. 발표자의 말대로 합성곱신경망을 활용하여 시계열 데이터에의 적용으로 좋은 확장 연구를 하길 바란다.
금일 세미나는 ‘Missing Data Imputation using GAN’ 이라는 주제로 지윤이가 진행하였다. 결측치 대체는 매우 중요한 문제라고 생각한다. 모든 분석을 시행할 때, 데이터 셋에 대하여 결측치가 없는 상태여야만 분석을 진행 할 수 있기 때문이다. 결측치 대체 방법과 관련하여, 머신 러닝기반에 결측치 방법에 대하여 중점적으로 설명해주었다. 분포를 가정하지 않고 진행하는 머신러닝 기반의 대체방법들은 적용하기 쉬우나, 성능을 보장하기가 어렵다. 그래서 GAN기반의 결측치 대체 방법이 등장했다. 해당 방법은 결측치가 있는 행에 대해 미니 배치로 샘플링해서 같은 열의 자리끼리는 같은 분포를 보인다고 가정하고, GAN을 만들어 결측치를 대체하는 방법이다.
지금 진행하고 있는 공모전에 결측치가 있는 부분이 많이 빠져 있는 상황이다. 그래서 세미나의 내용에 관심이 많았다. 약 3개월 단위로 Target Value값이 빠져있어서 이를 채워야 하는 문제가 있다. Target이 비어 있다는 가정하에, 이를 대체하는 GAIN모델을 만든다면 좋은 성능을 낼 수 있을 것인지 궁금하다. 신입생들이 진행하고 있는 공모전에 대해 , 결측치 대체에 관해 힌트를 줄 수 있었던 세미나라고 생각했다. 발표를 진행해준 지윤이에게 감사를 표한다.
이번 세미나의 주제는 Generative Adversarial Imputation Networks이다. 즉 GAN을 활용하여 결측치(Missing Data)를 대체하는 방법이다. 현실 데이터를 분석하기 위해서 전처리를 진행할 때 중요한 부분 중 하나는 결측치를 처리하는 방법이다. 데이터가 매우 많으면 제거하고 사용하여도 되지만, 보통 한쪽이 매우 부족한 경우가 많다. 이럴 때 사용 할 수 있는 방법들이 많이 있는데 그 중에서도 기존의 GAN모델 구조에서 Generator와 Discriminator를 조금 다르게 학습시키는 방법을 사용하였다. 먼저 Generator의 경우에는 mask를 통해 어떤 부분이 결측치 인지 알려주고, mask를 통해 만든 hint를 Discriminator에게 추가로 알려주는 것이 다르다. 이 때 hint를 만들 때 mask의 정보를 얼마나 줄 것인지에 대한 파라미터가 생긴다. 파라미터에 대한 실험과 다른 결측치 예측 방법들과 비교한 실험 결과들도 나타내어 주었다. 특이한 점은 모델들을 비교할 때 정확도 뿐만 아니라 모델의 파라미터(w)들의 변화량을 비교했다는 것이다. 완전한 데이터로 만든 logistic regression 모델의 파라미터와, 결측치 대체를 한 값을 통해 만들어진 logistic regression 모델의 파라미터를 비교하였다. 이번 공모전에서도 결측치가 있는 데이터를 사용하였는데 대부분 제거하거나 단순한 방법으로 대체하는 방법을 사용하였다. 여유가 좀 더 있었다면 여기 나온 여러 방법들을 사용할 기회가 있었을 것 같아 아쉬운 마음이 든다. 결측치 대체에 대해 많은 고민이 있었고, 여러 방법들을 생각했다는 것을 느낄 수 있었다.
금일 세미나는 Generative Adversarial Imputation Network에 대한 내용을 주제로 진행되었다. 결측치가 있음에도 불구하고 미래 데이터를 생성하는 모델 중 하나로, 일반적인 Generative Adversarial Network(GAN)를 변형하여 구성된 모델이다. GAN 모델은 generator와 discriminator를 동시에 적대적으로 학습시키는 구조로 되어 있다. 하지만, 일반적으로d discriminator가 generator보다 훨씬 빠르게 학습되어 원하는 결과를 얻기가 어렵다. 따라서 오늘 소개된 GAIN은 이 문제점을 해결하기 위해 Hint matrix를 discriminator에 입력시킴으로써 discriminator의 아웃풋 값을 변형시킨다. 이 아웃풋 값은 결국 generator를 속일 수 있는데 도움을 주게 된다. 최근에 한 프로젝트에서도 적은 양의 데이터로 새로운 데이터를 생성하기 위해 GAN을 적용해 보았는데, discriminator가 generator에 비해 상대적으로 빠르게 학습되었던 경험이 있다. 그 당시에는 pre-training 등 관련 trick을 사용해보려는 시도가 있었는데, GAIN의 알고리즘을 적용하여 문제를 푸는 방법을 고민해 보았다. 또한, 도메인 특성에 따라 hint matrix가 구성되는 방법이 여러가지 일 것 같다. 이와 관련하여 hint matrix가 갖고 있는 도메인 별 상징성에 대하여 고민해보는 시간이 필요하겠다.
금일 세미나는 GAN모델을 활용해서 결측치 대체 문제를 해결한 연구 소개이다. GAN은 Generator 모델과 Discriminator 2가지 모델로 구성되어 있는데 본 연구에서는 Generator가 결측치가 존재하는 데이터를 바탕으로 결측치가 없는 데이터(Fake)를 생성하고, Discriminator가 결측치가 대체된 데이터에 대해 True/Fake를 구별하는 역할을 하였다. 제안된 모델의 흥미로운 부분은 Discriminator의 인풋으로 Generator의 아웃풋과 함께 결측의 유무 정보를 반영하는 Hint Vector가 유입되어 Discriminator 입장에서는 말 그대로 Hint로서 사용되고, 전체적으로 Generator 입장에서는 좀 더 효과적으로 Fake 데이터를 생성 할 수 있음을 나타내었다. 하지만 기존 GAN과 달리 결측치에 대한 실제 값을 사용 할 수 없기에 실질적으로 결측치를 효과적으로 대체 할 수 있는지 이론적으로 명확하지 않다고 여겨진다. 앞으로도 다양한 이슈가 존재 할 것으로 여겨지고 계속적인 연구가 필요할 것으로 생각된다.
오늘 세미나는 지윤이가 “Missing Data Imputation using Generative Adversarial Nets”이라는 주제로 발표를 진행하였다. 우리는 흔히 산학 프로젝트를 진행하다 보면 현실에서 수집한 데이터이기 때문에 다양한 이유로 인해 결측치를 필연적으로 마주친다. 이러한 결측치는 크게 3가지로 분류할 수 있는데 Missing completely at random, Missing at random, Missing not at random으로 정의한다. 이러한 결측치는 매우 흔히 발견할 수 있기 때문에 결측치를 채워 넣기 위한 연구는 활발히 진행되고있다. 오늘 지윤이는 많은 연구 중에서 Generative model을 base로 한 GAIN을 설명해주었다. GAIN은 GAN과 매우 비슷한 구조로 되어 있지만, Mask matrix, Hint matrix가 가장 중요한 아이디어다. Mask matrix와 Hint matrix은 구조에서 매우 중요한 역할을 한다. Hint matrix는 Generator와 Discriminator 중 Discriminator에 Hint를 주어 Generator 모델을 더 강력하게 만드는데 일조한다. 처음부터 차근차근 설명해주고 자세히 설명해주어 유익한 세미나였다. 지윤이에게 감사한 마음을 전하고싶다.
금일 세미나에서는 지윤이가 GAN을 이용한 missing value imputation을 주제로 GAIN: Missing Data Imputation using Generative Adversarial Nets 논문에 제안된 연구를 소개했다. 제안된 방법론은 이미지나 시그널이 아닌 다변량 데이터의 결측치를 채우는 것을 목표로 한다. 이를 가능하도록 하기 위해 저자는 GAN 프레임워크에 hint matrix라는 것을 제안했다. Generator는 결측된 값을 추정하여 채울 수 있도록 하는 역할을 하고, discriminator는 다변량 데이터의 NxP 행렬의 각 원소가 실제 값인지 아니면 generator에 의해 추정된 값인지 판단하는 역할을 한다. 이렇게 하는 것만으로도 GAN을 이용해 결측값을 추정할 수 있는 모델링이 완성되게 된다. 하지만 저자는 보다 성능을 향상 시키기 위해 discriminator에 hint matrix를 함께 입력시킨다. Hint matrix는 결측값이 존재하는 영역과 그렇지 않은 영역을 구분하는 이진 행렬에서 일부 영역에 대해 무작위로 0.5의 값으로 치환한 행렬이다. 이로써 discriminator는 hint matrix가 없는 경우 보다 결측값인지 실측값인지 잘 판단하게 한다. 또한 일부 영역에 0.5의 값으로 정답을 일부 가린 정보를 입력함으로써 discriminator가 너무 강력해져 generator가 학습되지 않는 현상을 예방한다. 결측값을 채워야 하는 문제는 분석 과정에서 흔히 발생하는데 GAN으로 가능하게 했다는 부분이 신선했다.