Учебник TensorFlow и Keras для начинающих
Полный практический курс по TensorFlow 2 и его высокоуровневому API Keras. Вы научитесь думать о нейросети как о стеке слоёв, понимать тензоры и операции, собирать модели через Sequential и Functional API, обучать их на реальных данных (MNIST), бороться с переобучением через dropout и регуляризацию, строить свёрточные сети для картинок, использовать callbacks и сохранять модели для инференса. Курс рассчитан на тех, кто знает Python и хочет уверенно войти в глубокое обучение. В одном из уроков мы честно сравним Keras и PyTorch, чтобы вы понимали, какой инструмент когда выбирать.
Курс «TensorFlow и Keras» состоит из 6 разделов и 19 уроков: Знакомство с TensorFlow и Keras, Тензоры и операции, Модель как стек слоёв, Обучение модели, Практика: классификация и Свёрточные сети и продакшн. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Знакомство с TensorFlow и Keras
- Что такое TensorFlow и Keras
TensorFlow — фреймворк глубокого обучения от Google, Keras — его высокоуровневый API. Разбираем роли, историю и экосистему.
- Установка и первый запуск
Как установить TensorFlow через pip, проверить версию, выбрать CPU или GPU и запустить первую программу без ошибок.
- Конвейер работы с моделью
Полный цикл в Keras: данные → модель → compile → fit → evaluate → predict. Обзор пяти шагов, которые повторяются в любом проекте.
- Что такое TensorFlow и Keras
2 Тензоры и операции
- Что такое тензор
Тензор — это многомерный массив чисел. Разбираем скаляр, вектор, матрицу, ранг и форму на наглядных примерах.
- Операции над тензорами
Поэлементные операции, матричное умножение, агрегации и редукции в TensorFlow. Разница между поэлементным и матричным умножением.
- Broadcasting и формы
Broadcasting в TensorFlow: как операции автоматически растягивают тензоры разной формы. Правила совместимости форм с примерами.
- Что такое тензор
3 Модель как стек слоёв
- Sequential API — стек слоёв
Sequential API в Keras: модель как линейный стек слоёв. Как добавлять слои, смотреть summary и понимать число параметров.
- Полносвязный слой Dense
Слой Dense в Keras: линейное преобразование вход × веса + смещение. Как считается выход нейрона и зачем нужно смещение.
- Функции активации
Функции активации relu, sigmoid, softmax в Keras: что они делают, где применяются и почему сеть без нелинейности бесполезна.
- Sequential API — стек слоёв
4 Обучение модели
- Функции потерь
Функции потерь в Keras: MSE для регрессии, crossentropy для классификации. Как loss измеряет ошибку и направляет обучение.
- Оптимизаторы и backpropagation
Оптимизаторы SGD и Adam, градиентный спуск и backpropagation в Keras. Как сеть обновляет веса и зачем нужен learning rate.
- compile, fit, батчи и эпохи
Методы compile и fit в Keras, понятия батч, эпоха и итерация. Как настроить и запустить обучение модели.
- Функции потерь
5 Практика: классификация
- Классификация MNIST пошагово
Полный пример: распознавание рукописных цифр MNIST в Keras от загрузки данных до оценки точности. Каждый шаг с пояснением.
- Переобучение и валидация
Что такое переобучение (overfitting) в нейросетях, как его заметить по разрыву train/val loss и зачем нужна валидационная выборка.
- Dropout и регуляризация
Борьба с переобучением: dropout и L2-регуляризация в Keras. Как они работают, где ставить и как настраивать силу.
- Классификация MNIST пошагово
6 Свёрточные сети и продакшн
- Свёрточные сети (CNN)
Свёрточные сети в Keras: слои Conv2D и MaxPooling, что такое свёртка и фильтр, почему CNN лучше Dense для изображений.
- Callbacks: EarlyStopping и checkpoints
Callbacks в Keras: EarlyStopping останавливает обучение при переобучении, ModelCheckpoint сохраняет лучшую модель. Как их подключить.
- Сохранение, загрузка и инференс
Как сохранить и загрузить обученную модель Keras (формат .keras), сделать предсказание (инференс) и не путать обучение с применением.
- Functional API и сравнение с PyTorch
Functional API в Keras для сложных топологий и честное сравнение Keras и PyTorch: философия, синтаксис, когда что выбирать.
- Свёрточные сети (CNN)