compile + fit + callback. 세 줄 뒤에 state machine, optimizer step, loss reduction, metrics accumulator, callback bus 다 숨어있어. fit() 이 이상한 짓 할 때 *어느 손잡이* 가 풀렸는지 정확히 알게 해주는 unpack 트랙.
compile 은 학습 *환경 설정*. optimizer (gradient 적용 방법), loss (목표 함수), metrics (모니터링용 지표). 이 셋이 model 에 박혀서 fit 시 쓰여.
호출 형태: model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']). 문자열로 넘기면 default 인스턴스, 또는 optimizer=keras.optimizers.Adam(learning_rate=1e-4) 같이 인스턴스로 넘겨 hyperparameter 조절.