[DL] RNN(Recurrent Neural Network), 순환 신경망

Minjeong Kim·2026년 1월 7일

인공지능

목록 보기
34/50

📢 RNN 개념에 대한 페이지입니다.

개념

  • 기본 수치데이터: MLP
  • 이미지 데이터: CNN
  • 시계열 데이터(텍스트 데이터): RNN

텍스트 모델의 근간

  • 앞 단에 따라 뒷 단어 예측!
  • 다음 단어를 쓰기 위해서는 이전 단어를 기억하고 있어야 한다! → RNN 원리

탄생 이유

  • 문장을 듣고 무엇을 의미하는지 알아야 서비스 제공이 가능
  • 문장을 듣고 이해한다는 것은 많은 문장을 이미 학습해 놓았다는 것
  • 문장의 의미를 전달하려면 각 단어가 정해진 순서대로 입력되어야 함
  • 과거에 입력된 데이터와 나중에 입력된 데이터 사이의 관계를 고려해야 하는 문제가 생김
  • 시간적 개념이 들어간 데이터들을 해결하기 위해 순환신경망(RNN)이 고안됨! → 즉, 순서 데이터를 가지고 학습함!

일반 신경망과 순환 신경망의 차이

  • RNN 은 여러 개의 데이터가 순서대로 입력되었을 때 앞서 입력받은 데이터의 연산 결과를 잠시 기억해 놓는 방식
  • 기억된 데이터를 가지고 다음 데이터로 넘어가면서 함께 연산함!
    → “기억 가중치” 추가됨!
  • 앞에서 나온 입력에 대한 결과가 뒤에서 나오는 입력 값에 영향을 줌
  • 예를 들어 비슷한 두 문장이 입력되어도 앞에서 나온 입력 값을 구별하여 출력 값에 반영할 수 있음
  • 모든 입력 값에 이 작업을 순서대로 실행하므로 같은 층을 맴도는 것 처럼 보임
    • 같은 층 안에서 맴도는 성질 때문에 ‘순환’ 신경망이라고 함
    • 연산량 많음
  • RNN 이 발전해서 transformer (이게 gpt 근간)

RNN 확장판

input: output 개수에 따른 종류 나뉨

  • one to one
    • 기본 구조
  • one to many
    • 사진 설명 붙이기
    • 사진 → 단어들
  • many to one
    • 감성 분석
    • 단어들 → 감성 점수
  • many to many
    • 번역
    • 단어들 → 단어들

RNN 기본 구조

Reference: https://mblogthumb-phinf.pstatic.net/MjAxODA2MDhfMTY5/MDAxNTI4NDAxNzM0Njc4.WNt0IwZmZl9tPdsHoDd_9oM--_B6JBPuhZXJQirRjNIg.BG0GIKaRWe6OqyCJqexKnjAHZsqaaTRulmtzGTcPnx8g.PNG.sw4r/image.png?type=w800

  • 현재 시간 이전의 단어가 함께 붙어서 계산 → 기억 가중치가 같이 붙는다

  • 기억 가중치 = Whh * h(t-1)

  • 퍼셉트론 = 선형함수 + 활성화 함수
    (위 식에서 활성화 함수 = 탄젠트 하이퍼볼릭 함수)

활용 사례

  • 시계열 데이터, 음악, 문장, 번역

사용 방법

SimpleRNN(uniuts = 3,
		  input_shape = (4,9))
  • units : 뉴런 개수
  • input_shape : (timesteps, features)
    *순환 횟수 = 몇번째 전 데이터까지 볼 건지!
    (예) h, e, l, l, _ → 마지막 단어를 예측하려고 한다면 앞에 4개까지 고려해서 예측하므로 timesteps 는 4가 됨

0개의 댓글