▶ GAN (Generative Adversarial Networks)
적대적 생성 신경망
2014년에 이안 구펠로우가 발표한 신경망 구조
2개의 신경망인 생성자(Generator)와 판별자(Discriminator)로 구성되어 있다.
생성자(Generator) | 판별자(Discriminator) |
입력 데이터를 받아 실제 데이터와 비슷한 새로운 데이터를 생성한다. 무작위적으로 주어진 노이즈를 이용하여, 실제 데이터와 비슷한 가짜 데이터를 생성하는 것이 목표이다. |
생성자가 생성한 가짜 데이터와 실제 데이터를 구별하는 역할을 한다. 이진 분류기로서 입력된 데이터가 실제인지(Class1) 가짜로 생성된 데이터인지 (Class 0)를 판별한다. |
생성자는 학습 초기에 실제 데이터와 비슷한 데이터를 만드는데 실패할 수 있다. 그런데 판별자가 이것을 식별하고, 생성자는 점차적으로 판별자를 속일 수 있는 방법을 학습하게 된다. 이 과정을 통해, 생성자가 실제 데이터와 거의 구별이 안되는 가짜 데이터를 생성하게 되고, 판별자는 이것을 식별하기 어렵게 되는 최적의 상태가 된다.
▷ GAN의 적용
사람같은 얼굴 만들기 | GAN을 사용하여 실제와 거의 구별할 수 없는 가짜 얼굴 이미지를 생성할 수 있다. 가상의 인물을 생성하거나, 얼굴 인식 시스템의 성능을 향상시키는 것도 가능하다 |
유명한 애니메이션 만들어내기 | GAN을 사용하여 유명한 애니메이션 캐릭터의 새로운 이미지도 만들 수 있다. 새로운 캐릭터 디자인을 만들거나, 애니메이션 제작 과정에서 비용과 시간을 절약할 수 있다. |
고양이 만들기 | 현실적인 고양이 이미지를 생성할 수 있다. 이를 통해 가상 혹은 캐릭터 고양이를 만들거나, 고양이 관련 제품의 디자인과 마케팅에 활용할 수 있다. |
이미지 변환 (Image Translation) |
GAN을 사용하여 한 도메인에서 다른 도메인으로 이미지를 변환할 수 있다. 예를 들어, 말의 이미지를 얼룩말로 변환하거나, 여름 풍경을 겨울 풍경으로 변환하는 등의 작업이 가능다. |
스케치 리얼리즘화 (Sketch Realismization) |
간단한 스케치를 현실적인 이미지로 변환할 수 있다. 이를 통해 미술 작품의 완성도를 높이거나, 디자인 과정에서 스케치를 시각화하는 등의 용도로 활용할 수 있다. |
이미지 애니메이션 (Image Animation) |
정적인 이미지를 움직이는 이미지로 변환할 수 있다. 예를 들어, 모나리자의 얼굴을 움직이게 하거나, 동물의 움직임을 시뮬레이션하는 등의 작업이 가능하다. |
3D 물체 디자인 (3D Object Design) |
GAN을 사용하여 3D 물체의 디자인을 생성할 수 있다. 이를 통해 의자, 자동차, 소파, 테이블과 같은 다양한 3D 물체를 디자인하거나, 가상 공간에서의 시뮬레이션 및 가상 현실(VR) 환경 구축에 활용할 수 있다. |
▷ GAN 예시
위조지폐범과 경찰
위조 지폐범 / 생성자 | 경찰 / 판별자 |
실제 데이터와 비슷한 가짜 데이터를 생성하려고 한다. | 실제 데이터를 기반으로, 진짜와 위조를 구별하는 역할을 한다. 진짜인지 위조인지 판별하여 위조된 데이터를 식별하고 이것을 차단한다. |
GAN은 생성자와 판별자 2가지 요소를 활용하여 진짜와 구별하기 어려운 가짜 데이터를 생성하고, 판별자가 이것을 감지하도록 학습한다. 이 과정을 통해 생성자는 점차적으로 실제 데이터와 구별할 수 없는 가짜 데이터를 만드는 능력을 향상시키며, 판별자가 이것을 구별하기 어렵게 만드는 학습을 진행한다.
'인공지능, 머신러닝 > Concepts' 카테고리의 다른 글
(PT) Deep learning modeling for PM10 concentration prediction (0) | 2024.02.23 |
---|---|
Inverse Design (0) | 2024.02.23 |
Image processing (0) | 2024.02.23 |
VAE (Variational Auto-Encoder) (0) | 2024.02.23 |
DFT Modeling (0) | 2024.02.23 |