본문 바로가기
  • AI 개발자가 될래요
Deep Learning

Latent Space에 대한 이해

by 꿀개 2023. 3. 22.

Understanding of Latent Space in Machine Learning

 

What is Latent Space?

간단하게 말하자면 단순히 압축된 데이터의 표현을 말한다.

MNIST와 같은 손글씨 숫자(0–9) 데이터셋을 상상해 보자. 같은 번호의 이미지들는 다른 번호의 이미지들에 비해 서로 가장 유사하다. 우리는 이러한 유사성을 인식하도록 모델을 훈련시킬 수 있다. 이 유사성을 훈련시키는 방법이 우리에게 "숨겨진"것 같다면, 그렇기 때문이다. Latent는 정의상 "숨겨진"을 의미한다.

데이터의 특징을 학습하고 패턴을 찾기 위한 목적으로 데이터 표현을 단순화하는 딥러닝의 핵심이기 때문에 잠재 공간(Latent Space)의 개념이 중요하다.

 

ML에서 데이터를 압축하는 이유?

데이터 압축은 원래 표현보다 적은 비트를 사용하여 정보를 인코딩하는 프로세스로 정의된다. 

종종 데이터 포인트에 대한 중요한 정보를 학습하기 위해 머신러닝에서 데이터가 압축된다 . 

예를 들어 Fully Convolutional Networks(FCN)를 사용하여 이미지를 분류하도록 모델을 훈련시키려고 한다. 아래의 모델은 인코더 부분에서 이미지의 차원을 축소한다. 우리는 이를 손실 압축(Lossy Compression)의 한 형태로 간주한다.

 

FCN의 예시. Source: Hackernoon Latent Space Visualization.

 

디코더는 압축된 데이터를 재구성 해야 하기 때문에 관련 정보를 저장 하고 노이즈를 무시하는 방법을 배워야 하다 . 이것이 압축을 하는 이유이다. 이를 통해 불필요한 정보를 제거하고 가장 중요한 기능에만 집중할 수 있다.

이 '압축 상태'를 데이터의 Latent Space Representation(잠재 공간 표현)이라고 말한다.

 

Latent Space가 중요한 이유는 무엇인가?

Latent Space가 중요한 이유는 이미지 처리 네트워크, 생성 모델 등에 '숨겨져' 있기 때문이다. 데이터의 Latent Space Representation에는 원래 데이터 포인트를 나타내는 데 필요한 모든 중요한 정보가 포함되어 있다. 이 표현은 원래 데이터의 특징을 잘 나타내야 한다. 즉, 모델은 데이터 기능을 학습 하고 쉽게 분석할 수 있도록 representation을 단순화한다. Latent Space Representation(잠재 공간 표현) 복잡한 형태의 원시 데이터(예: 이미지, 비디오)를 처리 및 분석하기 더 편리한 더 간단한 표현으로 변환하는 데 사용된다.

 

Autoencoders 및 생성 모델(Generative Models)

latent space에서 데이터의 '근접성'을 조작하는 딥 러닝 모델의 일반적인 유형은 identity function으로 작동하는 신경망인 오토인코더이다. 오토인코더는 입력된 내용을 출력하는 방법을 학습한다.

 

오토인코더의 일반 아키텍처

 

이 분야를 처음 접하는 경우라면 왜 이런 작업을 수행하는 모델이 필요한지 궁금할 것이다. 모델의 아웃풋이 인풋 그 자체라면 쓸모없는 것 같기도 하다. 그러나 우리는 모델이 그 과정에서 무엇을 배우는지 더 중요하게 생각한다.

모델이 identity function이 되도록 할 때 데이터의 모든 관련 특징을 압축된 표현으로 저장한다. 이 압축된 표현이 Latent Space Representation이다. (위 이미지의 빨간색 블록)

 

Interpolating on Latent Space (잠재 공간 보간)

 

잠재 공간 보간을 통한 이미지 생성. Source:  Bilinear interpolation on latent space for random noise vectors.  Figure 20

 

위의 예에서 latent space을 보간하고 모델 디코더를 사용하여 잠재 공간 표현을 원래 입력과 동일한 차원의 2D 이미지로 재구성하여 다양한 얼굴 구조를 생성할 수 있다.

 

잠재 공간 보간은 무엇을 의미하는가?

다음은 잠재 공간에서 두 가지 유형의 의자 사이의 선형 보간 예이다. 우리는 두  '의자' 클러스터 사이의 잠재 공간에서 포인트를 샘플링하려 한다. 샘플링된 2D 벡터를 모델의 디코더에 공급하면 두 의자 사이의 모프처럼 보이는 '새로운' 이미지를 얻습니다. 

 

잠재 공간에서 보간. Source: Hackernoon Latent Space Visualization.

 

 

이미지 생성은 여전히 ​​활발한 연구 분야이며 latent space는 반드시 이해해야 하는 필수 개념이다. 생성 모델의 더 많은 사용 사례와 잠재 공간 표현을 사용하는 또 다른 생성 모델인 GAN(Generative Adversarial Network)을 사용한 잠재 공간 보간 실습 예제는 다음 문서를 참고하면 좋겠다.

https://machinelearningmastery.com/how-to-interpolate-and-perform-vector-arithmetic-with-faces-using-a-generative-adversarial-network/

 

참고: https://towardsdatascience.com/understanding-latent-space-in-machine-learning-de5a7c687d8d