RNN 순환 신경망 (Recurrent Neural Network)
- 음성, 동영상, 주식 시세와 같은 시간의 흐름이 있는 Sequence(시계열) 데이터를 다루는 신경망이다. 활용 - 자율 주행 차량의 궤적을 예측, 이미지나 비디오의 캡셔닝, 고정길이 보다 임의의 길이의 시퀀스를 다룰 때, NPL (Natural Language Processing) 처리 - 음성인식, 변역 |
- 인식이 아닌 이미지 설명하며 주어진 이미지를 문장을 통해 설명한다. 이미지 인식이나 분류보다 더 어려운 문제이다. |
- 현재 단계의 정보다 다음 단계에 전달되어 output 에 영향을 주는 것이 핵심 |
- 순환 신경망은 다중 퍼셉트론과 비슷하지만 은닉층 사이가 순환 가중치(Recurrent weight)로 연결된다. |
- Recurrent : 이전 어떤 정보가 다음 입력을 처리할 때 추가적으로 사용되는 것 (일종의 메모리 역할) * 메모리 : 현재까지 입력데이터를 요약한 정보 (최종적으로 남겨진 메모리는 모든 입력 전체를 요약한 정보가 된다.) |

RNN 연산구조

구조 및 학습 방법
Memory Cells
- 순환 신경망의 출력값은 이전 스텝에서의 모든 입력의 함수로 이루어져 있으므로 메모리 형태를 띄고있다.
- 이전의 값을 기억하려고 하는 일종의 메모리 역할을 수행하므로 이를 메모리 셀 또는 RNN 이라고 한다.
학습 방법
- 시간의 흐름의 역추적 관계까지 고려하여 역전파 계산한다.
- Back Propagation Through Time (BPTT) : 큰 시계열 데이터를 취급할 때 신경망 연결을 적당한 길이로 끊어 잘라낸 신경망에서 역전파를 수행하는 것
- ANN (Artifical Neural Network) 보다 vanishing gradient 문제가 더 심각할 수 있다.
* ANN (Artifical Neural Network) : 인공신경망으로 생물학적 신경망의 구조와 기능을 기반으로 한 계산 모델이다. (패턴 인식과 머신 러닝이 가능한 딥 러닝 모델)
* 역전파 BackPropagation : 역방향으로 해당 함수의 국소적 미분을 곱해 나가는 방법
* vanishing gradient 문제 : 시계열의 특성상 오래된 데이터를 망각하는 현상에 비유한 것이다.
RNN 의 여러가지 모델
종류 | 모델 |
one-to-many : 하나의 입력에 대해서 여러개의 출력을 갖는 모델 e.g. Image Captioning image - 이미지에 대한 설명 문장 |
![]() |
many-to-one : 단어 시퀀스에 대하여 하나의 결과를 출력하는 모델 e.g. Sentiment Classification sequence of words - 긍정 / 부정 감성값 |
![]() |
many-to-many : 여러개의 연속형 데이터 입력에 대해 여러 개의 결과를 출력하는 모델 e.g. Chatbot, Machine Translation sequence of words - sequence of words |
![]() |
'국비 교육 > 머신러닝, 딥러닝' 카테고리의 다른 글
[머신러닝] DBSCAN (0) | 2024.08.06 |
---|---|
[머신러닝] 상관분석 - 변수 간의 관계 (선형, 비선형) (0) | 2024.08.06 |
[딥러닝] 활성화함수, 출력함수, 손실함수, 최적화함수 (0) | 2024.08.01 |
[딥러닝] DNN 심층신경망 (0) | 2024.08.01 |