21. 이미지·로보틱스의 강화학습 — GRPO가 시각 생성을 만났을 때

분기 샘플링: 중간에서 갈라 같은 갈래끼리 비교한다

시작 노이즈를 함께 쓰면 그룹 안의 차이는 디노이징 스텝들의 선택에서만 온다. 그런데 스텝이 50개라면, 그 차이는 50스텝 가운데 어느 스텝의 판단에서 왔을까? 끝에 한 번 받은 보상이 어느 행동 덕분인지 — 언어모델이라면 어느 토큰 덕분인지 — 가리는 것을 크레딧 할당이라 한다. 디퓨전에서는 같은 질문이 "50스텝 디노이징 중 어느 스텝의 판단이 좋은 결과를 만들었는가"가 된다. 보상은 완성된 이미지에만 주어지니 희소 보상(끝에 한 번만 주어지는 보상) 문제이기도 하다.

역사: 설거지하는 곰이 모두 만화가 되다

2025년 3월 후(Zijing Hu)와 동료들은 DDPO로 프롬프트 정합을 높이다 생긴 일을 보고했다. 「설거지하는 곰」 같은 프롬프트에서는 실사 사진보다 만화풍 그림이 정합 점수를 받기 쉽다. 프리트레인(처음 대규모로 학습하는 단계) 데이터에서 그런 장면이 대개 만화로 그려졌기 때문이다. 보상이 완성 그림 하나에만 주어지자 모델은 프롬프트를 더 잘 따르는 대신 「만화로 그린다」는 지름길을 배웠고, 그림이 모두 만화가 되었다. 연구진은 같은 중간 상태에서 여러 번 이어 그리면 결과가 얼마나 갈리는지도 쟀다. 20스텝 디노이징에서 노이즈 쪽으로부터 두 스텝 내려온 상태에서 갈래 256개를 만들어 세 장씩 그리게 하자, 52.3%의 갈래에서 프롬프트에 맞는 그림과 맞지 않는 그림이 함께 나왔다. 같은 중간 상태에서도 결과가 이렇게 갈리니, 완성 그림 한 장으로 그 상태가 좋았는지 나빴는지 말할 수 없다.

B²-DiffuRL(Hu et al., “Towards Better Alignment: Training Diffusion Models with Reinforcement Learning Against Sparse Rewards”, arXiv:2503.11240, CVPR 2025)은 두 전략을 쓴다.

시작 노이즈 갈라지는 점 완성본과 보상 xT 0.62 0.70 0.55 0.73 xt 평균 0.65 xT 0.28 0.35 0.22 0.35 xt 평균 0.30 점선 상자 = 한 그룹. 상자 안끼리만 비교한다

같은 갈래의 그림들은 갈라지기 전까지의 상태와 행동이 모두 같고, 따라서 그림체 같은 큰 줄기도 비슷하다. 그런데도 보상이 갈리므로, 「만화로 그린다」 같은 지름길이 아니라 그 구간의 판단이 차이를 만든다. 기존 최적화 알고리즘(DDPO 등)과 함께 쓸 수 있고, 프롬프트 정합도를 높이면서 다양성을 유지했다고 보고했다.

문제 7 — 저장해 둔 판에서 다시 하기

보드게임 중반에 저장해 둔 판이 있다. 이 저장 지점에서 끝까지 열 번 이어서 해 보니 여섯 번 이겼다. 그 열 판 가운데 다음 수로 A를 둔 다섯 판은 네 번, B를 둔 다섯 판은 두 번 이겼다. (가) 저장 지점에서 이길 확률을 어림하시오. (나) 수 A와 B는 저장 지점보다 이길 확률을 얼마나 올리거나 내렸나? (다) 친구가 이미 크게 앞선 다른 저장 지점에서 수 C를 두고 열 판 중 아홉 판을 이겼다. C가 A보다 좋은 수라고 할 수 있는가?

김민준 (평상)
김민준
(가)는 6/10 = 0.6이요. (나) A는 4/5 = 0.8이니까 +0.2, B는 2/5 = 0.4니까 −0.2예요.
김민준 (자신만만)
김민준
(다)는 C가 0.9니까 A의 0.8보다 좋은 수죠.
선생님 (질문)
선생님
친구의 저장 지점에서는 아무 수나 둬도 몇 판쯤 이겼을까요?
이서연 (평상)
이서연
이미 크게 앞선 판이니까 아무렇게나 둬도 많이 이겼을 거예요. 0.9에는 그 판의 형세가 섞여 있어요. C를 보려면 친구의 저장 지점에서 다른 수를 둔 판들과 견줘야 해요.
김민준 (아하)
김민준
저장 지점마다 따로 견줘야 하네요. 아까 조별 발표에서 조마다 평균을 뺀 것처럼요.
이서연 (평상)
이서연
다섯 판씩이라 0.8과 0.4도 꽤 흔들릴 거예요. 판을 더 돌릴수록 믿을 만해지고요.

정리 (가) 0.6. (나) A는 +0.2, B는 −0.2. (다) 알 수 없다. 형세가 다른 저장 지점의 승률을 바로 견주면 그 지점의 형세가 섞인다. 같은 저장 지점에서 갈라진 판끼리만 견준다.

문제 8 — 분기 샘플링의 정체

B²-DiffuRL은 디노이징 중간에서 분기해 여러 완성본을 만들고 보상 차이로 그 스텝의 기여를 추정한다. 이것은 강화학습의 어떤 개념의 몬테카를로 버전인가?

김민준 (자신만만)
김민준
분기해서 여러 장 만들고 보상을 비교하니까 GRPO 그룹이랑 같은 거죠.
선생님 (질문)
선생님
GRPO 그룹은 어디서 갈라지죠? 프롬프트에서요, 디노이징 중간에서요?
김민준 (생각)
김민준
프롬프트에서요. 처음부터 따로 뽑죠. 여기는 중간 xt\textcolor{#1c9c60}{x_t}에서 갈라지고요.
이서연 (평상)
이서연
중간 상태에서 끝까지 여러 번 굴려 평균을 낸 건 "이 상태에서 앞으로 기대되는 보상"이야. 가치 함수 V(xt)\textcolor{#00897b}{V}(\textcolor{#1c9c60}{x_t})의 몬테카를로 추정이고, 같은 분기 안에서 평균보다 나은 정도가 그 구간의 어드밴티지고.
선생님 (미소)
선생님
맞아요. GRPO의 그룹 평균은 첫 상태의 가치를 샘플로 잰 거고, 분기 샘플링은 그걸 중간 스텝에서 한 거예요. 비평가를 학습하는 대신 그때그때 굴려서 재는 거죠.
김민준 (평상)
김민준
반만 맞았네요. 조교님이 "방법은 맞는데 적용 위치가 틀렸다"며 부분점수 주던 그거요.
이서연 (평상)
이서연
아까 저장해 둔 판의 승률 0.6도 같은 거였어. 저장 지점이 xt\textcolor{#1c9c60}{x_t}이고, 끝까지 이어서 해 본 판들이 갈래고.

정리 중간 상태에서 분기한 롤아웃들의 평균 보상 = 가치 함수 V(xt)\textcolor{#00897b}{V}(\textcolor{#1c9c60}{x_t})의 몬테카를로 추정. 그 차이가 스텝별 어드밴티지다(크레딧 할당).