순환 신경망 (RNN)
순환 신경망 (Recurrent Neural Network)
- 기본 인공신경망 구조에서 이전 시간(t-1)의 은닉층의 출력값을 다음 시간(t) 의 은닉층의 입력값으로 다시 집어넣는 경로가 추가된 형태
- 현재시간 t의 결과가 다음 시간 t+1 에 영향을 미치고, 다시 다음시간 t+2 에 영향을 미치는 과정이 끊임없이 반복
- 순환신경망은 자연어 처리 문제에 주로 사용되며 시계열 데이터를 다루기에 좋다
- 예) 주식가격, 파형으로 표현되는 음성데이터, 앞뒤 문맥을 가진 단어들의 집합으로 표현되는 자연어 데이터
RNN 과 시계열
특징과 이점
- 이전 상태에 대한 정보를 일종의 메모리(Memory) 형태로 저장
- 앞에서 얻은 정보가 다음에 얻은 데이터와 연관관계를 갖는 시계열 데이터를 다룰 때 강력한 효과
- RNN 을 다른 관점으로 바라보면 시간축에 따라 인공신경망을 펼친(unfold) 형태로 생각할 수 있다.
- 예를 들어, 5개의 단어로 이루어진 문장을 RNN 의 인풋으로 사용한다면 순환 연결이 없는 인공신경망을 5층으로 쌓은 것으로 볼 수 있다.
e.g.
1d CNN 과 RNN 의 활용예시
- convolution Neural Networks for Sentence Classification , 2014
- Unsupervised Reccurent Neural Network Grammars , 2019
'ML&DL' 카테고리의 다른 글
장단기 기억 네트워크(Long Short-Term Memory, LSTM ) (0) | 2023.03.01 |
---|---|
batch normalization , early stopping (0) | 2023.02.28 |
과대적합(overfitting)의 극복 (0) | 2023.02.26 |
CNN 분류모형 예시 (0) | 2023.02.25 |
CNN 의 차원 (1d, 2d, 3d) (0) | 2023.02.21 |