넓히기와 좁히기

KL의 방향: 모형족이 좁을 때만 갈린다

“같은 '좁히기’인데 결과가 다르다면, 그 차이는 어디에서 오는가?”

SFT 의 손실은 KL(데이터‖모형)이고, 앞 절의 목적식이 묶는 벌칙은 KL(π‖πref)이다. 같은 KL 인데 앞 칸과 뒤 칸이 뒤바뀌어 있다. 흔히 이 순서 하나 때문에 한쪽은 넓게 덮고 다른 쪽은 한 봉우리를 고른다고들 말한다. 정말 순서만으로 결과가 갈릴까?

비유

라디오 다이얼에는 두 가지 방식이 있다.

방식 1은 시그널 중심 튜닝, KL(π‖목표)다. “내가 잡은 주파수에서 잡음이 없도록.” 한 채널에 완벽하게 맞추고, 바로 옆 채널은 과감히 놓친다. 평균을 내는 무게가 모형 π 쪽에 있어서, 목표가 거의 0인 곳에 π 가 확률을 두면 큰 벌칙을 받는다. π 가 목표의 봉우리 일부를 버리는 것은 벌하지 않는다. 그래서 모형이 다 덮을 수 없을 때 봉우리 하나에 몰린다. 봉우리를 찾아가는 쪽(mode-seeking)이다.

방식 2는 주파수대 커버 튜닝, KL(목표‖π)다. “목표가 확률을 주는 모든 곳을 놓치지 않도록.” 여러 채널을 동시에 약하게 받는다. 평균을 내는 무게가 목표 쪽에 있어서, 목표가 가진 곳을 π 가 0에 가깝게 두면 큰 벌칙을 받는다. 그래서 모형이 다 덮을 수 없을 때 봉우리들 사이로 넓게 퍼진다. 봉우리를 덮는 쪽(mode-covering)이다.

방향이 차이를 만드는 조건

여기서 조심할 것이 있다. π 가 어떤 분포든 될 수 있다면, 두 KL 모두 π = 목표에서 0이 되고 거기서 최소다. 방향은 아무 차이도 만들지 않는다. 앞 절에서 보상이 없으면 π* = πref 였던 것도 같은 이야기다.

방향이 차이를 만드는 것은 모형족이 목표를 담지 못할 때다. 봉우리 둘인 목표를 봉우리 하나짜리 모형으로 근사해야 할 때, KL(목표‖π) 는 둘 사이에 넓게 걸치고, KL(π‖목표) 는 한쪽을 고른다. KL(목표‖π) 를 줄이는 것이 m-사영, KL(π‖목표) 를 줄이는 것이 e-사영이다. 두 사영의 차이가 바로 이것이다.

무게 0.6, 0.4 인 봉우리 둘(평균 −2.5, 2.5, 표준편차 0.8)로 된 목표 p 를 가우시안 하나 q 로 근사한 두 결과. KL(p‖q) 를 줄인 q 는 평균 −0.5, 표준편차 2.58 로 두 봉우리 사이에 넓게 걸치고, KL(q‖p) 를 줄인 q 는 평균 −2.5, 표준편차 0.8 로 무거운 봉우리 하나에 앉는다
무게 0.6, 0.4 인 봉우리 둘(평균 −2.5, 2.5, 표준편차 0.8)로 된 목표 p 를 가우시안 하나 q 로 근사한 두 결과. KL(p‖q) 를 줄인 q 는 평균 −0.5, 표준편차 2.58 로 두 봉우리 사이에 넓게 걸치고, KL(q‖p) 를 줄인 q 는 평균 −2.5, 표준편차 0.8 로 무거운 봉우리 하나에 앉는다

언어모델에서 모형족의 제한은 어디서 올까. 유한한 신경망, 유한한 학습 스텝, 그리고 무엇보다 보상 항이다. 앞 절의 목적식(보상의 기댓값에서 β·KL(π‖πref) 를 뺀 것)을 최대화하는 것은 KL(π‖π*) 를 줄이는 것과 같았다(π* ∝ πref·er/β). π* 자체가 보상 쪽으로 기울어 있고, π 가 π* 를 정확히 표현하지 못하면 π 는 π* 의 봉우리 일부로 몰리는 쪽으로 틀린다.

수확

“KL의 방향은 모형이 목표를 다 담지 못할 때 차이를 만든다. KL(π‖목표)는 목표가 없는 곳을 싫어하고, KL(목표‖π)는 목표가 있는 곳을 놓치기 싫어한다.”

문제 7. 봉우리 둘, 봉우리 하나짜리 족

결과가 0, 1, 2 셋인 분포 p = (0.45, 0.1, 0.45) 는 양 끝에 봉우리가 있다. 결과 값을 x 라 하자. 모형족을 이항분포 Bin(2, m), 곧 q = ((1−m)², 2m(1−m), m²) 로 제한한다. KL(p‖q) 와 KL(q‖p) 를 각각 최소화하는 q 를 구하라.

함께 풀기

김민준 M01
김민준

쉽네요. 두 KL 다 q = p 에서 0이니까 답은 둘 다 (0.45, 0.1, 0.45) 요.

선생님 T01
선생님

그 q 가 이항분포예요?

김민준 M05
김민준

(1−m)² = 0.45 면 m = 0.33, 그러면 m² = 0.108… 0.45가 안 나와요. 족 안에 p 가 없어요. 그럼 둘 다 어디로 가는 거죠?

이서연 S01
이서연

KL(p‖q) 쪽은 m-사영이야. 이항분포가 지수족이니까 충분통계량의 평균을 맞추면 돼. Ep[x] = 0.1 + 0.9 = 1.0 이고 이항은 평균이 2m 이니까 m = 0.5, q = (0.25, 0.5, 0.25).

김민준 M01
김민준

가운데에 0.5? p 가 제일 싫어하는 곳에 제일 많이 줬네. 이게 넓게 덮는 거야?

선생님 T01
선생님

이 족은 봉우리 둘을 못 만들어요. 양쪽을 다 안 놓치려면 가운데 불룩한 모양밖에 없어요. 다른 쪽은요?

이서연 S01
이서연

KL(q‖p) 는 q 가 가운데를 싫어하게 만드니까… 한쪽 끝으로 완전히 몰릴 거예요. m = 1, q = (0, 0, 1).

김민준 M01
김민준

계산해 보면 m = 1 에서 KL(q‖p) 는 log(1/0.45) = 0.799 야. 격자로 훑으니까 최소는 m ≈ 0.75, q = (0.063, 0.375, 0.562), KL = 0.498 이고. m = 0.5 에서는 0.511.

이서연 S06
이서연

한쪽으로 기울긴 했는데 가운데에 0.375 나 남았네요. 몰림이 끝까지 안 가요.

선생님 T01
선생님

m 을 1로 밀면 무엇을 잃죠?

이서연 S01
이서연

q 가 한 점이 되면 엔트로피가 0이 돼요. KL(q‖p) = −H(q) − Eq[log p] 니까 엔트로피 항이 퍼지라고 밀고, log p 항이 봉우리로 가라고 밀어요. 두 힘이 m = 0.75 에서 만나는 거예요.

이서연 S09
이서연

그러니까 mode-seeking 은 "봉우리 하나에 딱 붙는다"가 아니라, 족이 허락하는 안에서 한쪽 봉우리 편을 드는 거예요. 그리고 족이 p 를 담을 수 있었다면 두 방향 다 p 로 갔을 거고요.

선생님 T01
선생님

민준 학생의 첫 답이 틀린 이유도 거기 있어요. 방향의 차이는 제약이 있을 때만 보여요.

김민준 M01
김민준

수강 신청이랑 비슷하네요. 듣고 싶은 과목 두 개가 월요일 1교시, 금요일 5교시인데 시간표를 하루에 몰아야 하면, 수요일에 둘 다 반쯤 비슷한 과목을 듣거나 한쪽을 포기하거나.