먼저 익힐 네 가지 레이어
Sequential 모델이 무엇을 표현할 수 있는지는 쌓은 레이어가 결정해. 일상적인 작업의 대부분은 다음 네 가지로 시작할 수 있어.
Dense(units, activation)는 모든 입력을 모든 출력에 연결하는 완전 연결 레이어야.units가 출력 개수를 정해.Dropout(rate)은 학습할 때만 입력 일부를 0으로 만들어 과적합을 줄여. 추론 때는 자동으로 꺼지므로 예측 모델에서 따로 제거하지 않아도 돼.Flatten()은 28×28 영상처럼 여러 차원인 입력을 길이 784의 벡터로 펼쳐. 벡터를 받는Dense앞에서 모양을 이어주는 역할이야.Activation(fn)은 비선형 함수를 적용해. 보통은 별도 레이어보다Dense(64, activation="relu")처럼 앞 레이어의 인자로 넣어.
첫 레이어에는 입력 모양을 알려줘야 해
두 번째 레이어부터는 앞 레이어의 출력으로 입력 모양을 자동 추론할 수 있어. 첫 레이어에는 그 앞이 없으므로 keras.Input(shape=(...))을 목록의 첫 항목으로 두는 것이 가장 명확해. 입력 모양을 모르면 Keras는 가중치를 만들 수 없어 모델이 아직 빌드되지 않은 상태로 남아. 입력을 미리 선언하면 데이터가 들어오기 전에도 모델이 완성되고 summary()도 온전한 구조를 보여줘.