# 순환 신경망(Recurrent Neural Network, RNN)
- 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델
- 다양한 길이의 입력 시퀀스를 처리할 수 있는 인공 신경망 시퀀스 모델
- 시퀀스 모델 = 시퀀스를 처리하기 위해 고안된 모델
- 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서 다시 은닉층 노드의 다음 계산의 입력으로 보내는 특징을 가짐
- 은닉층에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드 = 셀(cell)
- 이전의 값을 기억하려고 하는 일종의 메모리 역할을 수행
- 메모리 셀, RNN 셀이라고도 함
- 각각의 시점(time step)에서 바로 이전 시점에서의 은닉층의 메모리 셀에서 나온 값을 자신의 입력으로 사용하는 재귀적 활동을 하고 있음
=> 현재 시점 t에서의 메모리 셀이 갖고 있는 값은 과거의 메모리 셀들의 값에 영향을 받은 것을 의미 - 메모리 셀이 출력층 방향 또는 다음 시점인 t+1에게 보내는 값 = 은닉 상태
=> t 시점의 메모리 셀은 t-1 시점의 메모리 셀이 보낸 은닉 상태값을 t 시점의 은닉 상태 계산을 위한 입력값으로 사용
- RNN에서의 단위
- 입력층과 출력층에서는 각각 입력 벡터와 출력 벡터
- 은닉층에서는 은닉 상태
- 위 그림에서 회색과 초록색 네모들은 기본적으로 벡터 단위를 가정
- RNN 셀의 각 시점의 입, 출력 단위는 사용자가 정의하기 나름이지만 가장 보편적인 단위는 단어 벡터
# 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq)
- 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 다양한 분야에서 사용되는 모델
ex) 챗봇, 기계 번역, 내용 요약, STT ...- 챗봇 -> 입력 시퀀스와 출력 시퀀스를 각각 질문과 대답으로 구성
- 번역기 -> 입력 시퀀스와 출력 시퀀스를 각각 입력 문장과 번역 문장으로 구성
![]() |
![]() |
# 참고글
08-01 순환 신경망(Recurrent Neural Network, RNN)
RNN(Recurrent Neural Network)은 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델입니다. 번역기를 생각해보면 입력은 번역하고자 하는 단어…
wikidocs.net
자연어 처리의 모든 것
부스트코스 무료 강의
www.boostcourse.org
'딥러닝' 카테고리의 다른 글
[개념] Word Embedding, Word2Vec, GloVe (0) | 2023.02.09 |
---|---|
[개념] Bag-of-Words, Naive Bayes Classifier (0) | 2023.02.09 |
[개념] 딥러닝 학습 방법 이해하기 (0) | 2023.01.31 |
[개념] 한국어 전처리 패키지(Text Preprocessing Tools for Korean Text) (0) | 2023.01.25 |
[개념] 어간 추출(Stemming) 및 표제어 추출(Lemmatization) (0) | 2023.01.22 |