LSTM 네트워크 이해하기
이 글은 http://colah.github.io/posts/2015-08-Understanding-LSTMs/ 를 번역하여 정리한 글입니다. ------------------------------------------------------------------------- RNN(Recurrent Neural Network)은 히든 노드가 방향을가진 엣지로 연결되어 순환 구조를 이루는 Neural Network의 한 종류이다. RNN이 기존 Neural Network와 다른 점은 지금 들어온 입력 데이터와 과거에 입력 받았던 데이터를 동시에 고려한다는 점이다. 순환 신경망은 내부에 정보가 지속되는 것을 돕는 순환 구조를 가진 네트워크이며, 과거의 데이터가 미래에 영향을 주는 구조를 가지고 있다. [그림 1] RNN의 기본구조 [그림 1]에서 신경망 A는 $X_t$를 입력 값으로 가지고 $h_t$를 결과 값으로 출력한다. 루프는 정보가 전 단계의 네트워크에서 그 다음 단계로 전달되도록 한다. 순환 신경망은 하나의 네트워크가 여러 개로 복사된 형태를 보이고 있는데, 각각의 네트워크는 현재 갖고있는 정보를 다음 단계로 넘겨준다. [ 그림 2] 펼쳐진 순환 신경망 [그림 2]는 [그림 1]의 순환 구조를 펼쳐 놓은 것이다. RNN의 사슬 같은 모양을 통해 RNN이 시퀀스와 리스트를 처리하는 것과 관련이 있음을 알 수 있다. 따라서 순환 신경망은 연속적인 이벤트, 리스트에 관한 문제를 해결하기 위한 알고리즘으로 적절하기 때문에 시계열 모형 수립에 활용할 수 있다. 순환 신경망의 단점 중 하나는 정보가 오래된 정보를 현재 정보에 반영할 수 없다는 점이다. 이를 해결하기 위해 나타난 것이 LSTM이다. LSTM의 기본 동작 원리는 정보를 오랫동안 기억하는 것이며 [그림 3]은 LSTM의 구조를 나타낸 그림이...