NLP 의 80% task
text classification — sentiment, topic, intent, spam — 은 팀이 실제로 ship 하는 가장 흔한 NLP 작업이야. transfer learning 의 진가가 여기서 나와: 언어 모델을 from scratch 로 학습하는 대신, 이미 영어를 아는 backbone 가져와서 작은 classification head 만 위에 붙여. BertClassifier.from_preset(..., num_classes=2) 가 정확히 그걸 한 줄로 해 — pretrained backbone + label 수에 맞춘 새 head.
load → compile → fit 세 박자
Keras 학습 loop 은 늘 같은 세 박자야 (Code 참고): load, compile, fit. 외워둘 디테일은 compile 에 있어. learning rate 가 작아 — 5e-5, from scratch 학습할 때 쓰는 1e-3 아니야 — 이미 똑똑한 모델을 살짝 미는 거지 zero 부터 가르치는 게 아니거든. rate 너무 높으면 pretraining 이 지워져. loss 는 sparse_categorical_crossentropy — label 이 정수 (0, 1, 2…) 지 one-hot 이 아니라서. 잘못 고르면 shape 안 맞아. epoch 은 보통 3 이면 충분 — pretrained 라 빨리 수렴하고, 더 돌리면 대개 overfitting 만 사.
입력은 string list 그대로 OK — preprocessor 가 자동 tokenize + padding. label 은 0/1 (binary) 또는 0..N-1 (multi-class).