딥러닝 알고리즘 III · RNN — 순서가 있는 데이터를 다루다

📘 코딩이란? 강좌 · 3-5단원 — 인공지능/머신러닝/딥러닝 입문 시리즈

순환 신경망(RNN)이란

RNN(Recurrent Neural Network)은 문장, 시계열, 음성처럼 순서가 중요한 데이터를 다루기 위한 신경망입니다. 앞에서 본 정보를 기억해 뒤의 판단에 활용한다는 점이 특징입니다.

이전 정보를 기억하는 구조

일반 신경망은 입력을 각각 독립적으로 처리하지만, RNN은 이전 단계의 계산 결과(은닉 상태, hidden state)를 다음 단계로 넘겨줍니다. 덕분에 “나는 밥을 ___” 다음에 ‘먹었다’가 오리라는 식으로 앞 맥락을 반영할 수 있습니다.

장기 의존성 문제

그러나 순서가 길어지면 앞쪽 정보가 뒤로 갈수록 흐려지는 장기 의존성 문제가 생깁니다. 문장 맨 앞의 주어를 문장 끝에서 기억하지 못하는 식입니다.

LSTM과 GRU

이 문제를 완화하기 위해 LSTMGRU가 등장했습니다. 이들은 ‘무엇을 기억하고 무엇을 잊을지’ 조절하는 게이트 장치를 두어, 오래된 정보도 필요하면 오래 유지할 수 있게 만들었습니다.

핵심 정리

  • RNN은 순서가 있는 데이터를 처리하는 신경망이다.
  • 이전 은닉 상태를 다음 단계로 넘겨 맥락을 기억한다.
  • 장기 의존성 문제를 LSTM·GRU가 보완한다.

“딥러닝 알고리즘 III · RNN — 순서가 있는 데이터를 다루다”에 대한 1개의 생각

댓글 남기기