Курс для тех, кто хочет узнать о внутренней структуре и устройстве нейронных сетей и познакомиться с основными их разновидностями, погрузившись в обширную тему глубинного обучения. Вы изучите принцип работы нейронных сетей и посмотрите, как они реализуются в коде, а также поймете механизмы лежащие в фундаменте этой технологи
Чему вы научитесь:
- Поймете взаимосвязь между искусственным интеллектом, машинным обучением и глубоким обучением
- Узнаете обо всех компонентах, из которых состоит искусственная нейронная сеть
- Узнаете обо всех этапах обучения искусственных нейронных сетей
- Получите представление об оптимизации, градиентном спуске и обратном распространении ошибки.
- Поймете, как обнаружить проблемы в процессе обучения сети
- Изучите методы улучшения обучения сети
- Разберетесь в различных категориях обучения: контролируемое, неконтролируемое, полуконтролируемое
- Узнайте, как работать с данными изображений и проводить их предварительную обработку
- Получите представление обо всех компонентах сверточной нейронной сети (CNN)
- Узнайте, как именно свертки работают с данными изображений для выявления закономерностей
- Поймете проблемы, которые могут возникнуть при обучении CNN, и возможные пути их решения
- Узнаете, как работает трансферное обучение для передачи знаний, полученных одной сетью, другой.
И многое другое!
О курсе:
Возможно, вы уже начали изучать глубокое обучение и уже при первом знакомстве с ним столкнулись с такими понятиями, как перцептроны, градиентный спуск, обратное распространение ошибки, свертки, гиперпараметры, трансферное обучение, аугментация и многое другое.
Кажется, что это непомерное количество новых технических тем, которые нужно пройти за один раз, но не волнуйтесь! Мы рассмотрим все эти и многие другие темы по частям, чтобы построить прочный фундамент знаний в области глубокого обучения.
Курс познакомит с основами нейронных сетей и ответит на вопросы:
Как это работает? Почему? Как самому спроектировать и обучить нейронную сеть с нуля?
Курс содержит теорию в формате текстовых уроков, а также задачи на её отработку.
Для кого этот курс:
Курс будет полезен любому человеку, жаждущему изучить эту обширную и интересную тему, будь то студент вуза или начинающий специалист в области Data Science!
Начальные требования:
Поскольку мы начнем с абсолютных основ глубокого обучения, этот курс отлично подходит для новичков и не требует никаких предварительных знаний в области нейронных сетей!
Во многих уроках мы будем демонстрировать новые концепции с помощью псевдокода, чтобы лучше дать понять, как эти недавно введенные идеи могут быть реализованы в коде.
Используя псевдокод, мы можем продемонстрировать новые идеи программно, интуитивно понятным способом, не завися от конкретного языка программирования или API. Поэтому Вам не обязательно иметь опыт программирования на конкретном языке, чтобы понять псевдокод. В то же время, общий опыт программирования будет крайне полезен.
Также мягким пререквизитом данного курса является знание основных алгоритмов машинного обучения, таких как, в частности, логистическая регрессия, а также рекомендуется, но не обязательно знание ключевых понятий и терминов из этой области (функция потерь, градиентный спуск и т.д.). Помимо этого, могут пригодиться самые базовые понятия из математической статистики, как то нормальное и равномерное распределения.
Программа курса:
- Введение в нейронные сети
- Перцептрон, сети, аппроксимация
- Слои в НС
- Функция активации
- Экстракция признаков
- Функция потерь
- Обучение НС
- Бэтчи и эпохи
- Оптимизация, lr
- Обратное распространение ошибки
- Смещение
- Обучаемые параметры
- Данные
- Переобучение и недообучение
- Аугментация данных
- Регуляризация
- С учителем, без учителя, с половиной учителя?
- Препроцессинг
- Обработка изображений
- Работа НС с изображениями
- CNN
- Как работает свертка (конволюция)?
- Сверточные слои против полносвязных
- Zero padding
- Max pooling
- Обучаемые параметры в CNN
- Transfer learning и fine-tuning
- Проблема исчезающего градиента
- Инициализация весов
- Итоги