라벨이 RNN인 게시물 표시

LSTM(Long Short Term Memory networks / GRU(Gated Recurrent Unit)

이미지
개인적으로 공부하기 위해 블로그나 논문을 찾아보면서 정리한 글입니다. 내용에 이상이 있거나 저작권상 문제가 있을 경우 댓글 남겨 주세요. LSTM 특징 LSTM(Long Short Term Memory networks) 은 RNN 모델의 일종으로 , RNN 의 은닉층에 Cell state 라는 개념을 도입하여 예전에 입력된 데이터라도 가중치를 긴 기간 가질 수 있게 설정된 네트워크입니다 . 그림 1 - LSTM LSTM 은 각 기능별로 forget gate layer, Input gate Layer, Output gate Layer 로 나뉘어 있으며 , 이 기능들을 토대로 4 개의 과정을 거쳐 입력 값에 가중치를 부여하게 됩니다 . Gate 별 구성 요소는 과정을 거쳐가면서 설명하도록 하겠습니다 . 1.     Cell state 에서 어떤 정보를 버릴지 선택 (Forget gate) 그림 2 - Forget Gate Layer Cell state 에는 이전 시점들의 정보들을 가지고 있습니다 . 이번 단계에서는 이전 시점의 값을 가져갈 지 버릴 지 선택하게 됩니다 . Forget gate 는 하나의 시그모이드 Layer ( 그림에서 노란색 상자 ) 와 두 개의 입력 값 ( 이전 시점의 결과값 , 지금 시점의 입력 값 ) 으로 구성되어 있습니다 . 시그모이드 함수로 계산될 경우 0 과 1 사이의 값이 나오게 되는데 , 0 의 값이 나올 경우 Cell state 에서 이전 정보가 제거됩니다 . 반대로 1 이 나올 경우 Cell state 에서 이전 정보를 계속 가져갑니다 . 2.     새로운 정보가 Cell state 에 저장될 지 결정 (Input gate) 새롭게 들어온 데이터 및 이전의 결과값을 토대로 , Cell state 에 새 값을 입력할 지 결정합니다 . ...

RNN - Recurrent Neural Networks

이미지
개인적으로 공부하기 위해 블로그나 논문을 찾아보면서 정리한 글입니다. 내용에 이상이 있거나 저작권상 문제가 있을 경우 댓글 남겨 주세요. RNN     RNN(Recurrent Neural Networks) 는 입력과 출력을 시퀀스 ( 배열 ) 단위로 처리할 수 있는  인공 신경망입니다 .  입력 값의 길이가 고정되어 있는 기존의 인공 신경망과는 달리  다양한 길이의 입력 시퀀스를 처리할 수 있어,  RNN 은 문장이나 주식 등의 배열 ( 시계열 ) 데이터 처리에 쓰이는 대표적인 인공 신경망 모델로 자리매김하였습니다 . 과거 신경망과 비교     이전의 인공 신경망은 피드 포워드 신경망 (Feed Forward Neural Network) 이라 하여 , 값이 입력층에서 은닉층까지 순서대로 연산이 진행되어 출력층 방향으로 나가는 형태를 띄고 있습니다 . 이 과정에서 데이터는 노드를 단 한 번만 지나가게 되므로 , 이는 시간의 순서를 무시하고 주어진 데이터로만 독립적으로 학습하는 것을 의미합니다 .     반면에 RNN 은 은닉층에서 연산한 결과를 출력층과 은닉층 두 곳에 보내는 구조를 띄고 있습니다 . 은닉층으로 보내진 결과값은 다음 시점의 입력 값 가중치를 계산하는 데 사용되며 , 이렇게 계산된 값은 또다시 출력층 , 그리고 다음 시점의 은닉층으로 전송됩니다 . 이로써 먼저 입력된 데이터 일지라도 무시되지 않고 다음 입력 값에 영향을 미치는 , 즉 시간의 순서를 고려하는 것이 가능 해졌습니다 . 그림1 - RNN의 도식 단점     RNN 은 시퀀스 데이터 처리에 탁월한 성능을 보이지만 , 이에 반해 명확한 한계도 가지고 있습니다 . RNN 은 짧은 시퀀스 데이터에선 효과를 보이나 , 시퀀스가 길어질수록 데이터의 정확한 예측이 어려워집니다 . 예측하고자 하는 데이터와 이...