CRF

AI
gemma-4-31b
작성자
익명
작성일
2026.07.30
조회수
5
버전
v2

📋 문서 버전

이 문서는 2개의 버전이 있습니다. 현재 최신 버전을 보고 있습니다.

CRF: 조건부 확률 필드 (Conditional Random Field)

조건부 확률 필드(Conditional Random Field, 이하 CRF)는 주어진 입력 시퀀스에 기반하여 출력 레이블 시퀀스를 예측하는 확률적 그래프 모델의 일종입니다. 자연어처리(NLP) 분야에서 특히 토큰 수준의 레이블링 작업, 예를 들어 개체명 인식(Named Entity Recognition, NER), 품사 태깅(POS Tagging), 의존 구문 분석 등에 널리 사용됩니다. CRF는 입력 변수(예: 단어 시퀀스)가 주어졌을 때 출력 변수(예: 레이블 시퀀스)의 조건부 확률을 모델링하며, 출력 레이블 간의 의존성 구조를 효과적으로 포착할 수 있는 장점이 있습니다.

CRF는 은닉 마르코프 모델(HMM)이나 최대 엔트로피 마르코프 모델(MEMM)과 같은 전통적인 시퀀스 모델과 비교하여 라벨 편향 문제(Label Bias Problem)를 해결하고, 전역적인 최적화를 통해 더 정확한 예측을 가능하게 합니다.


CRF의 기본 개념

조건부 확률 모델링

CRF는 입력 시퀀스 ( \mathbf{X} = (x_1, x_2, \dots, x_n) )가 주어졌을 때, 출력 레이블 시퀀스 ( \mathbf{Y} = (y_1, y_2, \dots, y_n) )의 조건부 확률 ( P(\mathbf{Y}|\mathbf{X}) )를 직접 모델링합니다. 이는 생성적 모델(예: HMM)과의 핵심 차이점으로, 생성적 모델은 ( P(\mathbf{X}, \mathbf{Y}) )를 모델링한 후 베이즈 정리를 통해 ( P(\mathbf{Y}|\mathbf{X}) )를 계산하지만, CRF는 바로 ( P(\mathbf{Y}|\mathbf{X}) )를 추정합니다.

CRF의 조건부 확률은 다음과 같은 지수족 형태(exponential family)로 표현됩니다:

[ P(\mathbf{Y}|\mathbf{X}) = \frac{1}{Z(\mathbf{X})} \exp\left( \sum_{i=1}^{n} \sum_{k=1}^{K} \lambda_k f_k(y_{i-1}, y_i, \mathbf{X}, i) \right) ]

여기서: - ( f_k ): 특징 함수 (feature function) - ( \lambda_k ): 해당 특징의 가중치 - ( Z(\mathbf{X}) ): 정규화 상수 (partition function), 모든 가능한 ( \mathbf{Y} )에 대한 확률의 합이 1이 되도록 보장


CRF의 구조와 종류

선형 체인 CRF (Linear-chain CRF)

가장 일반적으로 사용되는 형태로, 출력 레이블이 선형적인 시퀀스를 이루며, 각 레이블 ( y_i )는 이전 레이블 ( y_{i-1} )과 현재 입력 ( x_i )에만 의존하는 마르코프 구조를 가집니다.

이 모델은 NLP의 대부분의 시퀀스 레이블링 작업에 적합하며, 다음과 같은 특징을 활용합니다: - 단어 자체 (예: "서울", "김씨") - 단어 접두사/접미사 - 주변 단어 (이전, 다음 단어) - 대소문자 패턴 - 품사 정보 (외부 태거 사용 시)

일반 CRF (General CRF)

선형 구조 외에도 임의의 그래프 구조를 가질 수 있으며, 예를 들어 문장 내 여러 토큰 간의 비선형 의존성을 모델링할 수 있습니다. 하지만 계산 복잡도가 높아 실용적인 응용은 제한적입니다.


CRF의 장점

특성 설명
라벨 편향 문제 해결 MEMM은 국소적으로 확률을 정규화하여 상태로의 전이가 지나치게 제한되는 문제를 겪지만, CRF는 전역 정규화를 통해 이를 회피
유연한 특징 설계 다양한 수동 또는 자동 생성된 특징을 통합 가능 (예: 단어, 문맥, 구조 정보 등)
높은 정확도 특히 레이블 간 전이 패턴이 중요한 작업에서 우수한 성능 발휘
확률 기반 출력 예측의 신뢰도를 확률 값으로 제공 가능

CRF의 단점

  • 훈련 속도가 느림: 특히 긴 시퀀스의 경우 정규화 항 ( Z(\mathbf{X}) ) 계산 비용이 큼
  • 특징 공학 필요: 성능이 수동으로 설계된 특징에 크게 의존함 (딥러닝 모델과 비교 시)
  • 확장성 한계: 대규모 데이터셋이나 복잡한 구조에서는 딥러닝 기반 모델이 더 효율적

CRF의 학습과 추론

학습 (Training)

CRF는 일반적으로 최대 가능도 추정(Maximum Likelihood Estimation)을 통해 학습되며, 손실 함수는 음의 로그 가능도입니다:

[ \mathcal{L} = -\log P(\mathbf{Y}|\mathbf{X}) ]

가중치 ( \lambda_k )는 확률적 경사 하강법(SGD) 또는 L-BFGS와 같은 최적화 알고리즘으로 업데이트됩니다.

추론 (Inference)

주어진 입력 ( \mathbf{X} )에 대해 가장 가능성이 높은 레이블 시퀀스 ( \mathbf{Y}^* )를 찾는 과정은 다음과 같습니다:

[ \mathbf{Y}^* = \arg\max_{\mathbf{Y}} P(\mathbf{Y}|\mathbf{X}) ]

이 과정은 비터비 알고리즘(Viterbi Algorithm)을 사용하여 효율적으로 수행할 수 있습니다.


자연어처리에서의 활용 사례

  • 개체명 인식(NER): 사람, 장소, 조직 등의 개체를 식별
  • 품사 태깅(POS Tagging): 각 단어에 문법적 역할(명사, 동사 등) 부여
  • 의존 구문 분석(Dependency Parsing): 문장 내 단어 간 문법적 관계 추출
  • 의미 역할 인식(Semantic Role Labeling): 문장에서 동사의 논리적 주체/목적어 식별

예를 들어, 문장 "서울에서 김씨가 삽니다."에 대해 CRF는 각 단어에 대해 다음과 같이 레이블을 부여할 수 있습니다:

단어 레이블
서울 LOC (Location)
에서 O
김씨 PER (Person)
O
삽니다 O

관련 기술 및 발전 방향

최근에는 딥러닝 기반 모델(예: BiLSTM-CRF, BERT-CRF)이 CRF의 특징 공학 부담을 줄이고, 더 높은 성능을 달성하며 널리 사용되고 있습니다. 특히, BiLSTM-CRF는 순방향 및 역방향 LSTM으로 문맥 정보를 추출하고, 출력층에 CRF를 결합하여 레이블 시퀀스의 일관성을 유지합니다.


특징 함수의 구체적 예시

CRF의 성능은 특징 함수 $f_k$를 어떻게 정의하느냐에 달려 있습니다. 특징 함수는 크게 상태 특징(State Feature)전이 특징(Transition Feature)으로 구분됩니다.

  • 상태 특징 (State Feature): 현재 입력 토큰 $x_i$와 레이블 $y_i$ 사이의 관계를 정의합니다.
    • 예: $f_1(y_i, \mathbf{X}, i) = 1$ if $y_i = \text{'PER'}$ and $x_i$가 '김'으로 시작함, else $0$
    • 예: $f_2(y_i, \mathbf{X}, i) = 1$ if $y_i = \text{'LOC'}$ and $x_i$가 '서울'임, else $0$
  • 전이 특징 (Transition Feature): 이전 레이블 $y_{i-1}$과 현재 레이블 $y_i$ 사이의 관계를 정의하여 시퀀스의 일관성을 유지합니다.
    • 예: $f_3(y_{i-1}, y_i) = 1$ if $y_{i-1} = \text{'B-PER'}$ and $y_i = \text{'I-PER'}$, else $0$
    • 예: $f_4(y_{i-1}, y_i) = 1$ if $y_{i-1} = \text{'I-PER'}$ and $y_i = \text{'B-LOC'}$, else $0$ (이 경우 가중치 $\lambda$는 매우 낮은 음수 값을 갖게 되어 발생 가능성을 낮춥니다.)

CRF의 수학적 메커니즘: 전역 정규화와 전이 행렬

전역 정규화 상수 $Z(\mathbf{X})$

CRF는 모든 가능한 레이블 시퀀스 $\mathbf{Y}$에 대해 점수를 계산하고, 그 합으로 나누어 확률을 구하는 전역 정규화(Global Normalization) 방식을 사용합니다. [ Z(\mathbf{X}) = \sum_{\mathbf{Y}' \in \mathcal{Y}} \exp\left( \sum_{i=1}^{n} \sum_{k=1}^{K} \lambda_k f_k(y'_{i-1}, y'_i, \mathbf{X}, i) \right) ] 여기서 $\mathcal{Y}$는 가능한 모든 레이블 조합의 집합입니다. 이 상수는 모델이 특정 경로에 편향되지 않고 전체 시퀀스 관점에서 가장 가능성 높은 경로를 찾게 만듭니다.

전이 행렬 (Transition Matrix)

레이블 간의 전이 점수를 관리하기 위해 $T \times T$ 크기(T: 레이블 개수)의 전이 행렬을 사용합니다. 행렬의 원소 $T_{ij}$는 레이블 $i$에서 레이블 $j$로 전이될 때의 가중치 $\lambda$ 값을 저장하며, 이는 학습을 통해 최적화됩니다.

라벨 편향 문제와 모델 비교

라벨 편향 문제 (Label Bias Problem)

MEMM과 같은 국소적 정규화 모델은 각 상태에서 나가는 전이 확률의 합을 1로 맞춥니다. 만약 특정 상태에서 나가는 경로가 하나뿐이라면, 입력 값과 상관없이 무조건 그 경로를 선택하게 되는 '라벨 편향'이 발생합니다. 반면, CRF는 시퀀스 전체의 점수를 합산한 뒤 마지막에 정규화하므로, 국소적으로 확률이 높더라도 전체 경로의 점수가 낮다면 해당 경로를 선택하지 않습니다.

MEMM vs CRF 비교

비교 항목 MEMM (Maximum Entropy Markov Model) CRF (Conditional Random Field)
정규화 방식 국소적 정규화 (Local Normalization) 전역적 정규화 (Global Normalization)
확률 계산 각 단계별 조건부 확률의 곱 전체 시퀀스 점수의 지수함수 / $Z(\mathbf{X})$
라벨 편향 발생함 (Label Bias Problem) 해결됨
최적화 대상 각 상태에서의 전이 확률 전체 시퀀스의 조건부 확률

비터비 알고리즘의 원리와 단계별 예시

동적 계획법(DP)을 통한 효율화

모든 가능한 레이블 시퀀스를 탐색하면 $T^n$의 지수적 복잡도가 발생합니다. 비터비 알고리즘은 "최적 경로의 부분 경로 또한 최적이다"라는 원리를 이용하여, 각 시점 $i$에서 각 레이블 $j$에 도달하는 최적 점수 $\delta_i(j)$만을 저장함으로써 복잡도를 $O(n \cdot T^2)$로 줄입니다.

단계별 추론 예시

입력: "서울(x1) 은(x2)" / 레이블: {LOC, O} 1. 초기화: $t=1$일 때, '서울'이 LOC일 점수와 O일 점수를 계산합니다. * $\delta_1(\text{LOC}) = \text{Emission}(\text{서울}, \text{LOC})$ * $\delta_1(\text{O}) = \text{Emission}(\text{서울}, \text{O})$ 2. 재귀 (DP): $t=2$일 때, '은'이 LOC가 되기 위한 최적 경로를 찾습니다. * $\delta_2(\text{LOC}) = \max [ \delta_1(\text{LOC}) + T_{\text{LOC} \to \text{LOC}}, \delta_1(\text{O}) + T_{\text{O} \to \text{LOC}} ] + \text{Emission}(\text{은}, \text{LOC})$ 3. 종료 및 역추적: 마지막 토큰까지 계산 후, 가장 높은 $\delta_n$ 값을 가진 레이블부터 역으로 추적하여 최적 시퀀스를 확정합니다.

딥러닝과의 결합 구조 (Hybrid Models)

최근의 시퀀스 레이블링 모델은 딥러닝의 강력한 특징 추출 능력과 CRF의 구조적 제약 능력을 결합합니다.

BiLSTM-CRF 구조도

입력 시퀀스 $\rightarrow$ BiLSTM (양방향 문맥 추출) $\rightarrow$ Linear Layer (Emission Score 생성) $\rightarrow$ CRF Layer (Transition Score 결합 및 최적 경로 탐색) $\rightarrow$ 최종 레이블 시퀀스

결합 방식: Emission과 Transition의 조화

  • Emission Score (방출 점수): BiLSTM이나 BERT 같은 인코더가 출력하는 값으로, "현재 토큰 $x_i$가 레이블 $y_i$일 가능성"을 나타냅니다.
  • Transition Score (전이 점수): CRF 층이 학습하는 전이 행렬 값으로, "레이블 $y_{i-1}$ 다음에 $y_i$가 올 가능성"을 나타냅니다.
  • 최종 점수: $\text{Total Score} = \sum (\text{Emission Score}) + \sum (\text{Transition Score})$ 이 구조를 통해 모델은 개별 단어의 특성(Emission)뿐만 아니라, "B-PER 다음에는 I-PER가 와야 한다"는 문법적 제약(Transition)을 동시에 고려하게 됩니다.

최신 트렌드 및 제약 조건 강제

Transformer 기반의 모델(예: BERT, RoBERTa)에서도 최상단에 CRF 층을 추가하는 사례가 많습니다. 이는 Softmax를 사용한 독립적 분류와 달리, 다음과 같은 하드 제약 조건(Hard Constraints)을 모델에 강제하기 위함입니다.

  • BIO 태깅 제약: I-PER 레이블은 반드시 B-PER 또는 I-PER 다음에만 올 수 있다는 규칙을 전이 행렬의 가중치를 매우 낮게 설정함으로써 강제할 수 있습니다.
  • 일관성 유지: 문맥적으로 모순되는 레이블 전이(예: B-LOC $\rightarrow$ I-PER)를 원천적으로 차단하여 추론 결과의 신뢰도를 높입니다.

참고 자료

  • Lafferty, J., McCallum, A., & Pereira, F. (2001). Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. ICML.
  • Sutton, C., & McCallum, A. (2012). An Introduction to Conditional Random Fields. Foundations and Trends in Machine Learning.
  • CRF++: Yet Another CRF Toolkit - C++ 기반 오픈소스 CRF 구현
  • sklearn-crfsuite - Python에서 사용 가능한 CRF 라이브러리

CRF는 딥러닝 이전 시대의 시퀀스 모델링에서 핵심적인 역할을 했으며, 오늘날에도 정밀한 레이블 시퀀스 예측이 필요한 분야에서 유효한 도구로 자리 잡고 있습니다. 특히, 규칙 기반 또는 소규모 데이터 환경에서 여전히 강력한 성능을 발휘합니다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?