DCGAN 앞선 포스팅에서 GAN(Generative Adversarial Network)의 구조에 대해 간단히 살펴보았다. 가장 기본적인 GAN은 Generator와 Discriminator에 densely-connected network가 사용된다. 예를 들어 28x28 사이즈인 MNIST 손글씨 이미지를 길게 이어붙여 784개의 숫자로 구성된 벡터로 만들고, 이를 그 다음 은닉층의 모든 노드와 연결시키는 방식이다. 이미지의 특성을 고려하지 않고도 꽤 괜찮은 결과가 나왔는데, 이미지 분류에...

Learning GAN 1. What is GAN? 딥러닝은 어디에 쓸까. 알파고나 자율주행차 등이 딥러닝 사례로 심심찮게 등장하지만, 게임 로그 분석을 하는 입장에서는 실제로는 성능 좋은 분류기로 사용하는 편이다. 그래서인지 Udacity Deep Learning Foundation 후반부에 나오는 GAN은 조금 막연하게 다가온다. 입력 데이터를 학습해 그와 유사하지만 기존에 존재하지 않는 완전히 새로운 데이터를 만들어내는...

Transfer learning: 대선주자 얼굴 분류기 CNN(Convolutional Neural Network)은 이미지 처리에 가장 널리 사용되는 알고리즘이다. 숫자 손글씨 데이터셋인 MNIST는 28x28 픽셀로 되어 있다. 이를 일반적인 DNN(Deep Neural Network)로 처리하려면, 먼저 이미지 하나를 784(28x28)개의 소수점 숫자로 된 벡터로 변환한 다음, 이를 뉴럴넷에 집어넣어 학습시켜 분류를 한다. 꽤 괜찮은 성능이 나오기는 하지만, CNN만큼은...

tf tips. 3 - CNN 개념 정리 Convolutional Neural Network (CNN)은 이미지 분류, 오브젝트 인식 등에서 굉장히 인기있는 알고리즘이다. 일반적인 Deep Neural Network에 비해 이미지 처리에 있어 CNN이 더 좋은 성능을 낸다고 알려져 있는데 그 비법은 인풋 데이터의 처리에 있다. DNN에서 인풋 레이어의 모든 값이 그 다음 레이어의 모든 뉴런에...

tf tips. 2 - TensorFlow 개념 정리 tensorflow를 알기 전에는 보통 sklearn을 사용해서 데이터 분석이나 머신러닝을 했었다. 일반적으로 jupyter notebook 환경에서 데이터를 읽고 전처리한 다음, 트레이닝과 테스트 셋으로 나눠서 모델을 학습시키고 성능을 측정한다. 노트북 환경에서는 코드를 입력하면 바로 결과가 출력되기 때문에 데이터가 처리되는 흐름을 직관적으로 이해할 수 있어 편리했다. 그런데...