Backbone과 Flow Head를 왜 분리하나
TMD의 계산 절감은 step 수뿐 아니라 network layer의 역할 분리에서 나옵니다.
- Main backbone: 초기 layer가 global structure, semantic, composition feature를 만듭니다.
- Flow head: 마지막 일부 layer가 texture와 motion update를 계산합니다.
각 transition에서 무거운 backbone feature를 재사용하고 더 가벼운 flow head를 inner loop에서 반복합니다. 모든 update마다 전체 model을 다시 실행하는 것보다 싸게 세부 변화를 보정하려는 방식입니다.
이를 간단히 쓰면 다음과 같습니다.
\[h = Backbone(x_t,c)\] \[x_{t+1}=FlowHead(h,x_t,t)\]
실제 구조는 이 두 식보다 복잡하지만 비용 판단에는 “backbone 몇 회, head 몇 회”가 중요합니다. outer step이 4여도 head update가 여러 번이면 총 layer evaluation은 4보다 많습니다.
어느 layer까지 backbone으로 묶고 어디부터 head로 둘지도 고정된 정답이 아닙니다. head가 너무 작으면 detail 복원이 약해질 수 있고, 너무 크면 반복 비용이 커집니다. 기존 글도 architecture와 분할 위치에 대한 의존성을 한계로 지적했습니다.