확산(diffusion) 추론은 한 스텝마다 예측을 두 번 해요 — 프롬프트를 끈 예측(uncond)과 켠 예측(cond). 이 둘을 가이던스 세기 scale 로 합쳐 한 스텝의 최종 예측을 만들어요. scale 이 클수록 출력이 cond 쪽으로 더 강하게 끌려가요. apply_cfg(uncond, cond, scale) 를 완성하세요. 예시 uncond = [0, 0, 0], cond = [1, 2, -1] → scale 이 클수록 출력이 cond 쪽으로 더 멀리 갑니다.
확산(diffusion) 추론에서 한 스텝마다 나오는 두 예측 — 프롬프트를 끈 예측(uncond)과 켠 예측(cond) — 을 가이던스 세기 scale 로 합쳐 그 스텝의 최종 예측을 만드는 합성 함수를 numpy 로 완성하는 문제입니다. 같은 shape 의 실수 배열을 다루며, scale 값에 따라 출력이 어떻게 달라져야 하는지를 코드로 검증합니다.
classifier-free guidance(CFG)는 확산 추론에서 두 예측을 가이던스 세기 한 값으로 합쳐 프롬프트를 얼마나 강하게 반영할지를 정하는 단계입니다. 이렇게 배열 둘을 하나로 합치는 계산에는 보통 scale 같은 특정 값에서 결과가 어떠해야 한다는 약속(불변식)이 따라붙습니다. 그래서 그럴듯해 보이는 출력만 믿지 말고, 그 약속들이 실제로 지켜지는지 숫자로 확인하는 습관이 중요합니다. numpy 배열 연산과 경계값(scale 의 양 끝)을 함께 검증하는 연습입니다.