본문 바로가기

Deep Learning

4. RNN ㅁ RNN RNN은 히든 노드가 방향을 가진 엣지로 연결돼 순환구조를 이루는(directed cycle) 인공신경망의 한 종류입니다. 번역, 언어 모델과 같은 Time Series 한 or 연속적인 데이터 처리시에 좋은 성능을 보인다 하여 이미지 데이터 모델에서 많이 쓰이는 Convolutional Neural Networks(CNN)과 더불어 최근 들어 각광 받고 있는 알고리즘입니다. ( 아 물론 CNN 도 최근 페이스북에서 번역기술에 CNN 을 이용한 기술들이 나오고 있어요 ^^;; ) 종류 - One to Many - Many to One - Many to Many ㅁ Cell - Forward Propagation def forward_propagation(self, x): # The total .. 더보기
3. CNN ㅁFully connected layer 의 문제점 - 데이터의 형상이 무시된다. - 예를 들어 256 * 256 이미지 데이터 n개가 있다고 가정해보자. 지금까지 우리가 배운것에 의하면 이것을 행렬로 바꿔서 256*256 = 65,536 의 col 을 가지고 n개의 row 가진 Matrix 를 가질것이고 여기에 W1, W2 ... 등을 곱해서 마지막에 classification 하는 Network Layer 를 구성할 것이다. 하지만 여기에선 간과 된것이 이미지라 함은 픽셀로 부터 좌우 뿐 아니라 상하의 데이터도 관계가 있는 것인데 이를 고려하지 않은 것이다. 즉 위에서 정리한 것과 같이 데이터의 형상을 무시한것이다. - 그래서 CNN 레이어는 중간에는 Convolution layer 와 max poo.. 더보기
2. 학습관련 기술들 매개변수 갱신 방법ㅁ SGD ( Stochastic Gradient Descent ) SGD 는 손실함수의 기울기 값 ( Weight's Gradient ) 를 구하고 New Weight = Weight - lr * ( Weight's Gradient ) 를 해주는 것입니다. ( 여기서 lr 이란 learning rate 의 약자입니다. ) 보통 설명할 때 언덕에서 각 방향으로 한발짝씩 내 딛어 보고 줄어드는 쪽으로 계속 걸어간다라는 비유를 많이 하죠 :) ㅁ 모멘텀 ( Momentum )Momentum 방식은 말 그대로 Gradient Descent를 통해 이동하는 과정에 일종의 ‘관성’을 주는 것이다. 현재 Gradient를 통해 이동하는 방향과는 별개로, 과거에 이동했던 방식을 기억하면서 그 방향으.. 더보기
1. 오차역전파법 ( Backpropagation ) 이전 포스트에서 W 값의 변화에 따른 손실함수 ( Loss Function )의 기울기를 구하고, 그에 따라 손실함수를 Minimize 하는 W 를 찾는 법을 보았습니다. 사실 쫌 더 구체적으로 설명하자면 손실함수를 구하고, 그 손실함수의기울기를 구하는데 있어 ( 미분값을 구하는데 있어 or Gradient 값을 구하는데 있어 ) 수치 미분법을 이용해서 손실함수를 최소화 시키는 방법을 알아보았습니다. 그럼 이번에는 "오차역전파법". 그 유명한 BackPropagation 을 통해 손실함수를 최소화 시키는 W 를 어떻게 찾아보는지 한번 보도록 하겠습니다. 이 글에서는 backpropagation 의 역사, 기존에 있었던 문제들( Layer 를 깊게 쌓았을 때 역전파가 안되었던건 현상들... ) 에 대해서는.. 더보기
0. 딥러닝 기초지식 *** 해당 포스트는 "밑바닥부터 시작하는 딥러닝" 책을 바탕으로 작성되어 있음을 알려드립니다 :)4장. 신경망 학습ㅁ 신경망을 학습하는데 있어 필요한 데이터훈련 데이터 : 훈련하는데 있어 필요한 데이터시험 데이터 : 훈련이 잘 되었는지 측정을 위한 데이터 ( 해당 데이터는 훈련데이터에 포함되어 있어서는 안된다. 왜냐하면 이미 훈련되는데 쓰여진 데이터는 시험을 하기에는 오염되었다고 판단되기 때문이다. )추후에 다시 얘기 되겠지만 이것이 "오버피팅 ( 훈련데이터에만 너무 잘 맞춰진 모델의 문제)" 문제와도 연결된다. ㅁ 손실함수 성능의 "나쁨"을 나타내는 지표로 딥러닝의 목적을 구체화 하면 이 손실함수의 값을 Minimize 하는 것이다. 손실함수를 예시로 하나 들어보면 손글씨를 보고 이 손글씨가 나타내는.. 더보기