본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

딥러닝(Deep Learning) (3) - 생성적 대립 신경망(GAN; Generative Adversarial Network)

by neo-Lee 2023. 5. 25.

5. 생성적 대립 신경망(GAN; Generative Adversarial Network)

  생성적 대립 신경망(GAN; Generative Adversarial Netwrok)은 생성기(Generator)와  판별기(Discriminator)가 경쟁하면서 실제와 가까운 이미지, 동영상, 음성 등을 자동으로 만들어 내는 머신러닝(ML) 학습 방식의 하나로서, 두 개의 신경망(생성기와 판별기)을 조합하여 비지도학습(unsupervised learning)을 진행하면서 입력된 데이터와 유사한 데이터를 생성할 수 있는 생성계를 구성하는 시스템입니다. GAN을 이용하면 주어진 이미지 데이터를 사용해 학습을 진행하여 주어진 이미지 데이터와 유사한 새로운 이미지 데이터를  생성하는 이미지 생성계를 얻을 수 있습니다.

   참고로 생성적 대립 신경망은 몬트리올대학교 요슈아 벤지오(Yoshua Bengio) 교수 연구팀에서 고안되어 2014년 신경정보처리시스템(NIPS : Neural Information Processing Systems) 학회에서 발표되었으며, 당시 대학원생이던 이안 굿펠로우(Ian Goodfellow)가 주도적인 역할을 하였다고 합니다.

 

(그림) 생성적 대립 신경망(GAN) 출처: 한국정보통신기술협회

 

    생성적 대립 신경망(GAN)은 확률 분포를 학습하는 생성기(Generator)와 서로 다른 집합을 구분하는 판별기(Discriminator)로 구성됩니다(상기 그림 참조). 생성기(또는 생성모델)는 가짜 예제를 만들어 판별모델을 최대한 속일 수 있도록 훈련하며, 판별기(또는 판별모델)는 생성기가 제시하는 가짜 예제와 실제 예제를 최대한 정확하게 구분할 수 있도록 훈련합니다.  이와 같이 판별기(Disciminator)를 속일 수 있도록 생성기(Generator)를 훈련하는 방식을 대립적 프로세스라고 합니다.

    생성적 대립 신경망(GAN)을 이용하여 이미지 생성 시스템을 구축하는 경우를 예를 들어 보겠습니다. 생성적 대립 신경망(GAN)생성기판별기를 각각 독립적으로 학습시킵니다. 

    우선 판별을 위한 신경망인 판별기(Discriminator) 학습 목표는 학습 데이터로 주어진 진짜 이미지 데이터와 생성계인 생성기(Generator)가 생성한 가짜 이미지 데이터를 정확하게 구분하는 것입니다. 그러기 위해 판별기의 신경망을 지도학습으로 학습시킵니다. 이때 학습 데이터로 주어진 진짜 이미지 데이터에는 '데이터 1'을 주고, 생성기(Generator)에서 생성된 가짜 이미지 데이터에는 '데이터 0'을 주고 학습합니다. 

    생성기(Generator)의 학습 방법을 살펴보면, 생성기는 학습 데이터로 주어진 이미지와 비슷한 이미지 생성을 목표로 학습을 진행합니다. 그러기 위해 생성기와 판별기의 두 가지 네트워크를 모두 사용해서 학습을 진행하며, 구체적인 학습 목표는 판별기의 출력이 1이 되는 이미지, 즉 판별기가 속아서 진짜 이미지로 판단하는 이미지를 생성할 수 있도록 하는 것입니다. 그래서 생성기가 학습할 때는 판별기(Discriminator)의 내부 매개변수를 전혀 바꾸지 않은 상태에서 학습을 마친 판별기로 취급하여 그 출력이 1이 되도록 학습을 진행합니다.

   이런 방식으로 생성기판별기를 각각 학습시키면 학습 데이터로 주어진 이미지와 비슷한 이미지가 생성됩니다. 이렇게 생성적 대립 신경망(GAN)은 생성기와 판별기를 대립적 프로세스를 통해 실제 학습 모델의 이미지와 매우 비슷한 유사품(실제 같은 가짜)을 생성합니다.

    생성적 대립 신경망(GAN)은 심층 신경망(DNN)을 이용해 동일한 분야에서 수집한 실제 예제들의 잘 드러나지 않는 공통된 특징을 찾아 학습합니다. 따라서 GAN을 이용하면 매우 정교한 위조 동영상이나 이미지를 컴퓨터가 쉽고 빠르게 자동으로 만들어낼 수 있습니다. 

 

728x90

댓글