개발 창고/AI

[AI] RNN(Recurrent Neural Network)과 MLP(Multi-Layer Perceptron)의 차이

Royzero 2025. 5. 30. 22:00
반응형

1. 구조적 차이

항목 RNN MLP
구조 순환 구조. 이전 시점의 출력을 현재 입력과 함께 사용 계층적 구조. 모든 입력은 독립적으로 처리됨
파라미터 공유 시간축에서 가중치 공유 층 간에는 파라미터 공유 없음
입력 형태 시퀀스 데이터(시간 또는 순서가 있는 데이터) 고정된 벡터 형태의 입력

2. 데이터 처리 방식

항목 RNN MLP
시간 의존성 시간 순서를 따라 데이터를 처리하며, 이전 정보(히든 상태)를 기억 모든 입력을 독립적으로 처리
상태 저장 내부 상태(히든 스테이트)를 유지함 상태 저장 없음

3. 사용되는 분야

항목 RNN MLP
적합한 작업 자연어 처리(NLP), 시계열 예측, 음성 인식 등 순차 데이터 처리 이미지 분류, 구조화된 데이터 분류/회귀 등
예시 텍스트 생성, 기계 번역, 주가 예측 등 숫자 분류, 고객 이탈 예측 등

4. 계산 흐름

  • MLP는 입력 벡터가 들어오면, 각 층을 거치면서 단방향으로 정보가 흐른다. 시계열적 문맥을 고려하지 않음.
  • RNN은 입력이 순차적으로 주어질 때, 매 스텝마다 이전의 은닉 상태를 이용하여 다음 상태를 계산함으로써 시간적 문맥을 반영함.

5. 수식적 표현

  • MLP (한 층의 예):

    $$
    h = f(Wx + b)
    $$

  • RNN (단순 RNN의 예):

    $$
    h_t = f(Wx_t + Uh_{t-1} + b)
    $$

    여기서 $h_{t-1}$은 이전 시점의 은닉 상태

반응형