트랙에서 배운 요소를 하나로 조립해 보자
이제 모델 구성, 컴파일, 옵티마이저, 손실 함수, 평가지표, fit(), 콜백이 하나의 학습 스크립트에서 어떻게 맞물리는지 볼 차례야. 아래 코드를 위에서 아래로 읽으며 각 줄이 맡은 역할을 설명할 수 있어야 해. 문법을 외우는 것보다 전체 흐름과 각 선택의 책임을 이해하는 게 훨씬 오래 가는 실력이야.
이 순서에는 이유가 있어
먼저 모델을 만들어야 나머지 설정이 붙을 대상이 생겨. 두 Dropout 레이어는 과적합이 드러난 뒤 급히 덧붙이는 장식이 아니라 처음부터 포함한 규제 장치야. 이어서 compile()이 Adam, 손실 함수, 정확도를 하나의 학습 규칙으로 묶어. 콜백 목록에는 불필요한 에포크를 막는 EarlyStopping, 가장 좋은 상태를 보존하는 ModelCheckpoint, 정체 구간에서 학습률을 낮추는 ReduceLROnPlateau가 들어가. 마지막으로 fit()이 전체 루프를 실행하고 과정을 담은 history를 반환해.
구성 → 컴파일 → 콜백 → 학습 순서를 익혀 두면 대부분의 지도 학습 스크립트를 같은 뼈대에서 출발시킬 수 있어. 레이어를 문제에 맞는 구조로, 손실 함수를 과제에 맞는 것으로, 데이터를 실제 자료로 바꿔 끼우면 돼. CIFAR-10으로 확장할 때는 keras.datasets.cifar10.load_data(), 데이터 증강 파이프라인, 마지막의 model.save('cifar10.keras')를 더하면 된다. 재사용 가능한 뼈대를 알아보는 능력이 바로 구조적으로 모델을 만드는 힘이야.