2019. 6. 5. 12:13ㆍ관심있는 주제
Blog | Paper | Code |
https://ermongroup.github.io/blog/uae/?fbclid=IwAR0oO4bGeZA_gQ_eex2WRCH4UQwdJ6M-I-klDc5SHlRy1JLd4Uoh4eo3VX0 | https://arxiv.org/pdf/1812.10539.pdf | https://github.com/aditya-grover/uae |
https://data-newbie.tistory.com/153
이전에 우연히 딥마인드 논문 중에 GAN을 봤었는데, 그때도 Compressed Sensing이라는 표현이 나왔는데,
신기하게도 여기서도 Compressed Sensing 이 표현이 등장한다.
Compressed sensing techniques enable efficient acquisition and recovery of sparse, high-dimensional data signals via low-dimensional projections.
다음과 같이 말했는데, 즉 우리가 생각하는 Latent(low-dimension)에서 생성을 시키니까,
Compressed sensing 방법론을 사용하면, 복원 즉 생성을 잘할 것이다!
위와 같은 기술이기 때문에 GAN이나 AutoEncoder에 Compressed Sensing이 잘 된다고 하는 것 같습니다.
여기서는 Uncertainty autoencoder라는 noisy latent representation인 low-dimensional projections 된 것을
잘 얻고 (encoding) 그다음 잘 복원하는(decoding)을 배울 수 있게 하는 것을 만들겠다는 것 같습니다.
그때 방법은 tractable variational information maximization 방법론을 활용해서요!
The broad goal of unsupervised representation learning is to learn transformations of the input data which succinctly capture the statistics of an underlying data distribution.
비지도 학습의 광범위한 목표는 기본 데이터 분포의 통계를 간결하게 포착하는 입력 데이터의 변환을 학습하는 것이다.
이런 방법을 활용하여 차원 축소나 latent variable generative modeling 같은 곳에 쓰였다고 하고
기존에 없던 Compressed Sensing을 활용한 비지도 표현 방법에 대해 소개한다고 한다 1
Statistical Compressed Sensing
고차원 신호로부터 복원하고 효율적으로 획득하는 시스템은 Compressed Sensing의 기저로부터 형성됩니다.
이 시스템은 다양하게 사용됩니다.
- designing power-efficient single-pixel cameras
- 의학 사진을 찍을 때 MRI의 스캔을 가속화하는데 쓰입니다.
- 기타 등등
compressed sensing pipeline은 2가지로 구성되어있다고 하는데요!
acquisition 같은 경우에는 AutoEncoder에서 encoder처럼 높은 차원에서 낮은 차원으로 맵핑을 시키는데,
여기에 외부의 측정 오차를 반영해져 있는 게 나올 것이다 라고 하는 것 같습니다.
Recovery 같은 경우에는 그 노이즈로부터 다시 복원을 하는 AutoEncoder Decoder 같은 거라 생각하면 될 것 같네요
Standard Compressed Sensing
- f(x) = Wx 같은 Linear 한 mapping만 하는데요.
- 그러한 경우, 우리는 제약 조건보다 많은 변수를 가지고 있기 때문에 시스템은 과소평가된다.
- 그래서 특정 가정이 붙게 되고 적절한 기저 안 엣 신호는 Sparse 할 거라는 것이 필요하다고 합니다.
- Fourier basis for audio, wavelet basis for images
- 그래서 lasso 최적화 방법으로 다시 recovery 한다고 하는 것 같습니다.
- training data x는 항상 같은 신호인 잘 알 수 없는 q라는 분포에서 iid를 가정해서 온다고 합니다.
- 그다음에 acquisition과 recovery를 agent와 nature 사이에 게임이라고 하고 진행한다고 합니다.
어찌 보면 그냥 AutoEncoder에서 activation을 linear 하게 줘서 한 거랑 같은 의미인 것 같다는 생각이 듭니다만...
일단 피셜
Uncertainty Autoencoders
위에서는 Compressed Sensing에 대해서 알아보는 거였고, 이제 본 게임인데요!
일단 그 중간에 y에서 다시 실제로 복원할 때는 2가지의 불확실성이 있다고 하는데요!
- noise epsilon의 확률적인 측정
- acquisition mapping f는 어떤 특정 모수적으로 맵핑을 제한하여서라고 합니다.
- linear mapping
- more generally Neural Network
그리고 기본적으로 y는 기존 데이터의 차원보다는 더 작기 때문에, 이러한 제한으로 인해 , noise가 없는 경우에도
단 하나의 mapping으로 학습하는 것을 금지시킬 것입니다!
만약 f가 linear 하게 mapping 하는 함수라면, 정확한 복원은 가능하지 않을 것입니다.
그렇다면 데이터를 효율적으로 획득하기 위해 다른 방법은 뭐가 있을까요?!
아래 그림은 동등한 가중치를 가진 2D Gaussian Mixture이고 여기서 검은색 100개를 샘플링하고 이 것을 한 차원으로 줄이려고 합니다.
한 가지 옵션은 PCA를 이용해 Project 하는 것이 있습니다.
그러면 위에 그림에서 파란 색깔로 가장 분산이 것으로 차원을 축소하게 됩니다.
결국 저렇게 되면 많은 데이터 포인터들이 겹쳐서 무너지게 되면서, 낮은 차원으로 Projection 된 곳에서 큰 차원으로 다시 복원하는 것이 어려워진다고 합니다
PCA에 비해서는 total variation이 커지지만 , 초록 색선은 더 넓은 것을 표현할 수 있어서 복원을 하는데 더 쉽다고 합니다!
다음으로는 왜 UAE framework가 더 정확하게 복원하는지에 대해서 알아보겠습니다
y와 x의 joint 분포는 다음과 같이 q(x, y) = q(x) q(y|x)로 바꿔줄 수 있습니다.
만약 여기서 우리가 어떠한 가우시안으로 모델링을 한다고 하면 q(y|x)은 normal 정규식으로 표현하게 됩니다.
그래서 결국 저 안에 f의 parameter를 학습시키기 위해서 log-posterior probability를 최대화하는 목적함수가 됩니다.
Variational Information Maximization
위에 있는 식을 다시 해석하면 x와 y의 mutual information을 최대화하는 것이라고 할 수 있습니다.
즉 이 값을 크게 하면 서로를 의존하게 한다는 의미가 됩니다. 그럼 결국 서로 의존적으로 된 낮은 차원 y를 활용해서 높은 차원 x로 쉽게 recovery 할 수 있다고 말하고자 하는 것 같습니다.
하지만 이런 Mutual Information은 불행하게도 non-trivial 하고 현재 세팅으로는 intractable 하게 됩니다.
이러한 어려움을 극복하고 또한 빠른 복구를 허용하기 위해 우리는 (Agakov 2004)에 기인 한 상호 정보에 대해 Lower Bound을 사용하는 것을 제안합니다.
이것은 마치 VAE와 같아 보이는 느낌이네요.
- Acquisition
- 데이터를 Encoding 하는 관점으로 볼 수 있고,
- Recovery
- 신호를 다시 복원하는 Decoding 개념으로 볼 수 있다고 합니다.
'관심있는 주제' 카테고리의 다른 글
UMAP이 T-SNE와 다른점에 대한 글 리뷰 (3) | 2019.10.05 |
---|---|
Scipy에서 제공하는 분포간 거리 함수(Statistical Distance)와 차이점. (2) | 2019.06.08 |
LSTM AutoEncoder를 사용해서 희귀케이스 잡아내기 (5) | 2019.05.23 |
머신러닝 모델 학습시키기전에 마인드부터 어떻게 해야할지? (0) | 2019.05.18 |
Anomaly Detection Using VAE (2) | 2019.05.11 |