2014년 9월 16일 화요일

caffe 를 이용해 MNIST 필기체 인식 해보기

caffe 를 이용해 MNIST 필기체 인식 해보기

Handwritten digit recognition using caffe

$CAFFE_ROOT/examples/mnist에는 mnist dataset에 대한 learning과 test에 대한 데모가 준비 되어 있습니다.

cd $CAFFE_ROOT/data/mnist ./get_mnist.sh
cd $CAFFE_ROOT/examples/mnist ./create_mnist.sh

명령으로 mnist dataset을 받고

cd $CAFFE_ROOT/examples/mnist ./train_lenet.sh

을 수행하면 그림과 같이 학습이 진행되는 것을 확인할 수 있습니다.
lr은 learning rate이고 loss는 각 단계에서 발생된 loss function의 값입니다.


CNN에 대한 학습과정은 다음 링크에서 보다 시각화된 형태로 관찰할 수 있습니다.


마지막 output layer에서 activation되는 neuron을 관찰하면 입력된 숫자와 일치하는 것을 볼 수 있습니다.

 놀라운 것은 이 모든 행동이 처음 네트워크를 구성해주는 것 말고는 모두 자동으로 이루어 진다는 것입니다. 컴퓨터 비전에서 특징점을 추출하거나 에지를 검출하는 필터를 디자인 하고자 할 때 gradient를 볼 수 있도록 하는 필터를 설계하게 되는데, CNN을 학습함으로 인해서 입력값들은 보다 잘 구분할 수 있도록 하는 필터의 값들은 스스로 학습하게 되는 것입니다.

댓글 없음:

댓글 쓰기