본문 바로가기

Personal/AI, Big Data

GAN(Generative Adversarial Networks) 생성적 적대 신경망

생성적 적대 신경망(GAN: Generative Adversarial Network) 이란?

소위 심층학습의 4대 석학 중 한 명인 요슈아 벤지오(Yoshua Bengio) 몬트리올대 교수의 제자인 이안 굿펠로우(Ian Goodfellow)가 2014년 신경정보처리시스템 학회(Neural Information Processing System)에서 처음 소개됐다.

 

비지도 학습에 사용되는 인공지능 알고리즘이다. (딥러닝)

제로섬 게임 틀 안에서 서로 경쟁하는 두 개의 신경 네트워크 시스템에 의해 구현된다.

진위를 감별하는 알고리즘과 새로운 이미지를 만드는 알고리즘을 서로 경쟁시키듯 학습시키면서 진짜 이미지와 가짜 이미지의 오차를 줄여 진짜 같은 가짜를 만들어 내는 원리이다.

 

GAN에는 최대한 진짜 같은 데이터를 생성하려는 생성 모델과 진짜와 가짜를 판별하려는 분류 모델이 각각 존재하여 서로 적대적으로 학습한다.

 

적대적 학습에서는 분류 모델을 먼저 학습시킨 후, 생성 모델을 학습시키는 과정을 서로 주고받으면서 반복.

분류 모델의 학습은 크게 두 가지 단계로 이루어져 있습니다.

1. 실제 데이터를 입력해서 네트워크가 해당 데이터를 진짜로 분류하도록 학습시키는 과정.

2. 첫 번째와 반대로 생성 모델에서 생성한 가짜 데이터를 입력해서 해당 데이터를 가짜로 분류하도록 학습하는 과정.

 

이 과정을 통해 분류 모델은 진짜 데이터를 진짜로, 가짜 데이터를 가짜로 분류할 수 있게 된다.

분류 모델을 학습시킨 다음에는 학습된 분류 모델을 속이는 방향으로 생성 모델을 학습시켜줘야 한다.

생성 모델에서 만들어낸 가짜 데이터를 판별 모델에 입력하고, 가짜 데이터를 진짜라고 분류할 만큼 진짜 데이터와 유사한 데이터를 만들어 내도록 생성 모델을 학습시킨다.

 

이와 같은 학습과정을 반복하면 분류 모델과 생성 모델이 서로를 적대적인 경쟁자로 인식하여 모두 발전하게 됩니다. 결과적으로, 생성 모델은 진짜 데이터와 완벽히 유사한 가짜 데이터를 만들 수 있게 되고 이에 따라 분류 모델은 진짜 데이터와 가짜 데이터를 구분할 수 없게 됩니다.

 

즉, GAN은 생성 모델은 분류에 성공할 확률을 낮추려 하고, 분류 모델은 분류에 성공할 확률을 높이려 하면서 서로가 서로를 경쟁적으로 발전시키는 구조이다.

 

GAN의 주요 응용분야는 이미지 생성과 복원, 동작을 흉내 내는 인공지능, 신약 개발 등이 있다.

 

GAN 단점

-> 생성자와 분류자가 대결하여 학습하는 구도인 만큼 학습이 불안정하다.

-> 두 모델 간 실력차가 발생하는 경우 훈련이 한쪽에 치우쳐 궁극적으로 성능이 제약된다.

 

GAN 활용 사례

1. 오바마 전 미국 대통령의 가짜 영상

2. 페이스북에서 개발한 Real-eye-opener 찍는 순간 실수로 눈을 감아 사진을 망친 경우 가짜 눈을 생성하여 눈을 뜨고 있는 사진으로 만들어주는 기술이다. GAN을 통해 눈을 합성해준다.

3.어떤 사진을 주였을 때 모네 화풍의 그림으로 만들어내기도 하고, 모네의 그림을 사진으로 변환해내기도 한다.

4. 의료분야에서는 암 진단에 탁월한 성과를 보인 인공지능을 개발했다. 이미지 패턴 매칭 기능으로 다양한 종류의 암 진단을 할 수 있도록 학습시킬 수 있어서, 암의 징후와 이상신호를 탐지하는 데 활용했다.

5. 세상을 떠난 가수의 모습을 복원해 후배 가수와 함께 하는 무대

6. 화질이 선명하지 않은 사진은 GAN을 통해 복원하는 기술

 

출처

https://ko.wikipedia.org/wiki/%EC%83%9D%EC%84%B1%EC%A0%81_%EC%A0%81%EB%8C%80_%EC%8B%A0%EA%B2%BD%EB%A7%9D

https://www.bloter.net/newsView/blt201806080001

https://spri.kr/posts/view/21883?code=industry_trend