Samsung открывает бесплатный онлайн-курс по нейросетям в задачах компьютерного зрения
Вы пока не разбираетесь, почему ReLU лучше сигмоиды, чем отличается Rprop от RMSprop, чем нормализованный сигнал лучше ненормализованного и почему сигналы вообще стоит пробрасывать? И зачем нейронной сети нужен граф, и какую он совершил ошибку, что она распространяется обратно? У вас есть проект, в котором требуется компьютерное зрение, но вы хотите его реализовать при помощи OpenCV? Вы делаете межгалактического робота для борьбы с грязными тарелками, и хотите, чтобы он мог сам решать, отмывать или и так сойдет? Или вы видели предложения по зарплатам для специалистов ML на hh.ru и все еще под впечатлением?
Мы запускаем открытый курс «Нейронные сети и компьютерное зрение», который адресован тем, кто в этой области делает первые шаги. В чем преимущества нашего курса?
- авторы курса знают, о чем говорят: это инженеры московского Центра искусственного интеллекта Samsung, Михаил Романов и Игорь Слинько;
- есть как теория (с опциональными математическими задачами для улучшения понимания), так и практика на PyTorch
- приступаем к практике сразу после освоения минимальных теоретических знаний.
- есть котейки
- и самое главное: лучшие студенты будут приглашены на собеседование в Samsung Research Russia!
Этот курс открылся 1 июня — первый в серии бесплатных онлайн-курсов от Samsung на платформе Stepik. Сделан выбор именно российской платформы, чтобы предоставить больше возможностей для русскоязычной аудитории. Курсы преимущественно будут посвящены области Machine Learning (ML). Выбор неслучаен: в мае 2018 года в Москве открылся Центр искусственного интеллекта Samsung, где работают такие научные звезды ML, как Виктор Лемпицкий (самый цитируемый ученый России в категории Computer Science), Дмитрий Ветров, Антон Конушин и многие другие.
Итак, за 6 недель видеолекций и практических заданий, занимаясь по 3–5 часов в неделю, вы сумеете разобраться, как решать базовые задачи машинного зрения, а также приобретете необходимую теоретическую подготовку для дальнейшего самостоятельного изучения области.
Предполагается два режима прохождения курса: базовый и продвинутый. В первом случае достаточно смотреть лекции, отвечать на вопросы по лекциям и решать семинары. Во втором случае потребуется решить теоретические задачи, в которых нужно будет применить достаточно обширные знания из математики 1–2 курсов технического университета.
В курсе последовательно излагается терминология и принципы построения нейросетей, рассказывается о современных задачах, методах оптимизации, функциях потерь и об основных архитектурах нейронных сетей. И в завершение обучения — решение наглядной прикладной задачи по компьютерному зрению.
Преподаватели курса
Михаил Романов
Выпускник МФТИ. Закончил Школу анализа данных Яндекса. Получил степень PhD в Technical University of Denmark.
Сотрудник московского Центра ИИ Samsung. Михаил занимается задачами машинного зрения для роботов и любит преподавать, с большим увлечением занимается этим делом, несмотря на недостаток времени. У него есть много идей и тем для дальнейших курсов. Один из выпускников AI Bootcamp 2018 в выходной анкете на вопрос оценить Михаила в 5-балльной шкале как преподавателя, написал: «жаль, что нет оценки шесть!».
Игорь Слинько
Выпускник МФТИ. Закончил Школу анализа данных Яндекса. Сотрудник московского Центра ИИ Samsung. Игорь также занимается задачами машинного зрения для роботов. В прошлом и в этом году он лектор-волонтер мастерской «Deep Learning» социально-образовательного проекта Летняя школа.
Программа курса
Нейронная сеть:
- Математическая модель нейрона
- Булевы операции в виде нейронов
- От нейрона к нейронной сети
- Семинар: Базовая работа в PyTorch
Строим первую нейронную сеть:
- Восстановление зависимости нейронной сетью
- Компоненты нейронной сети
- Теоретические задачи: Восстановление зависимостей
- Алгоритм настройки нейронной сети
- Теоретические задачи: Графы вычислений и BackProp
Задачи, решаемые при помощи нейронных сетей:
- Бинарная классификация? Бинарная кросс-энтропия!
- Многоклассовая классификация? Софтмакс!
- Другие задачи для нейронных сетей
- Теоретические задачи: Функции потерь
- Семинар: Строим первую нейронную сеть
- Семинар: Классификация в PyTorch
Методы оптимизации:
- Самый обычный градиентный спуск
- Модификации градиентного спуска
- Теоретические задачи: Понимаем SGD с momentum
- Семинар: Реализация градиентного спуска средствами PyTorch
- Семинар: Классификация рукописных чисел полносвязанной сетью
Свёрточные неройнные сети:
- Свёртка, каскад свёрток
- История архитектур: LeNet (1998)
- История архитектур: AlexNet (2012) и VGG (2014)
- История архитектур: GoogLeNet и ResNet (2015)
- Семинар: Распознавание рукописных чисел свёрточной нейросетью
Регуляризация, нормализация и методы рационального мышления:
- Регуляризация и нейронные сети
- Нормализация данных
- Семинар: Делаем современную свёрточную нейросеть
- Метод максимального правдоподобия
- Тестирование: Мыть или не мыть?
Требования к студентам
Курс рассчитан на слушателей, которые делают первые шаги в области машинного обучения. Что нужно от вас?
- Иметь базовые знания в области математической статистики.
- Быть готовым программировать на Python.
- Если вы хотите пройти курс на сложном уровне, то понадобится неплохое знание математического анализа, линейной алгебры, теории вероятностей и статистики.
Вызов принят? Тогда приступайте к курсу!