최근 수정 시각 : 2025-04-16 14:55:00

자기회귀모델


1. 개요2. 핵심 원리3. 주요 아키텍처4. 생성 과정 및 샘플링 전략5. 장단점
5.1. 장점5.2. 단점
6. 비-자기회귀모델과의 비교

1. 개요

인공신경망 분야에서 자기회귀모델(Autoregressive Model)은 주로 순차적인 데이터(sequence data)를 생성(generation)하는 방식을 지칭한다. 전통적인 시계열 분석의 자기회귀모형에서 이름을 따왔지만, 선형 관계와 고정된 계수를 가정하는 통계적 AR 모형과는 달리, 복잡한 비선형 관계를 학습할 수 있는 인공신경망을 기반으로 한다.

핵심 아이디어는 이전 단계까지 생성된 결과물을 다음 단계의 입력으로 사용해 순차적으로 데이터를 생성해나가는 것이다. 즉, 모델이 자기 자신의 과거 출력(output)을 참조하여 다음 출력([math(t)] 시점)을 결정하는([math(P(x_t | x_1, ..., x_{t-1}))]) 구조다. 이러한 단계적 생성 방식 때문에 '자기회귀적'이라고 불린다.

주로 자연어 처리(NLP), 컴퓨터 비전(CV), 음성 처리 등 다양한 분야의 생성 모델(Generative Model)에서 핵심적인 방법론으로 사용된다.

2. 핵심 원리

자기회귀모형은 시퀀스 데이터 [math(X = (x_1, x_2, ..., x_T))]의 결합 확률 분포 [math(P(X))]를 조건부 확률의 연쇄 법칙(chain rule)을 이용해 다음과 같이 분해하여 모델링한다.

[math(P(X) = P(x_1, ..., x_T) = P(x_1) P(x_2|x_1) P(x_3|x_1, x_2) \cdots P(x_T|x_{<T}) = \prod_{t=1}^{T} P(x_t | x_{<t}))]

여기서 [math(x_t)]는 시퀀스의 [math(t)]번째 요소이고(예: 자연어 처리의 토큰, 컴퓨터 비전의 픽셀, 음성 처리의 오디오 샘플, [math(x_{<t})]는 [math(t)]번째 요소 이전까지 생성된 모든 요소 [math((x_1, ..., x_{t-1}))]를 의미한다.

인공신경망(예: RNN, 트랜스포머)은 각 단계 [math(t)]에서 이전까지의 시퀀스 [math(x_{<t})]를 입력받아, 다음 요소 [math(x_t)]가 나타날 조건부 확률 분포 [math(P(x_t | x_{<t}))]를 학습한다. 새로운 시퀀스를 생성할 때는, 모델이 예측한 이 확률 분포로부터 다음 요소 [math(x_t)]를 샘플링(또는 가장 확률 높은 요소 선택)하고, 이렇게 생성된 [math(x_t)]를 다시 다음 단계 [math(t+1)]의 입력으로 사용하는 과정을 시퀀스가 끝날 때까지 반복한다.

3. 주요 아키텍처

다양한 인공신경망 아키텍처가 자기회귀적 생성을 위해 사용되거나 변형되어 왔다.
  • 순환 신경망 (RNN, Recurrent Neural Network): LSTM, GRU 등 RNN 계열 모델은 내부의 은닉 상태(hidden state)에 과거 시점의 정보를 요약하여 저장하고, 이를 다음 시점의 출력을 예측하는 데 활용한다. 이러한 순차적 처리 방식은 자기회귀 모델링에 자연스럽게 부합한다.
  • 합성곱 신경망 (CNN, Convolutional Neural Network): WaveNet(오디오 생성), PixelCNN/PixelRNN(이미지 생성) 등은 마스크드 컨볼루션(Masked Convolution) 기법을 사용한다. 컨볼루션 필터가 미래 시점의 정보를 보지 못하도록 마스크를 씌우는 방식으로 구현되며 CNN 구조에서도 자기회귀적 모델링을 가능하게 한다.
  • 트랜스포머 디코더 (Transformer decoder): GPT(Generative Pre-trained Transformer)와 같은 LLM의 디코더(Decoder) 구조에서 자기회귀적 생성을 핵심으로 사용한다. 마스크드 셀프 어텐션(Masked Self-Attention) 메커니즘을 통해, 현재 위치 [math(t)]의 요소를 예측할 때 오직 이전 위치([math(1)]부터 [math(t-1)]까지)의 정보만을 참조하도록 강제한다. 이로 인해 병렬 학습이 가능하면서도 자기회귀적 생성 능력을 갖추게 된다.

4. 생성 과정 및 샘플링 전략

학습된 자기회귀모델로부터 실제 시퀀스를 생성할 때는 각 단계에서 예측된 확률 분포 [math(P(x_t | x_{<t}))]로부터 다음 요소 [math(x_t)]를 선택해야 한다. 이때 사용되는 주요 전략은 다음과 같다.
  • 탐욕적 디코딩(Greedy Decoding): 각 단계에서 가장 확률이 높은 요소 하나만을 선택한다. 가장 간단하지만, 국소 최적해에 빠지기 쉽고 다양성이 부족하다.
  • 빔 서치 (Beam Search): 각 단계에서 확률이 높은 상위 [math(k)]개(빔 크기)의 후보 시퀀스를 유지하며 탐색한다. 탐욕적 방식보다 전역적으로 더 나은 시퀀스를 찾을 가능성이 높지만, 여전히 결정론적이고 다양성이 부족할 수 있다.
  • 랜덤 샘플링: 확률 분포에 따라 다음 요소를 무작위로 샘플링한다. 생성 결과의 다양성을 높이고 더 자연스러운 결과를 만들 수 있다.
  • Top-k 샘플링: 확률 분포에서 가장 확률 높은 상위 [math(k)]개의 요소 중에서만 샘플링한다.
  • Nucleus Sampling (Top-p 샘플링): 확률 값의 합이 특정 임계값 [math(p)]이상이 되는 최소한의 상위 요소 집합(nucleus) 내에서 샘플링한다. 확률 분포의 모양에 따라 동적으로 후보군 크기를 조절한다.

5. 장단점

5.1. 장점

  • 시퀀스 내 요소들 간의 복잡하고 장기적인 의존성을 효과적으로 모델링할 수 있다.
  • 텍스트, 오디오, 이미지 등 다양한 영역에서 높은 품질과 현실적인 생성 결과를 보여주는 경우가 많다.
  • 조건부 확률 [math(P(x_t | x_{<t}))]를 명시적으로 모델링하므로, 확률론적 해석이 가능하고 샘플링 기반의 다양한 생성 전략을 적용할 수 있다.

5.2. 단점

  • 매우 느린 생성(추론) 속도: 다음 요소를 생성하기 위해 이전 요소가 반드시 먼저 생성되어야 하는 순차적 의존성 때문에, 병렬 처리가 불가능하다. 이는 특히 LLM과 같이 매우 긴 시퀀스를 생성할 때 심각한 병목 현상이 된다. [1]
  • 오류 전파 (Error Propagation): 생성 초기에 잘못된 요소가 샘플링되면, 이 오류가 이후 단계의 입력으로 계속 사용되면서 누적되어 최종 결과물의 품질을 크게 저하시킬 수 있다.
  • 훈련-추론 불일치 (Exposure Bias): 훈련 시에는 주로 실제 정답(ground-truth) 시퀀스를 다음 스텝의 입력으로 사용하는 Teacher Forcing 방식을 사용하지만, 실제 추론(생성) 시에는 모델 자신이 생성한 (잠재적으로 오류가 있는) 출력을 다음 입력으로 사용해야 하므로 훈련 환경과 추론 환경 간의 불일치가 발생한다.

6. 비-자기회귀모델과의 비교

자기회귀모델의 가장 큰 단점인 느린 생성 속도를 개선하기 위해 비-자기회귀(Non-Autoregressive, NAR) 또는 준-자기회귀(Semi-Autoregressive) 모델 연구가 활발히 진행되고 있다. 디퓨전 모델 등의 NAR 모델은 시퀀스의 전체 또는 여러 요소를 병렬적으로 동시에 생성하여 속도를 크게 향상시키는 것을 목표로 한다.

하지만 NAR 모델은 일반적으로 요소 간의 의존성을 모델링하기 어렵기 때문에 자기회귀모델만큼의 생성 품질을 달성하기 어렵다는 단점이 있다. 이를 보완하기 위해 반복적인 정제(Iterative Refinement), 지식 증류(Knowledge Distillation), 잠재 변수(Latent Variable) 도입 등 다양한 기법이 연구되고 있다.
[1] 이 단점을 극복하기 위해 비-자기회귀(Non-Autoregressive) 모델 연구가 활발하다.