ASAC 빅데이터 분석가 7기/ASAC 일일 기록

ASAC 빅데이터 분석가 과정 56일차 (25.02.28)

junslee 2025. 2. 28. 10:47

8_dl

2_papers

9_transformer

rnn_lstm_transformer

 

사전 Review : RNN

  • RNN : Recurrent Neural Network
    - Activation Function : 일반적으로 tanh로 사용
    ( ReLU는 RNN에서는 좀 계속 곱해지게 되면서, 진동 발산이 잘 되면서 수렴이 좀 어려운 경우가 있어서 최신 AF을 주로 사용하지 않음)
    - 순차적인 Sequence 
    Recurrent : 이전의 정보들을 모델에 반영 -> h가 이 역할을 함
    입력에 대한 중요한 부분 : 가변적인 입력에 대한 대응이 유리함 -> 일반적인 DNN의 경우에는 입력하는 차원에 따라서 input layer의 노드의 수가 가변적으로 계속 해야하지만, RNN은 그냥 계속 반복 통과만 시키면 됨 -> 그래서 시계열, NLP 등에 유리하게 됨
    다음이 무엇이 나올까 예측에 주로 사용 -> 시계열 상 다음 값, 언어 상에서 연관된 다음 단어, 알파벳 등 예측에 사용

RNN의 구조와 특징

RNN은 시계열 데이터나 순차적인 데이터를 처리하기 위해 설계된 신경망입니다. 일반적인 Feed Forward Network(FFN)와 달리, RNN은 이전 단계의 출력을 다음 단계의 입력으로 사용하는 순환 구조를 가지고 있습니다.

1. RNN의 기본 구조

  • 입력과 가중치 계산: 각 시점(time step)에서 입력 xt는 가중치 Wx와 곱해지고, 이전 은닉 상태 ht−1는 가중치 와 곱해져 더해집니다.
  • 활성화 함수: 이 합은 활성화 함수(예: tanh)를 통해 비선형 변환을 거쳐 새로운 은닉 상태 ht를 생성합니다.ht=tanh(Wxxt+Whht−1+b)여기서:
    • Wx: 입력에 대한 가중치 행렬
    • Wh: 은닉 상태에 대한 가중치 행렬
    • b: 편향(bias)

2. 시간 축으로 펼친 RNN

이미지에서 오른쪽 하단의 "Unfold" 그림은 RNN의 순환 구조를 시간 축으로 펼친 모습입니다. 이를 통해 RNN이 어떻게 시점별로 데이터를 처리하는지 알 수 있습니다.

  • 각 시점에서:
    • 현재 입력 xt와 이전 은닉 상태 ht−1가 결합되어 새로운 은닉 상태 ht를 생성.
    • 마지막 시점에서는 출력값 yt를 계산.

수식과 계산 과정

이미지에서 설명된 수식과 계산 과정을 요약하면 다음과 같습니다:

1. 은닉 상태 계산

  • 첫 번째 시점에서:h1=tanh(Wxx1+b)예시로, Wx 2×4, x1 4×1이라면 결과는 2×1.

2. 행렬 연산

  • 행렬 크기:
    • 입력 데이터 크기: X=nsamples×nfeatures
    • 가중치 행렬 크기: Wx=nfeatures×nhidden
  • 예시로, 이미지에 나온 계산에서는:
    • 입력 데이터가 (4,2), 가중치가 (2,3)일 때 결과는 (4,3).

RNN의 장점과 한계

장점

  • 순차적 데이터(예: 텍스트, 음성, 시계열 데이터)에 적합.
  • 이전 정보(문맥)를 활용하여 현재 출력에 반영 가능.

한계

  • 장기 의존성 문제: 시간이 길어질수록 초기 정보가 소실되는 문제.
  • 이를 해결하기 위해 LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit) 같은 개선된 모델이 개발됨.

이미지는 이러한 RNN의 기본 작동 원리와 수학적 계산 과정을 직관적으로 설명하고 있습니다. RNN은 입력 데이터의 순서와 시간적 의존성을 효과적으로 처리할 수 있는 강력한 도구입니다.



~p.72