Машинное обучение и наука о данных
32 ак.часа
Компьютерное зрение: технологии и методы глубокого обучения
-
О КУРСЕКурс охватывает ключевые темы в области компьютерного зрения (CV) и глубокого обучения (DL), начиная от базовых понятий и заканчивая практическим применением современных нейросетевых архитектур. Слушатели изучат основы работы с фреймворками PyTorch и TensorFlow, а также познакомятся с методами детекции, сегментации и распознавания изображений. Курс включает практические задания по реализации нейросетей для классификации, детекции объектов и распознавания лиц, а также рассмотрение творческих подходов с использованием автокодировщиков и GAN для генерации данных. В заключение участники научатся оптимизировать модели и переносить их в продакшн, используя инструменты MLFlow и ONNX
Разработчиков и инженеры в области компьютерного зрения и глубокого обучения
Специалисты и исследователи в области машинного обучения
Модуль 1: Введение в CV и Deep Learning: от перцептрона до трансформера
- Что такое Computer Vision (CV) и почему это важно: Разбор реальных кейсов
- Краткая история Deep Learning: От перцептрона до трансформеров (AlexNet, VGG, ResNet, Unet, ViT)
- Обзор фреймворков обучения нейросетей: PyTorch, TensorFlow, Keras, JAX
- Экосистема Deep Learning: Знакомство с Kaggle и Hugging Face
Модуль 2: Основы PyTorch: ваш первый классификатор
- Настройка среды разработки: Google Colab
- PyTorch: Тензоры, операции, граф вычислений
- Архитектура нейросети: Слои (Linear, Conv2d), функции активации, нормализация (LayerNorm, GroupNorm, BatchNorm), функции потерь
- Обзор и реализация архитектур в CV: Перцептрон, VGG, ResNet
- Аугментация изображений: Применение трансформаций (повороты, шум, вырезание) с помощью библиотеки Albumentations
- Полный цикл обучения: Dataset, DataLoader, цикл обучения, оптимизаторы (SGD, Adam, AdaBelief)
- Практикум: Написание и обучение с нуля нейросетей для классификации изображений
Модуль 3: Детекция, сегментация, распознавание лиц
- Transfer Learning: Как использовать обученные нейросети для своих задач (fine-tuning и feature extraction)
- Ключевые метрики в CV: Accuracy, Precision, Recall, F1-score, IoU — что и когда применять
- Детекция объектов: Обзор архитектур (YOLO, Faster R-CNN) и концепция якорей (anchors)
- Сегментация изображений: Семантическая (U-Net для медицины) и инстанс-сегментация (Mask R-CNN)
- Распознавание лиц: Верификация на основе векторов (embeddings)
- Практикум: Запуск модели YOLO для детекции объектов, сегментация медицинских снимков, удаление фона и верификация лиц
Модуль 4: Творческий AI: Автокодировщики, VAE, GAN, Super Resolution, Diffusion
- Автоэнкодеры (AE): Сжатие информации в скрытое пространство
- Вариационные автоэнкодеры (VAE): Как научить модель генерировать новые данные
- Состязательные сети (GAN): Битва генератора и дискриминатора
- Диффузионные модели: От шума к шедевру (DDPM, Stable Diffusion), магия текстовых промптов
- Практикум: Реализация плавного перехода между цифрами с помощью VAE, запуск Real-ESRGAN, Stable Diffusion
Модуль 5: Инструментарий DL разработчика: от ноутбука к продакшену
- MLFlow & Hydra: Трекинг экспериментов и управление конфигурациями
- Оптимизация моделей: Квантизация и прунинг для ускорения инференса
- Формат ONNX: Как запустить PyTorch-модель где угодно (на C++, JS или в мобильном приложении)
- Практикум: Обернуть модели из прошлых модулей в ONNX, замерить производительность до и после квантизации и залогировать результаты в MLFlow
- Итоговый тест.
-
Получаемый документ
-
Для успешного прохождения курса необходимы:
- базовые знания в программировании на Python
- знание основ машинного обучения и нейросетевых алгоритмов приветствуется, но не является обязательным
- ожидается, что слушатели имеют опыт работы с основными библиотеками Python (NumPy, pandas) и знакомы с принципами работы с данными
-
По окончании курса слушатели смогут:
◉ создавать и обучать нейросети для задач классификации, детекции и сегментации изображений
◉ применять методы Transfer Learning для повышения производительности моделей
◉ работать с фреймворками PyTorch и TensorFlow для разработки решений в области компьютерного зрения
◉ оптимизировать модели с помощью методов квантизации и прунинга
◉ экспортировать модели в формат ONNX для использования на различных платформах
◉ применять аугментацию данных для улучшения качества обучения


