01🌱Keras는 왜 생겼고, 지금도 왜 중요한가
0/7 lessonsKeras를 고르는 이유
모델 코드를 쓰기 전에 Keras가 해결하려던 문제부터 살펴봐. 누가 왜 만들었는지, 실행 엔진이 바뀌는 동안 어떻게 살아남았는지, PyTorch나 JAX를 직접 쓰는 대신 Keras를 고르면 좋은 때가 언제인지 짚어.
사람이 이해하기 좋은 방식으로 딥러닝 모델 만들기
Keras 3는 개발자가 편해야 연구도 빨라진다는 믿음으로 세 번의 실행 엔진 전쟁을 살아남은 프레임워크야. TensorFlow, PyTorch, JAX를 한 API로 다루고 필요한 도구도 두루 갖췄어. 2026년에도 가장 널리 쓰이는 딥러닝 프레임워크 가운데 하나지. 이 퀘스트는 첫 Sequential 모델부터 LoRA로 Gemma를 미세 조정하는 데까지 14개 트랙, 97개 레슨으로 안내해.
14 tracks · 97 lessons · ~28h · difficulty: beginner-to-advanced
Keras는 2015년 François Chollet의 한 가지 믿음에서 출발했어. 추상화 계층을 제대로 설계하면 과학자가 도구와 씨름하는 시간을 줄이고 발견의 속도를 높일 수 있다는 믿음이었지. 11년이 지난 2026년, Keras 3는 TensorFlow, PyTorch, JAX를 같은 API 아래에서 골라 쓰게 해. 출간된 딥러닝 연구의 약 3분의 1이 Keras를 사용할 만큼 뿌리도 깊어졌어. 이 퀘스트에서는 Sequential, Functional, Subclassing이라는 세 가지 모델 작성법부터 레이어 모음, 학습 루프와 그 한계를 다뤄. 이어서 사전 학습 모델을 제공하는 KerasHub와 혼합 정밀도, 다중 GPU, 양자화처럼 시제품을 실제 제품으로 옮길 때 필요한 기법까지 배워.
배우는 순서도 이유가 있어. 먼저 Keras가 왜 생겼는지 이해하고 실행 백엔드를 고르는 법을 익혀. 그다음 세 가지 모델 작성법과 레이어를 배우고, 학습과 데이터 처리, 전이 학습, 직렬화로 넘어가. 마지막에는 KerasHub의 비전·자연어 모델과 고급 배포 기법을 다뤄. 끝까지 마치면 낯선 Keras 코드베이스를 만나도 구조와 의도를 읽어낼 수 있을 거야.
피파가 2026년의 Deep Learning with Python (3rd ed.), 계속 갱신되는 keras.io 공식 문서, 그리고 아빠와 Keras를 닮은 시스템을 실제로 출시하며 쌓은 노트를 바탕으로 썼어. 코드 블록은 실행되는 코드를 기준으로 삼았고, 외부 링크도 오래된 글이 아니라 현재 공식 문서로 연결했어.
Keras를 고르는 이유
모델 코드를 쓰기 전에 Keras가 해결하려던 문제부터 살펴봐. 누가 왜 만들었는지, 실행 엔진이 바뀌는 동안 어떻게 살아남았는지, PyTorch나 JAX를 직접 쓰는 대신 Keras를 고르면 좋은 때가 언제인지 짚어.
API 하나로 세 엔진 다루기
환경 변수 한 줄로 백엔드를 바꿔 끼우는 일이 정말 가능해. 그 구조를 이해하고, 자주 빠지는 함정을 피하고, keras.ops로 어느 백엔드에서나 도는 코드를 작성해봐.
레이어 쌓기, 모델 완성
레이어를 차례로 쌓아 모델을 완성하는 가장 단순한 API야. 일상에서 만드는 모델의 약 80%는 이 방식으로 충분해. 언제 Sequential을 떠나야 하는지도 함께 짚어.
그래프, 분기, 건너뛰기 연결
건너뛰기 연결, 여러 입력과 출력, 공유 레이어가 필요해지면 Sequential만으로는 부족해. Functional API는 ResNet, U-Net, 멀티모달 모델 같은 그래프 구조를 자연스럽게 표현해.
Python 코드로 모델의 동작 정의
정적인 계산 그래프로 표현하기 어려운 모델은 Python 클래스를 작성하듯 Layer와 Model을 상속해서 만들어. 가장 자유로운 탈출구지만, 그만큼 모델 구조를 정적으로 들여다보기는 어려워져.
작은 연산을 조립해 모델 만들기
Dense, Conv2D, MultiHeadAttention, LayerNormalization처럼 모델을 이루는 기본 단위를 배워. 전처리 레이어도 다른 레이어와 똑같이 모델 안에 넣을 수 있다는 점이 Keras의 큰 강점이야.
학습 설정부터 콜백까지
fit() 한 줄 뒤에서는 상태 관리, 옵티마이저 갱신, 손실 집계, 평가지표 계산, 콜백 호출이 맞물려 돌아가. 학습이 어긋났을 때 어느 부분을 살펴봐야 하는지 구조를 풀어보자.
fit()만으로 부족할 때
fit()은 일반적인 학습을 아주 잘 처리해. 하지만 GAN처럼 옵티마이저가 두 개이거나 기울기 누적, 동적 손실 가중치가 필요하면 train_step()을 재정의하거나 학습 루프를 직접 작성해야 해.
원시 데이터에서 학습 배치까지
머신러닝 개발의 약 70%는 데이터 파이프라인에 들어가. Keras 전처리 레이어를 모델 그래프 안에서 실행하고 tf.data, torch.DataLoader, Grain을 자연스럽게 연결하는 법을 배워.
이미 배운 표현을 내 문제에 활용하기
2026년에는 대부분 사전 학습된 백본에서 시작해. 백본을 얼리고 작은 헤드를 먼저 학습한 뒤, 필요하면 일부를 풀어 낮은 학습률로 미세 조정해. 사용할 모델은 KerasHub에서 골라.
학습을 보존하고 배포로 넘기기
`.keras` 파일 하나에는 가중치, 모델 구조, 메타데이터가 모두 들어가고 어느 백엔드에서도 불러올 수 있어. 가중치만 저장하는 법, 사용자 정의 객체 등록, model.export()를 이용한 배포까지 다뤄.
비전 과제에 필요한 도구 한데 쓰기
KerasHub에는 ResNet, EfficientNet, ViT, YOLOv8, SAM, Stable Diffusion 같은 비전 모델이 모여 있어. 사전 학습된 백본에 과제별 헤드를 붙이면 컴퓨터 비전 파이프라인의 약 80%가 완성돼.
Keras 방식으로 다루는 언어 모델과 텍스트
KerasHub는 BERT, GPT-2, Llama, Gemma, Mistral에 과제별 헤드와 토크나이저까지 짝지어 제공해. LoRA 미세 조정도 한 줄 설정으로 켤 수 있어.
제품에 적용할 때 필요한 선택과 함정
Keras 예제를 따라 하는 수준에서 실제 제품을 만드는 수준으로 넘어가자. KerasTuner, 혼합 정밀도, 다중 GPU, 양자화, 지식 증류, 디버깅을 다뤄.
아직 댓글이 없어요. 첫 댓글을 남겨보세요.