이전 포스팅에서는 tensorflow를 이용해서 여러개의 레이어를 쌓고 그것을 통해 MNIST 손글씨 숫자인식을 구현해보았는데요, CNN(Convolutional Neural Network)을 통해 더욱 높은 정확도를 구현해보겠습니다. 기본적으로 CNN이란 이전의 일반적인 네트워크랑 달리 필터라는 것을 사용합니다. 이미지는 사실 2차원으로 구성된 데이터이기 때문에 이를 1차원으로 나열하면 이미지의 특성을 알아차리기 쉽지 않습니다. 2차원의 특성을 살리고자 CNN모델이 개발이 되었고 어떻게 구현하는지 살펴보겠습니다. 위 그림은 가장 기본적인 모델로 Convolutional Layer와 Pooling Layer를 두개를 연달아 놓은 후 그 데이터를 1차원으로 만들어 주고 Fully Connected Laye..
이번에는 tensorflow로 손글씨(MNIST)를 분류하는 것을 구현할 것입니다. MNIST란 0~9까지의 숫자를 손글씨로 표현한 데이터입니다. tensorflow로 이 데이터를 쉽게 불러올 수 있습니다. 이전까지 Linear Regression, Logisitc Regression을 통해 선형적인 것과 이항적인 것을 분류하는 것을 했었는데, 이 MNIST데이터는 0~9까지 multi class를 분류해야 합니다. 이를 학습하기 위해 나온 함수는 softmax입니다. 소스를 통해 살펴보겠습니다. 12345import numpy as npimport matplotlib.pyplot as pltimport tensorflow as tffrom tensorflow.examples.tutorials.mnist..
- Total
- Today
- Yesterday