list 를 졸업할 때가 됐다는 신호
Sequential 은 architecture 가 직선이 아니게 되는 순간까지 딱 맞는 도구야. 실패가 정직해 — Sequential 이 *어려워지는* 게 아니라 *불가능해져*. list 는 분기를 표현할 방법이 아예 없거든. 그러니 질문은 "Sequential 로 충분한가?" 가 아니라 "내 data flow 가 갈라지나?" 야. 아래 중 하나라도 보이면 졸업 신호:
- 입력 여럿 — text + image, metadata + time series 를 한 model 에서 합침.
- 출력 여럿 — backbone 하나에 classification head + regression head (multi-task).
- skip connection — ResNet 식 residual block, layer 입력을 출력에 다시 더함.
- shared layer — 같은 weight 를 두 입력에 적용 (Siamese, twin encoder).
- 비선형 topology — 끊기지 않은 사슬 하나가 아닌 모든 것.
복잡도 사다리지 위계 아니야
Keras 의 model 빌드 API 셋은 사다리를 이뤄: Sequential → Functional → Subclassing. Functional API (Track 4) 가 위의 모든 걸 커버해 — model 을 layer 의 *그래프* 로 표현해서 fork, merge, weight 공유가 다 자연스러워져. 정적 그래프로도 모자랄 때 — forward 에 if 분기, dynamic shape, 완전 custom training step 이 필요하면 — Model subclassing 으로 내려가서 call() 을 직접 써.
핵심 마인드셋: 한 칸 오를 때마다 표현력을 boilerplate 대가로 사. 너무 높이 오르면 안 쓸 유연성에 노력 낭비, 너무 낮게 머물면 만들 수 있는 model 이 제약돼. data flow 에 맞는 *가장 낮은* 칸을 골라 — 그리고 Sequential 이 맨 아래 칸인 건 강등이 아니라 칭찬이야. 직선 파이프라인엔 라이브러리 통틀어 여전히 최선이거든.