Chapter 6: Bradley-Terry — 시그모이드는 왜 거기 있는가?
의문
DPO 수식을 다시 보자:
L = −log σ( β × (Δ_θ − Δ_ref) )
↑
이 σ. 왜 여기에 시그모이드가 있어야 하는가?
Ch1에서 "마진을 벌린다"는 핵심을 이해했고, Ch5에서 레퍼런스가 줄이라는 걸 배웠다. 마진(
시그모이드가 필요한 이유: “A가 B보다 나을 확률”
DPO가 하는 일을 약간 다른 형태로 표현해보자:
여기서 핵심 단어는 "확률"이다.
선호마진(Δ_θ − Δ_ref)은 실수 전체 범위(−∞ ~ +∞)를 가진다.
하지만 "A가 B보다 나을 확률"은 0과 1 사이여야 한다.
→ 실수를 [0, 1] 범위의 확률로 바꿔주는 함수가 필요하다.
→ 시그모이드 σ(x) = 1/(1+e^{-x})가 정확히 그 역할을 한다.
마진이 크게 양수 → σ ≈ 1 → "거의 확실히 A가 낫다"
마진이 0 → σ = 0.5 → "반반이다"
마진이 크게 음수 → σ ≈ 0 → "거의 확실히 B가 낫다"
시그모이드(로지스틱) 함수. x=0에서 0.5, 양의 무한대에서 1, 음의 무한대에서 0으로 수렴한다. (Public Domain, Wikimedia Commons)
그런데 "무한대 범위의 수를 확률로 바꾸는 함수"는 시그모이드만 있는 게 아니다. 왜 하필 이 함수인가? 여기서 Bradley-Terry 모델이 등장한다.
BT 모델: “승률은 실력 차이의 시그모이드다”
DPO는 선호 데이터를 모델링할 때 Bradley-Terry(BT) 선호 모델을 가정하고 있다. 이것이 시그모이드가 등장하는 근본 이유다.
Bradley-Terry 모델 (1952):
쌍비교 데이터에서 개체의 "실력"을 추정하는 통계 모델.
핵심 가정:
P(A가 B를 이길 확률) = σ(r_A − r_B)
"승률은 두 개체의 실력 차이의 시그모이드다."
체스 ELO 레이팅이 바로 이 모델이다:
ELO 차이가 200이면 승률 약 76%
ELO 차이가 400이면 승률 약 91%
→ 이 곡선이 시그모이드다.
BT가 수십 년간 검증된 이유:
체스, 스포츠 랭킹, 온라인 매칭 시스템(Glicko, TrueSkill)...
쌍비교 데이터가 있고, 각 개체에 "실력"이라는 스칼라를 부여할 수 있을 때
BT는 단순하고 효과적이다.
예를 들어 A선수와 B선수의 상대 전적이 7승 5패라고 하자. “다음 경기에서 A가 B를 이길 확률은 몇 퍼센트인가?” 이라는 질문에 브래들리-테리 가정을 적용하면, 승수 차이를 실력 차이로 놓고
물론 이것이 절대적인 진실은 아니다. 통계학자가 세상의 통계상 경향들을 단순화해서 관찰하고 제안한 한가지 모델일 뿐이다. 사람의 키 분포가 정규분포를 따르는 것처럼.
DPO에서 BT가 하는 일:
DPO 손실 = −log( P_BT(y_w가 y_l보다 나을 확률) )
P_BT = σ( r(y_w) − r(y_l) )
= σ( β × (Δ_θ − Δ_ref) )
분해하면:
r(y) = β × log(π_θ(y) / π_ref(y)) — 각 응답의 "암묵적 실력 점수"
r(y_w) − r(y_l) = β × (Δ_θ − Δ_ref) — 두 응답의 실력 차이
σ(실력 차이) = "선호 응답이 이길 확률"
−log(이길 확률) = "이 확률을 최대화하라" (최대우도추정)
→ DPO의 σ는 "그냥 넣은" 활성화 함수가 아니라,
BT 선호 모델이라는 통계적 가정의 직접적 결과다.
바꾸면? — BT가 유일한 선택은 아니다
만약
| 교체 대상 | 대안 | 결과 알고리즘 | 특성 |
|---|---|---|---|
| (마진 − 타깃)² | IPO | BT 과적합 방지, 더 안정적 | |
| Hinge-DPO | SVM 스타일, 마진 충분하면 손실 0 | ||
| 마진 그대로 | 다양한 변형 | 확률 해석 포기, 직접 최적화 |
BT의 구조적 한계: 1차원
- BT는 각 개체에 스칼라 하나(실력 점수)를 배정한다
- 이 순간, 모델 내부에서 전이성이 강제된다:
이고 이면 - 문제: LLM 응답 선호는 다차원(정확성, 유창함, 안전성…)
- 체스는 1차원(실력)이라 BT가 잘 맞지만
- LLM 응답은 차원마다 우열이 다를 수 있다 → 상성 발생
- BT는 이 상성을 노이즈로 취급해버린다
장난감 예제
같은 마진(x축)에서 세 손실함수 비교:
마진 = -2: DPO=2.13, IPO=6.25, Hinge=3.0
마진 = 0: DPO=0.69, IPO=0.25, Hinge=1.0
마진 = +2: DPO=0.13, IPO=2.25, Hinge=0.0 ← Hinge만 0
마진 = +5: DPO=0.01, IPO=20.25, Hinge=0.0
→ IPO: 마진이 타깃을 넘어도 손실이 커짐 (양방향 제약)
→ Hinge: 충분히 벌리면 더 이상 밀지 않음 (과최적화 방지)
→ DPO: 마진을 끝없이 벌리려 함 (과적합 위험)
시각화 계획
- 손실 곡선 비교: 위 SVG 참조 — DPO(단조감소) vs IPO(U자형) vs Hinge(마진 충족 시 0)
- BT의 1차원 한계: 수직선 위 세 점 vs 2D 평면의 삼각형(상성 표현)
다음 장으로의 질문
BT가 1차원이라 상성을 못 잡는다면, 보상을 다차원으로 만들면 되지 않나? 그런데 다차원 보상의 "좋다"는 어떻게 정의하는 건가?