본문 바로가기

Study doc./Deep Learning

(10)
[cs231n] Recurrent Neural Network (RNN) 지난 시간까지 딥러닝의 한 분야였던 CNN에 대해서 공부했습니다. 이미지를 처리할때 어떻게 하는지, 어떤 layer를 어떤 구조로 얼마나 쌓을지 등을 공부했었죠! 오늘은 딥러닝의 또 다른 방법인 RNN에 대해서 알아볼게요. CNN은 Neral Network에서 Convolution을 적용한 개념이었다면, RNN은 NN에서 Recurrent를 적용한 개념이라고 생각하면 될 것 같습니다. recurrent 라고 하니 약간 재귀적이니 느낌이 나죠? 그럼 한 번 자세히 알아볼게요!! 순서 RNN 종류 RNN 작동 원리 RNN 을 이용한 예시 Language Model Image Captioning Visual Question Answering Long Short Term Memory (LSTM) 1. RNN 종..
[cs231n] CNN Architecture 지금까지 CNN의 전체적인 프로세스와 그 속에 있는 layer들을 자세히 공부했습니다. convolutional layer를 지나고 batch normalization를 지나고 다시 conv layer를 지나고,, 이렇게 층을 쌓아 마지막에 FC layer를 통해 score를 냅니다. 이제는 conv layer를 어떤 filter size로 언제 몇번 할지, batch normalization을 얼마나 언제 할지, drop out 을 할지, pooling 을 할지, learning rate는 얼마로 할지 등을 고려해서 CNN의 전체 구조를 세워야 합니다. 하지만 저희는 아직 딥러닝 초보자 입니다. 성능 좋은 구조를 처음부터 끝까지 뚝딱뚝딱 만들기가 현실적으로 불가능하죠. 따라서 사람들에게 널리 알려진, ..
[cs231n] Neural Network - part 2 지난 파트에 이어 이번 파트에서는 최적화(Optimization) 알고리즘의 종류, regularization의 종류 그리고 transfer learning에 대해서 공부해 보겠습니다. 바로 시작해볼게요! 순서 Optimization Stochastic Gradient Descent (SGD) SGD + Momentum Nesterov momentum AdaGrad RMSProp Adam Regularization Dropout Batch Normalization Data Augmentation Transfer Learning 1. Optimization 1-1. Stochastic Gradient Descent (SGD) 지금까지는 최적화의 방법으로 SGD(Stochastic Gradient Desce..
[cs231n] Neural Network - part 1 지난 포스팅에서는 Neural Network의 한 종류인 CNN에 대해서 공부하며 전체적인 프로세스를 익혔습니다. 이번 포스팅에서는 그 과정에 있는 다양한 선택지들과 추가적으로 고려해야 할 사항들을 중심으로 공부해보겠습니다. 포스팅은 총 두 파트로 이루어져있고, 첫 번째 파트에서는 활성함수의 종류, 데이터 전처리, 가중치 초기화 방법, 정규화 방법 등 모델링 하기 전의 셋팅과 하이퍼 파라미터 튜닝 등 학습 도중에 다뤄야 할 과정을 중심으로 작성하겠습니다. 두 번째 파트에서는 최적화(Optimization) 알고리즘의 종류, regularization의 종류 등 다양한 선택지들을 중심으로 다뤄보겠습니다. 그럼 시작해볼까요?? 순서 Activation Functions Data Preprocessing We..
[cs231n] Convolutional Neural Network (CNN) 순서 Neural Network (NN) Convolutional Neural Network (CNN) 동작원리 convolution layer activation function pooling layer fully connected layer 정리 1. Neural Network (NN) 지금까지 가중치(W)가 한 개인 함수를 다뤘습니다. 가중치가 한 개인 모델은 이미지의 분류 기준 특성이 적을 수 밖에 없고, 따라서 빨간 자동차만을 자동차로 인식하게 되는 한계가 있습니다. 이를 극복하기 위해 색깔 뿐만 아니라 더 다양하고 복잡한 특성을 고려해야 하는데요, 가중치(W)를 여러개 사용함으로써 이 문제를 해결할 수 있었습니다. input(이미지, x)에 첫 가중치(W1)를 곱한 값이 다시 input이 되고..
[cs231n] 이미지 분류 초간단 정리 사람은 사진을 보면 자연스럽게 많은 정보를 얻게 됩니다. 여름 바닷가 사진을 보고 날씨 정보, 놀고 있는 사람 수, 사람들의 감정, 행위 등 본인도 모르게 많은 생각을 하는것처럼 말이죠. 그런데 단지 사진만 보았을 뿐인데 어떻게 이렇게 많은 정보를 얻을 수 있었을까요? 바로 경험을 통한 학습 때문입니다. 그렇다면 컴퓨터에게도 사람만큼 학습을 시킨다면, 컴퓨터도 사진을 보고 같은 정보를 얻을 수 있을까요? 이런 의문으로 시작하는 분야가 '컴퓨터 비전' 입니다. 컴퓨터 비전에 대해 깊이 공부하기 전에 컴퓨터가 이미지를 인식하는 원리부터 알아봅시다. 사실 이미지는 컴퓨터가 보기에 숫자로 이루어져 있습니다. 이미지는 픽셀 단위로 쪼갤 수 있고, 그 픽셀 하나에는 RGB 값으로된 숫자들이 있는 것입니다. 엥? 그..
[cs231n] 오차역전파(propagation)를 이용한 gradient 계산 지난 포스팅에서 최적화의 방법으로 두 가지 개념이 나왔습니다. 바로 numerical gradient와 analytic gradient 인데요, numerical gradient 방법은 하나하나 다 계산하기 때문에 정확하지만 시간이 너무 오래걸린다는 단점이 있다고 했습니다. 그래서 보통 w를 구할때 analytic gradient 방법을 사용한다고 공부했었는데, 오늘은 analytic gradient 방법의 원리에 대해서 자세히 공부해보겠습니다. 순서 computational graph 스칼라의 backpropagation backpropagation의 이해 local gradient/ global gradient(upstream gradient) 벡터의 backpropagation 1. computat..
[cs231n] kNN보다 나은 선형분류(Linear Classification) 지난 포스팅에서 이미지 분류 기법 중 하나인 k-NN 에 대해 공부해보았습니다. 하지만 모든 사진의 픽셀 행렬값을 연산하는 방법은 너무 비효율적이기 때문에 실무에서는 사용하지 않는다고 했고, 오늘은 그 문제점을 극복한 선형 분류(Linear Classification) 기법을 공부해보겠습니다. 순서 선형 분류의 원리 오차 함수(Loss function)의 등장 규제 (Regularization) 최적화 (Optimization) 결론 1. 선형 분류의 원리 말 그대로 선형 분류는 이미지를 선형식으로 나타낸 후 분류하는 기법입니다. 이전 포스팅에서 이미지는 픽셀별 숫자의 형태, 즉 행렬의 형태로 나타난다고 했었는데요, 이 행렬의 특성을 이용하여 가중치 w와 편향값 b를 추가하여 선형식으로 변환하는 것입니다..