새로운 인공지능 기술 GAN ① - 스스로 학습하는 인공지능

새로운 인공지능 기술 GAN ① - 스스로 학습하는 인공지능

인공지능을 소프트웨어적으로 구현하는 머신러닝(Machine learning)은 컴퓨터가 데이터를 학습하고 스스로 패턴을 찾아내 적절한 작업을 수행하도록 학습하는 알고리즘입니다. 머신러닝은 크게 지도학습 (Supervised learning), 비지도학습 (Unsupervised learning), 강화학습 (Reinforcement learning)등으로 분류됩니다.

머신러닝의 분류 머신러닝의 분류

이중 첫째, 지도학습은 정답이 주어진 상태에서 학습하는 알고리즘을 의미합니다. 예를 들어 수많은 고양이와 기린의 사진을 주고 각 사진이 고양이인지 기린인지 하나하나 정답을 알려준 후 어떤 사진을 주었을 때 고양이인지 기린인지 알아맞힐 수 있도록 하는 것이죠.

지도학습의 목적은 분류(classification)와 회귀생성(regression)입니다. 분류는 위에서 예로 들었던 고양이와 기린을 구별해내는 것처럼 어떤 데이터를 적절한 유한개의 클래스로 분류하는 것을 의미합니다. 구체적으로, 두 개의 클래스로 분류하는 이진 분류(binary classification)와 셋 이상의 여러 개의 클래스로 분류하는 다중 분류(multiclass classification)로 나뉩니다. 회귀생성은 데이터의 특징을 기반으로 연속적인 값을 예측하는 것을 말하며 일반적으로 연속적인 숫자(벡터)를 예측하는 데에 사용됩니다. 예를 들어 사람들의 몸무게, 성별, 나이와 같은 데이터로 키를 예측하는 문제가 여기에 해당되죠. 최근 딥러닝을 활용해 전혀 새로운 이미지를 만들거나 목소리를 합성 (Text-to-speech) 하는데 이때 회귀생성이 사용되고 있습니다.

지도학습의 학습방식 지도학습의 학습방식

비지도학습은 정답이 주어지지 않은 상태에서 학습하는 알고리즘이며 최근 집중적으로 연구되고 있는 분야입니다. 오랜 시간 동안 연구되어온 가장 대표적인 비지도학습에는 군집화(clustering)가 있습니다.

예를 들어 아래의 예시와 마찬가지로 동물을 잘 알지 못하는 사람에게 고양이와 기린으로 구성된 동물 사진들을 보여준다고 가정합시다. 이때, 어떤 사진이 고양이고 어떤 사진이 기린인지 알려주지 않더라도 사람들은 노랗고 얼룩무늬가 있고 목이 긴 동물과 그렇지 않은 동물로 구분할 수 있을 것입니다. 이렇게 하나하나 정답을 주지 않더라도 데이터의 특성을 파악하여 비슷한 사진끼리 분류하는 것을 군집화라고 합니다. 다시 말해, 비지도학습은 정답이 주어져 있지 않은 데이터의 특성을 학습하여 스스로 패턴을 파악하는 것을 의미합니다.

지도학습과 비지도학습의 궁극적인 목표 중 하나는 데이터를 기반으로 미래를 예측하는 것입니다. 하지만 지도학습은 정답이 주어진 데이터만을 사용할 수 있기 때문에 사용할 수 있는 데이터의 양에 한계가 있습니다. 이에 따라 대부분의 인공지능 전문가들은 미래의 인공지능 기술은 지도학습이 아닌, 비지도학습이 선도하게 될 것이라고 전망합니다. 그리고 이러한 비지도학습의 가장 대표적인 선두주자로는 Generative adversarial network (GAN)이 있습니다.

비지도학습의 학습방식 비지도학습의 학습방식

비지도학습 GAN은 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다는 점에서 단순한 군집화 기반의 비지도학습과 차이가 있습니다.

일단, GAN을 이해하기 위해서는 확률분포의 개념을 확실히 알고 넘어가야 하는데, 그 이유는 우리가 GAN에서 다루고자 하는 모든 데이터는 확률분포를 가지고 있는 랜덤변수(Random Variable)이기 때문입니다. 가령 2차 방정식에서 미지 수 X를 변수라 부르고, 이를 대입해 방정식을 풀면 미지수 X는 특정한 수가 됩니다. 그러나, 랜덤변수는 측정할 때마다 다른 값이 나옵니다. 하지만, 특정한 확률분포를 따르는 숫자를 생성하므로, 랜덤변수에 대한 확률분포를 안다는 이야기는 랜덤변수 즉 데이터에 대한 전부를 이해하고 있다는 것과 같습니다.

예를 들어, 확률분포를 알면 그 데이터의 예측 기댓값, 데이터의 분산을 즉각 알아낼 수 있어 데이터의 통계적 특성을 바로 분석할 수 있으며, 주어진 확률분포를 따르도록 데이터를 임의 생성하면 그 데이터는 확률분포를 구할 때 사용한 원 데이터와 유사한 값을 가집니다. 즉, GAN과 같은 비지도학습이 가능한 머신러닝 알고리즘으로 데이터에 대한 확률분포를 모델링 할 수 있게 되면, 원 데이터와 확률분포를 정확히 공유하는 무한히 많은 새로운 데이터를 새로 생성할 수 있음을 의미합니다.

GAN은 2014년 NIPS에서 Ian Goodfellow가 발표한 회귀생성 모델로서 분류를 담당하는 모델(판별자 D)과 회귀생성을 담당하는 두 개의 모델(생성자 G)로 구성되어 있습니다. 두 모델은 GAN이란 이름에서 쉽게 알 수 있듯이, 생성자 G와 판별자 D가 서로의 성능을 개선해 적대적으로 경쟁해 나가는 모델입니다. 쉽게 말해 경찰과 지폐 위조범의 대립과 같은 방식으로 이해할 수 있습니다.

지폐 위조범(생성자 G)은 경찰(분류자 D)을 최대한 열심히 속이려고 하고, 다른 한편에서는 경찰은 이렇게 위조된 지폐와 진짜 지폐를 두고 분류하기 위해 노력합니다. 이러한 경쟁이 지속적으로 학습되면 결과적으로는 진짜 지폐와 위조지폐를 구별할 수 없을 정도의 상태가 되며, 진짜와 거의 차이가 없는 가짜 지폐를 만들어 낼 수 있습니다. 수학적으로 생성자 G는 앞에서 말한 원 데이터의 확률분포를 알아내려고 노력하며, 학습이 종료된 후에는 원 데이터의 확률분포를 따르는 새로운 데이터를 만들어 내게 됩니다.

GAN에서 학습을 통해 확률분포를 맞추어 나가는 과정 - Ian.J.Goodfellow의 'Generative Adversarial Networks' 논문 인용 GAN에서 학습을 통해 확률분포를 맞추어 나가는 과정
- Ian.J.Goodfellow의 'Generative Adversarial Networks' 논문 인용

위의 (a)~(d) 그래프에서 원 데이터의 확률분포가 학습이 거듭 진행됨에 따라 GAN이 만들어 내는 확률분포와 거의 동일해 짐을 볼 수 있습니다. 이렇게 되면 파란색 점선인 분류자 D는 더 이상 분류를 해도 의미가 없는 0.5라는 확률 값을 뱉어내게 되죠. 이것은 동전을 던져서 앞면을 진실, 뒷면을 거짓이라고 했을 때, 진실을 맞출 확률이 0.5가 되는 것처럼 GAN에 의해 만들어진 데이터가 진짜 인지 가짜인지 맞출 확률이 0.5가 되면서 분류자가 의미 없게 되는 겁니다. 결론적으로 생성자 G가 실제 데이터와 거의 유사한 데이터를 만들어 낼 수 있는 상황이 되었음을 의미하죠.

지금까지 머신러닝 개념 중 지도학습과 비지도학습에 대해 알아보았습니다. 다음 아티클에서는 비지도학습 GAN의 생성자 G와 분류자 D를 어떻게 정의해서 학습시키는지, 그리고 어떻게 데이터를 생성해 내는지에 대해 상세히 소개하겠습니다.


* ICON 출처
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY




▶   해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에 저작권이 있습니다.
▶   해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

공유하기
장준혁 교수
장준혁 교수 인공지능 전문가
한양대학교 융합전자공학부

장준혁 교수는 한양대학교 융합전자공학부 교수로 재직 중입니다. 인공지능 딥러닝 및 음성인식 분야의 권위자로 Elsvevier Digital Signal Processing 편집위원, 한국통신학회 신호처리연구회 위원장 등 폭넓은 활동을 전개하고 있으며, AI스피커 연구, 딥러닝 음성인식, 바이오진단 등의 분야에 연구를 진행하고 있습니다.