본문 바로가기
머신러닝

오토인코더, GAN(생성적 적대 신경망), 확산 모델의 개념

by 프로그래밍하겠습니다 2025. 4. 24.
728x90
반응형

🎶 오토인코더, GAN, 확산 모델의 개념에 대해 살펴보자.

1. 오토인코더

오토인코더(autoencoder)는 지도 방식을 사용하지 않고도 잠재 표현 또는 코딩이라고 부르는 입력 데이터의 밀집 표현을 학습할 수 있는 인공 신경망을 말한다. 코딩은 일반적으로 입력보다 훨씬 낮은 차원을 갖기 때문에, 오토인코더는 차원 축소 혹은 시각화에 유용하게 사용된다.

일부 오토인코더는 훈련 데이터와 매우 비슷하면서 새로운 데이터를 생성할 수 있는, 생성 모델로써의 역할도 수행할 수 있다. 예로 얼굴 사진으로 오토인코더를 학습시키면 이 모델은 새로운 얼굴을 생성할 수 있게 되는 것이다.

오토인코더는 단순히 입력을 출력으로 복사하는 방법을 배우는데, 다양한 방법을 통해 네트워크에 제약을 가해 단순히 입력을 출력으로 바로 복사하지 못하도록 막고 데이터를 효율적으로 표현하는 방법을 배우도록 한다.

autoencoder
[사진1] 오토인코더 - 출처 : Autoencoder schema - Autoencoder - Wikipedia

 

2. GAN(generative adversarial networks) 이하 생성적 적대 신경망

신경망 두 개로 구성되는 모델로써, '생성자(generator)'는 훈련 데이터와 비슷하게 보이는 데이터를 생성하며, '판별자(discriminator)'는 가짜 데이터와 진짜 데이터를 구분하는 역할을 맡는다.

이 모델의 구조는 신경망이 훈련하는 동안 생성자와 판별자가 서로 경쟁을 하게 되는데, 이러한 훈련 방법을 '적대적 훈련(adversarial training)'이라고 부른다.

GAN
[사진2] GAN - 출처 : Generative adversarial network - Generative adversarial network - Wikipedia

 

3. 확산 모델(diffusion model)

GAN보다 다양하고 고품질의 이미지를 생성하면서도 훨씬 더 쉽게 훈련할 수 있게 해주는 모델로써, 대표 모델 중 하나인 잡읍 제거 확산 모델(DDPM)은 모델은 이미지에서 아주 작은 잡음을 제거하도록 훈련된다.

 

다음 포스트에서는 각 모델을 python으로 직접 구현해보고 더 구체적인 내용에 대해 알아보도록 하겠다.

 

728x90
반응형