4.3.3 순환 신경망
순환 신경망(Recurrent Neural Network,RNN)은 시계열 데이터(음악, 영상 등) 같은 시간 흐름에 따라 변화하는 데이터를 학습하기 위한 인공 신경망입니다. 따라서 다음 그림과 같이 순환 신경망의 ‘순환(recurrent)’은 자기 자신을 참조한다는 것으로, 현재 결과가 이전 결과와 연관이 있다는 의미입니다.
▲ 그림 4-27 순환 신경망
순환 신경망의 특징은 다음과 같습니다.
• 데이터에 시간성(temporal property)을 가진 데이터가 많습니다.
• 시간성 정보를 이용하여 데이터의 특성을 잘 다룹니다.
• 시간에 따라 내용이 변하므로 데이터는 동적이고, 길이가 가변적입니다.
• 매우 긴 데이터를 처리하는 연구가 활발히 진행되고 있습니다.
순환 신경망은 기울기 소멸 문제(vanishing gradient problem)로 학습이 제대로 되지 않는 문제가 있습니다. 이를 해결하고자 메모리 개념을 도입한 LSTM(Long-Short Term Memory)이 순환 신경망에서 많이 사용되고 있습니다.
순환 신경망은 자연어 처리 분야와 궁합이 맞습니다. 대표적인 예로는 언어 모델링, 텍스트 생성, 자동 번역(기계 번역), 음성 인식, 이미지 캡션 생성 등이 있습니다.
순환 신경망은 ‘7장 시계열 분석’에서 자세히 설명합니다.