Deep learning(4)
-
A simple network to classify handwritten digits
http://neuralnetworksanddeeplearning.com/ 의 e-book을 의역함. 이제 실제로 이미지를 인식해 보자. 이미지를 인식하는데 두가지 문제가 있다. 첫번째로 연속된 이미지의 형태를 각각의 단일 숫자 이미지로 나누어야 한다. 예를 들어 아래와 같은 연속된 이미지가 있다고 할때, 위의 이미지를 아래의 6개의 이미지로 나누어야 한다. 사람은 위의 문제를 쉽게 풀 수 있지만, 컴퓨터 프로그램으로 이를 정확하게 나누기가 어렵다. 일단 이미지가 잘 나뉘어졌다고 치면, 그 다음으로 각각의 숫자를 분류를 해야하는 문제를 가지고 있다. 만약 분류를 정확히 할 수 있다면 이미지 분할 문제는 그렇게 어렵지가 않다. 한가지 접근법으로 많은 유형의 분할된 이미지를 만들고 이 각각의 분할 이미지를 ..
2016.01.21 -
The architecture of neural networks
http://neuralnetworksanddeeplearning.com/ 의 e-book을 의역함. 이 전에 언급한 바와 같이 가장 최좌측의 레이어를 input layer라고 부르며 가장 오른쪽의 레이어를 output layer라고 부른다. output layer는 하나의 neuron만을 가진다. 중간에 있는 layer들은 hidden layer라고 부른다. hidden이라는 뜻이 무언가 엄청 그럴싸한 느낌을 주는 layer라고 생각할 수가 있겠지만 그냥 단지 input도 output도 아닌 존재를 hidden이라고 부를 뿐이다. 위의 네트워크는 하나의 hidden layer를 가지고 있지만, 다른 몇몇의 네트워크들은 다중의 hidden layer를 가질 수도 있다. 예를 들어 아래의 네트워크는 두 개..
2016.01.20 -
Sigmoid neurons
http://neuralnetworksanddeeplearning.com/ 의 e-book을 의역함. Sigmoid neurons 학습 알고리즘이란 단어는 매우 매력적이다. 예를 들어 input 데이터가 스캐너의 raw data라든지, handwritten된 숫자 이미지일 경우에, 숫자의 정확한 분류를 output으로 출력하기 위해 weight와 bias를 학습해야 할 것이다. 어떻게 학습이 이루어지는지를 확인하기 위해서, 네트워크의 몇몇의 weight 또는 bias를 약간 변경할 수 있다고 가정하자. 우리가 weight를 조금 변경하면 그와 일치하게 output도 변화가 일어날 것이다. 이러한 속성은 학습을 가능하게 한다. 만약에 weight 혹은 bias의 변화를 준 결과 값이 참이라면, 우리는 해당..
2016.01.19 -
[DeepLearning] 우분투 14.04에 Caffe 설치 하기
파이썬에서 유명한 Deep learning 패키지 중에 Caffe와 Theano 가 있는데 우분투 14.04에 Caffe를 설치해보기로 했다. 우선 필수 빌드 패키지와 최신 커널 헤더를 설치한다. $> sudo apt-get install build-essential$> sudo apt-get install linux-headers-`uname -r` Caffe를 설치하기 위해서는 CUDA 설치가 필수적이다.CUDA(Compute Unified Device Architecture)를 설명하기 위해서는 우선 Multicore와 Manycore에 대한 개념 설명이 있어야 하는데 우선 Multicore는 지금 현재 나와 있는 듀얼코어 CPU, 쿼드코어 CPU 등이라고 할 수 있다. 커다란 CPU 틀안에 2개 ..
2015.04.28