2021/04 10

Autoencoding beyond pixels using a learned similarity metric (VAE-GAN)

Autoencoding beyond pixels using a learned similarity metric 논문은 VAE-GAN 모델로 더 유명합니다. VAE와 GAN을 결합한 첫 번째 Architecture이고, VAE의 Pixel level reconstruction error를 Feature level error로 개선한 모델입니다. AAE는 KL divergence loss를 개선한 것과 차이가 있습니다. VAE-GAN 모델은 VAE와 GAN을 결합하여 VAE의 reconstruction을 element-wise error 대신 feature-wise error로 대체하여 이미지가 약간 translation 되어도 invariance 되도록 합니다. CelebA 데이터에 VAE/GAN을 적용해본..

Data augmentation: color jitter

Color jitter Data augmentation은 데이터의 크기를 키우기 위해 데이터에 여러 조작을 하는 행위들을 말합니다. 본 포스트는 data augmentation 기법 중 color jitter에 대한 글 입니다. jitter란 약간의 불규칙한 움직임, 변형, 그리고 불안정을 의미합니다. color jitter은 이미지 data augmentation 기법의 하나로, 이미지의 Lightness, Hue 그리고 saturation 등을 임의로 변하는 것을 의미합니다. Color jitter 방법 중 색의 주요한 세 속성인 HSL(Hue(색상), Saturation(채도), Lightness(명도))을 임의로 변경하는 방법에 대하여 예를 들어보겠습니다. HSL (hue, saturation, ..

Variational autoencoder

1. Intuition Variational autoencoder는 generative model의 일종입니다. VAE는 autoencoder와 구조적으로 굉장히 유사한데, 목적 함수의 수학적 식은 다릅니다. VAE는 확률론적 그래프 모델로, 데이터가 어떻게 생성되는지를 배웁니다. 먼저 직관적으로 모델을 이해해보죠. autoencoder를 활용하면 입력 이미지의 latent representation을 얻을 수 있는데요. autoencoder에서는 discrete value이기 때문에 latent space로부터 새로운 이미지를 생성할 수 없습니다. 이를 우리가 상대적으로 편하게 다룰 수 있는 정규 분포로 가정하고, 정규 분포의 평균과 표준편차가 autoencoder의 diescre value라고 생각할..

Going deeper with convolutions (GoogLeNet)

Going deeper with convolutions (GoogLeNet) Google에서 발표한 GoogleNet에 대한 리뷰입니다. 2014년 ImageNet에서 굉장히 좋은 성능을 얻었습니다. Inception 영화에서 영감을 얻었다고 하여 Architecture의 코드 네임을 Inception으로 하였다고 합니다. 이 논문 이후 Inception을 개선한 Inception v2, 3, 4 등이 발표되었습니다. 1. Introduction Convolutional networks의 발전에 따라 image recognition과 object detection 품질이 드라마틱하게 증가하고 있습니다. 하드웨어가 좋아지고 데이터 셋이 많아졌기도 하지만, 주로 네트워크 구조를 개선한 새로운 아이디어와 알고..

[Paper review] Very Deep Convolutional Networks For Large-Scale Image Recognition

Karen Simonyan & Andrew Zisserman가 ICLR 2015에서 발표한 Very Deep Convolutional Networks For Large-Scale Image Recognition 논문을 리뷰한 포스트입니다. VGG Net으로 많이 알려져 있는 모델입니다. VGG Net은 AlexNet 이후로 나온 모델인데요. VGG Net와 AlexNet의 가장 큰 차이는, VGG Net은 3 X 3 커널만을 사용한 대신에 모델을 깊게 쌓는 전략을 취했다는 것 입니다. 작은 커널을 사용하며 모델을 깊게 쌓았을 때 어떤 장점들이 있었을까요? Layer를 두 층 쌓게 되면 하나의 픽셀은 3 X 3 Receptive Field로 확장되고, 한 층 더 쌓게 되면 5 X 5 Recpetive Fi..

Transfer learning

Transfer learning transfer learning은 하나의 도메인에서 학습한 모델을 다른 도메인에 활용하는 것을 말합니다. 이미지가 어떤 사물인지 판단하기 위해 이미 학습된 classifier를 생각해보면, low-level ~ high-level feature들이 모델에 포함되어 있습니다. 같은 이미지 분류 문제인데, class가 약간 달라지는 문제가 있다고 해보죠. 두 모델에 고양이와 같은 공통적인 class가 있다고 하면 기 학습된 모델을 활용할 수 있습니다. 또한 모델에는 low-level ~ high-level feature들이 두루 포함되고 있으므로, 새로운 class에도 활용될 여지가 있습니다. 이런 tranfer learning은 데이터 셋이 유사하며, 새로운 분류 문제의 데..

Optimization beyond SGD

Optimization beyond SGD Mini batch로 Gradient를 Estimate하는 Stochastic Gradient Descent(SGD)은 Full batch로 Gradient Descent를 쓸 때보다 계산량이 줄어 속도가 빠르다는 장점이 있습니다. 하지만 SGD에는 아래와 같은 문제가 있어서, SGD를 개량한 Optimizer가 계속 제안되어왔습니다. Jittering Gradient가 그때그때 가장 떨어지는 방향으로 움직이면서 생기는 현상으로, 아래 그림처럼 방향을 계속 바꿔가면서 움직이는 문제를 말합니다. Local optimum Inaccurate Gradient Estimation 데이터가 크다면 mini-batch를 활용하여 estimate된 gradient는 부정확할..

Regularization for neural networks

Regularization for neural networks Regularization은 머신러닝에서 굉장히 중요한 주제입니다. 먼저 간단히 선형 회귀에서 활용되는 Regularization 기법에 대해서, 그리고 Neural Network에서 사용되는 기법들에 대해서 적어보려고 합니다. 서울대학교 이준석 교수님의 ‘시각적 이해를 위한 기계학습’ 와 위키피디아를 참고했음을 밝힙니다. 우리가 어떤 데이터에 대하여 모델을 fitting 시키는데, general한 trend에 fitting 시킬수록 좋습니다. Overfitting은 학습 데이터의 노이즈가 있을 때, 이 노이즈까지 fitting하는 것을 말합니다. 만약 모델이 불필요하게 복잡하다면 Overfitting의 증거일 수 있습니다. 이것을 방지하기 ..

[Paper review] ImageNet Classification with Deep Convolutional Neural Networks

Alex Krizhevsky, Ilya Sutskever, G E Hinton이 2012년 ImageNet을 뒤집어놓으신 ImageNet Classification with Deep Convolutional Neural Networks 을 읽고 필요한 부분을 남긴 글 입니다. 저자가 Alex라서 AlexNet이라고 하며, CNN을 처음 접할 때 많이 읽는 논문입니다. Abstract Deep convolutional neural network로 ImageNet 컨테스트에서 좋은 성적을 거둔 모델입니다. 발표 당시 SOTA보다 더 좋은 성능을 냈었습니다. 분류 성능을 10% 정도 가볍게 올려서, 많은 충격을 주었다고 합니다. 구조는 5개의 Convolutional layer로 구성되어 있고, 60백만개의 ..

[Paper review] A Neural Probabilistic Language Model

Yoshua Bengio 등, 2003년 The Journal of Machine Learning Research에서 발표한 A Neural Probabilistic Language Model 논문을 읽고 남기고 싶은 부분을 정리한 글 입니다. Abstract statistical language model의 목적은 언어의 단어들의 연속에 대한 결합 확률 함수를 학습하는 것입니다. 이것은 curse of dimensionality 때문에 어렵습니다. 이를 해결하기 위한 전통적인 방법은 n-gram입니다. 본 논문에서는 n-gram 대신 semantically 유사한 문장들을 알 수 있는 distributed representation을 제안합니다. model은 단어의 distributed represen..