딥러닝 학습과 GPU

Distributed computing in ML 기계학습, 특히 딥러닝에서 GPU는 필수적인 장치다. 잘나가던 SVM을 누르고 딥러닝의 시대를 연 것이 GPU 때문이라고 해도 과언이 아닐 정도. 그런데 왜 GPU가 중요할까? 비트코인 채굴에 GPU를 사용하는 이유와 비슷한 걸까? 비트코인 채굴이 어떤 방식인지는 모르지만 사용하는 이유는 같다. 분산 컴퓨팅, Distributed computing을 해야하기 때문이다. CPU는 아주 좋은 칩이 떡 있는 반면, [...]

딥러닝으로 실시간 웃는 표정 인식하기

본 자료와 코드는 DL4CV - adrian 을 참고했습니다. 실시간 웃는 표정 인식하기 이번에 만들어 볼 것은 실시간으로 노트북의 웹캠을 이용해 자신의 미소를 인식하는 코드이다. 실시간 인식이라 영상을 처리해야하고 또 얼굴을 탐지해야 하는데 알고보니 모두 opencv 라이브러리를 이용하면 가능하더라. 전체적인 과정은 다음과 같다. Gray scale인 표정 데이터를 CNN 모델을 이용하여 학습. 여기서는 lenet을 이용하였다. 얼굴을실시간으로탐지 탐지된얼굴을위모델에맞춰변환후예측 [...]

CNN으로 Captcha 뚫기

Sim Captcha captcha sms 사용자가 사람인지 컴퓨터인지 가려내기 위해 고안된 방법이다. 시간이 지나면서 위에 보이는 것과 같이 간단한 것부터 사람마저 풀기 힘든 captcha 까지 여러 종류가 생겼다. 하지만 이번에는 매우 간단한 simple captcha를 CNN을 사용해서 뚫어보자. mnist에 지쳤다면, 너무나 잘 제공된 데이터 때문에 허무하다면 직접 해보자. 내가 사용할 데이터는 위의 보이는 것처럼 간단한 captcha 로 [...]

딥러닝으로 XOR 학습하기

Deep Learning - Ian goodfellow를 참조한 포스팅입니다. XOR XOR 문제는 오래전 인공신경망을 잠재워 버린 무시무시했던 문제이다. 당시의 인공신경망은 non-linearity를 극복하지 못해 XOR을 풀 수 없었다. 10~20년간의 인공신경망의 암흑기를 거치고 non-linear function과 Deep layer를 이용하여 딥러닝이란 이름으로 다시 유명세를 타는 인공신경망은 이제 XOR 문제를 푸는 것은 기본이고 여러가지 분야에 응용이 되고 있다. 딥러닝을 공부하기에 앞서 한때 [...]

Stochastic Gradient Descent, SGD

Deep learning - Ian goodfellow 를 정리하였습니다. SGD 거의 모든 딥러닝 기법은 stochastic gradient descent에 기반해 학습한다. 간단히 SGD라고 하는 이 방법은 Gradient descent의 확장판으로 생각할 수 있다. 기계학습, 딥러닝은 대량의 데이터를 필수로 한다. 하지만 데이터가 많아질수록 학습에 필요한 계산량도 늘어나게 된다. 물론 그렇다고 빠른 학습을 위해 데이터를 줄이지는 않는다. 데이터는 많을수록 좋은 것이고 학습에 [...]