RNN - Recurrent neural network
·
인공지능
What is RNN ?rnn은 이름에서도 알 수 있듯이 반복되는 구조의 신경망이다.즉, 한 rnn 유닛이 여러 time step를 가질 수 있어서, 임이의 길이의 정보를 처리할 수 있다.이때 한 rnn 유닛은 모든 time step에서 가중치를 공유한다.또 rnn은 이러한 구조 덕분에 시계열 데이터나 순차적인 데이터 처리를 잘한다. 주의해야될 점이 있는데 이는 rnn이 시간에 따라 측정된 데이터를 다 처리할 수 있다는 것은 아니다.rnn은 stationary한 데이터 즉, 시간에 따른 확률 분표의 변화가 (적거나)없는 데이터를 가장 잘 처리한다.rnn이 모든 time step에 대해 가중치를 공유하는 이유도 이러한 가정에 바탕을 둔 것으로 생각할 수 있다. 왜 굳이 mlp대신 rnn을 사용하는지 의문이..
머신러닝에 쓰이는 정보이론
·
인공지능
정보정보이론에서 정보란 예측 불가능한 정도를 나타내는 물리량이다.확률 $p$의 정보는 수식적으로 다음과 같이 정의된다.$$I(p) = -\log_2 (p)$$ 그래프로 나타내면 다음과 같다.즉, 확률이 1인 사건은 정보량이 0이고, 확률이 낮은 사건일수록 정보량이 크다. 이를 다음과 같이 생각해볼수도 있다.어떤 사건이 일어날 확률이 높다는 것은 그 사건을 예상하기 쉽다는 것이고, 예상과 일치한다는 것은 새로운 정보가 없다는것이니까 정보량도 낮다고 볼수 있다.  entropy어떤 확률변수 $X$에 대해 $X$의 엔트로피는 $X$의 정보량의 평균(기댓값)으로, 다음과 같이 정의된다.$$H(X=x) = - \sum p(x_i) \log_2 p(x_i)$$ 정보와 엔트로피의 단위는 $log$의 밑에 따라 다른데..
Optimizer 정리
·
인공지능
SGD (Stochastic gradient descent)$$w_{t+1} = w_{t} - \alpha \cdot \frac{\partial J(t)}{\partial w_{t}}$$ $\alpha$ : 학습률로 0.01, 0.001등의 작은 값을 사용한다. 가장 기본적인 형태의 optimizer로, (mini-)batch 단위로 경사하강법을 한다.기울기가 0이되면 업데이트가 일어나지 않는다는 문제점이 있다. Momentum$$m_{t+1} = \beta \cdot m_{t} + (1 - \beta) \cdot \frac{\partial J(w_{t})}{\partial w_{t}}$$$$w_{t+1} = w_{t} - \alpha \cdot m_{t+1}$$ $m$ : 기존의 기울기에 지수 가중 평..
zanzun
zanzun blog