순환신경망(Recurrent Neural Networks, RNN)

: 자연어 처리(Natural Language Processing) 문제에 주로 사용되는 인공신경망 구조

: 시계열 데이터를 다루기에 최적화된 인공신경망

(시계열 데이터? 시간축을 중심으로 현재 시간의 데이터가 앞, 뒤 시간의 데이터와 연관 관계를 가지고 있는 데이터. 주식 가격, 파형으로 표현되는 음성 데이터, 앞뒤 문맥을 가진 단어들의 집합으로 표현되는 자연어 데이터 등)

 

 

 

<RNN 구조>

이미지 출처&nbsp;https://en.wikipedia.org/wiki/File:Recurrent_neural_network_unfold.svg

: 기존 ANN 구조에서 이전 시간(t-1)의 은닉층의 출력값을 다음 시간(t)에 은닉층의 입력값으로 다시 집어넣는 경로가 추가된 형태

: 현재 시간 t의 결과가 다음 시간 t+1에 영향을 미치고 이는 다시 다음 t+2에 영향을 미치는 과정이 끊임없이 반복됨

 

→ 이러한 구조를 통해 얻을 수 있는 장점은 이전 상태에 대한 정보를 일종의 메모리 형태로 저장할 수 있다는 점

 

 

 

<Vanishing Gradient Problem, 경사도 사라짐 문제>

이미지 출처&nbsp;https://gruuuuu.github.io/machine-learning/lstm-doc2/

 

시간 1에서 입력받은 데이터는 시간 1에서 RNN 파라미터를 업데이트하거나 예측을 진행하는데 강한 영향력(=큰 경사도)을 끼친다. 하지만 2,3,...에서 계속 새로운 데이터가 들어옴으로써 새로 들어온 데이터의 영향력에 덮어 쓰여서, 시간 1에서 입력받은 데이터의 영향력은 조금씩 사라지다가 시간 7쯤에서 영향력이 완전히 사라지는 현상이 발생한다.

 

--> RNN의 문제점 : 장기기억력을 가지지 못한다는 점. 

현재 시간에서 가까운 시간의 데이터만 고려해서 예측을 진행하게 되고, 현재 시간보다 오래 전의 데이터를 고려해서 예측해야하는 상황에서 RNN의 성능이 감소하는 결과를 낳는다.

 

 

따라서 이런 문제를 해결하기 위해 생긴 RNN구조가 바로 LSTM(Long-Short Term Memory Networks, 장/단기 기억 네트워크)이다.

 

이미지 출처&nbsp;https://en.wikipedia.org/wiki/File:Long_Short-Term_Memory.svg

LSTM은 은닉층의 각각의 노드를 인풋 게이트 Input Gate, 포겟 게이트 Forget Gate, 아웃풋 게이트 Output Gate로 구성된 메모리 블럭 Memory Block이라는 복잡한 구조로 대체된다.

 

 

아래 그림에서 ○는 게이트가 열려있음을, ㅡ는 게이트가 닫혀있음을 뜻한다. 

시간 1에서의 인풋데이터를 받은 이후에 Input Gate를 닫아버려서 새로운 인풋을 받지 않고, Forget Gate를 열어놔서 시간 1에서의 인풋데이터를 계속해서 전달받으면, 시간 1에서의 인풋의 영향력을 계속해서 가져갈 수 있다. 마지막으로, Output Gate를 열고 닫으면서, 시간 1에서의 인풋데이터의 영향력을 반영하거나 반영하지 않을 수 있다.

 

 

 

<Gate Recurrent Unit, GRU>

: LSTM의 간략화된 버전

: LSTM의 3개의 게이트를 2개의 게이트(리셋 게이트(r)업데이트 게이트(z))로 축소

 

이는 LSTM보다 학습 속도가 빠르다고 알려져있지만, 비슷한 성능을 보인다고 평가되어진다.

데이터 양이 적을 때는 GRU, 데이터 양이 많을 때는 LSTM을 사용하는 것이 좋다.

 

GRU 구조

'Study > Deep Learning' 카테고리의 다른 글

TensorFlow 2.0을 이용한 Char-RNN 구현  (0) 2021.10.20
Embedding  (0) 2021.10.20
Pre-Trained CNN 모델을 이용한 Image Classification  (0) 2021.10.18
Fine-Tuning(Transfer Learning)  (0) 2021.10.18
TensorBoard 이용하기  (0) 2021.10.18

+ Recent posts