본문 바로가기

순환 신경망

RNN의 한계 【5】RNN 기본 다지기 / 실무에서 활용되는 LSTM 이해하기 RNN의 한계 RNN의 구조를 다시 한번 보자. RNN은 계속해서 같은 셀의 반복으로 구성된다. 반복 횟수는 입력의 길이(sequence)에 따라 달라지는데 입력의 길이가 길면 그만큼 시간 축이 길게 펼쳐지므로 신경망이 깊어진다. 즉, 신경망의 깊이는 입력에 의존적이라고 할 수 있다. 또한 RNN의 동작은 아래의 수식과 같이 표현할 수 있었는데 마치 양파처럼 이전 타임스텝들이 가중치로 겹겹이 쌓인 구조를 띄었다. 이렇게 RNN은 이전 타임스텝의 모든 입력을 참조하는 특징을 가지는데 다시 말하면 서로 다른 층들이 매개변수를 공유한다고 할 수 있다. RNN의 이러한 특징으로 인해 훈련에 큰 어려움이 발생한다. 입력 순차열이 길다면 상황은 더욱 .. 더보기
시계열 데이터 분석을 위한 RNN 【5】RNN 기본 다지기 / 순환 신경망의 출현 시계열 데이터 분석을 위한 RNN 지금까지 살펴본 신경망 모델의 구조를 단순화시킨다면 아래와 같이 생각할 수 있다. 즉 화살표 오른쪽에 있는 그림처럼 신경망 모델을 표현 할 수 있다. 파란 동그라미가 입력으로 들어가면 네모박스에 있는 은닉층들을 통과하여 파란 동그라미로 출력이 된다. 여기서 하나의 네모 박스 안에는 여러개의 가중치(weights)가 포함되었다고 이해할 수 있다. 이제 우리는 단순화시킨 오른쪽 그림을 사용해 RNN을 이해해 볼 것이다. 텍스트 데이터를 이용해 예시를 들어보겠다. 한 문장에 대한 다음 문장을 예측하는 모델을 만든다고 가정해보자. 그렇다면 입력데이터는 하나의 문장이 될 것이고 출력데이터도 마찬가지로 예측한 하나의 문장일 것이다. .. 더보기
순환 신경망의 출현 : 시계열 데이터 분석의 이해 【5】RNN 기본 다지기 / 순환 신경망의 출현 순환 신경망의 출현 : 시계열 데이터 분석의 이해 지금까지 다뤘던 인공신경망은 사실 독립적인 데이터를 다루기에 적합하다. 그러나 순서가 있는 데이터를 독립적으로 본다면 어떻게 될까? 데이터 속의 관계성이 깨질것이며 이는 곧 정보의 손실을 의미한다. 이러한 문제를 해결하기 위해 등장한 것이 바로 순환신경망(Recurrent Neural Network, RNN)이다. 간단히 말하면 연속된 데이터를 다루는데 적합한 신경망이다. 이번 장에서는 RNN에 대해서 알아볼 차례이다. 그 전에 연속된 데이터가 무엇인지 먼저 설명하겠다. 이는 RNN의 재료가 될 뿐만 아니라 RNN의 구조를 이해하는데 도움이 될 것이다. "시계열 데이터 분석의 이해" 순서가 있는 데이터를 일.. 더보기