Bamboo is coming

생성형 모델 본문

인공지능 개념

생성형 모델

twenty 2023. 10. 4. 17:08

생성형 모델은 분포를 기반으로 학습시켜 최대한 유사한 분포가 나오도록 하는 것이 목표

 

1. 잠재 변수(latent variable)

데이터 분포를 만드는데에 영향을 끼치는 변수

 

Generative Model은 데이터에서 숨겨진 잠재 변수를 학습할 수 있다. 

다차원 데이터 세트를 처리하고 비선형 함수를 조합하여 학습을 시킨다. 따라서 어떤 데이터의 잠재변수를 알아내면 이를 통해 유사한 데이터를 생성해낼 수 있다. 

 

따라서 많은 주행 이미지 데이터를 학습 시키고 잠재 변수에 의하여 유사한 데이터를 생성하면 데이터의 생성 분포를 알 수 있고, 분포의 가장자리에 있는 곳이라고 판단 되었을 때 이상치라 판별한다.

 

여기서 잠재변수의 근간이 되는 아이디어가 주성분분석(Principal component analysis; PCA)이다. 

2. 주성분 분석 (Principal component analysis; PCA)

 

주성분 분석을 사용하면 선형 벡터의 조합으로 변수의 차원을 줄일 수가 있다. 

출처 – 이지환 교수, 딥러닝과인공지능 자료

 

하지만 그림과 같이 주성분 분석은 변수의 선형적인 관계만을 표현 하기 때문에 

비선형적인 관계를 표현하기 위하여 딥러닝에서는 AutoEncoder를 사용합니다.

 

3. AutoEncoder

 

 

AutoEncoder에 대하여 간단히 설명 드리면 실제 입력을 자체 인코딩하여 잠재변수를 구축하는 단순하고 기본적인 Generation Model이다. 

잠재 공간에 대한 레이블이 없는 unsupervised problem이므로 데이터 자체를 label로 활용하여 원시 데이터를 입력해주면 (Original input) Encoder에게는 잘 압축하는 방법을,  Decoder에게는 잘 압축된 표현 방식, 즉 잠재공간 (Compressed representation)를 보고 낮은 차원 잠재 공간에서 시작하여 원본 이미지를 실제로 재구성(Reconstructed input) 방식을 학습시켜 디코더 네트워크를 구축하도록 동작하게 됩니다.

 

 

 

따라서 오토인코더의 손실함수는 원래 Input  x와 재구성된 Output \(\hat x \)을 보고 단순히 둘을 비교하여 이 두 이미지 사이 거리를 최소화(평균 제곱 오차)를 합니다.

 

4. 잠재 공간의 차원

잠재 공간의 차원이 높을 수록 위 그림에서 50번째에 가까워 정보가 많아지지만 오버피팅이 발생하고 해석이 어려워 질 수 있습니다.
그렇다고 너무 낮은 잠재 공간 차원은 언더피팅이 발생하고 정보손실이 많아지죠.
따라서 적절한 잠재 공간의 차원을 신중히 결정해야하고 손실함수의 Loss를 낮추면서도 차원을 적절히 줄일 수 있는 아키텍쳐를 찾아보는 것이 중요합니다.

 

5. GAN

 

GAN의 Generator는 autoencoder의 뒷 부분을 떼어낸 것으로 분포를 이용해 이미지를 생성해 낸다.

Discriminator는 실제 정답값과 비교하여 진짜를 찾아낸다. 

 

generator는 sampling을 통해 정답값과 가장 가까운 분포를 생성해낼 수 있도록 한다. 

 

여기서 sampling은 normal distribution으로부터 랜덤값을 생성해 내서 값을 N개 뽑아낸다. 

저희가 학습 시키는 Generator는 이 latent space로부터 생성된 latent vector를 던져 주면, 어떤한 이미지(어떤 종류라도 상관없지만)를 생성하도록 교육 된다

사실 초기에는 latent space는 아무런 의미를 가지지 않는 공간이다. 즉, 정말로 Normal distribution를 따르는 랜덤한 공간이다. 하지만 학습을 진행하다보면, Generator가 latent space에서 sampling한 latent vector와 특정 이미지들을 연결시키기 시작한다. 아 latent vector의 첫번째 원소는 이런의미였겠군, 두번째 원소는 저런 의미였겠군 하구요.

 

점점 학습을 진행하다보면 generator는 자기 맘대로 랜덤한 값을 도출하는 것이 아니라 latent vector에 따라 다른 이미지를 생성해낸다. 

 

 

 

 

GAN, 데이콘(https://dacon.io/forum/405820)

GAN, 티스토리(https://lifeignite.tistory.com/53)

VAE, 깃허브(https://taeu.github.io/paper/deeplearning-paper-vae/)

'인공지능 개념' 카테고리의 다른 글

생성형 AI 평가지표  (0) 2023.10.17
비지도학습(Unsupervised learning)  (0) 2023.10.05
트랜스포머  (0) 2023.09.08
Domain Adaption  (0) 2023.09.07
연합 학습(Federated Learning), 그리고 챌린지  (0) 2023.08.29
Comments