Несколько дней новогоднего волшебства:
Успейте начать обучение в 2018-ом году со скидкой до 30%!
Выбрать курс

Machine Learning

Курс о нейронных сетях, глубоком машинном обучении и задачах, которые решает Deep Learning Инженер.
Начало занятий
16 апреля 2019 года
Что даст вам этот курс


  • Знание архитектур нейронных сетей, их видов и особенностей;

  • Освоение методов обучения нейронных сетей;

  • Умение оперировать данными, проектировать свою сеть и реализовывать её на Python с помощью фреймворка pyTorch;

  • Понимание, как эффективно решать задачи анализа данных, используя глубокое машинное обучение.




10 работодателей

Самый современный материал про машинное обучение


Программа подготовлена признанным экспертом по машинному обучению


Нейронные сети — как дети: их можно научить чему угодно. Но нужно помнить и о трудностях, сопровождающих каждого родителя: неправильные методы обучения, недостаток хороших примеров или несоответствие архитектуры ребёнка поставленным задачам могут привести к непредсказуемым результатам.
Артур Кадурин
Преподаватель курса
Нейронные сети — как дети: их можно научить чему угодно. Но нужно помнить и о трудностях, сопровождающих каждого родителя: неправильные методы обучения, недостаток хороших примеров или несоответствие архитектуры ребёнка поставленным задачам могут привести к непредсказуемым результатам.
Артур Кадурин
Преподаватель курса
Преподаватель
Артур Кадурин
CEO Insilico Taiwan и Chief AI Officer Insilico Medicine
В Mail.ru (Москва) был первым сотрудником в группе по анализу данных департамента рекламных технологий. После того, как группа выросла в отдел, возглавил группу сегментирования аудитории. Руководил и участвовал в проектах, связанных с анализом пользовательского поведения в рекламе, соцсетях, играх и т. д.

С 2016 года применял методы глубокого обучения для научных исследований в области медицинской химии совместно с командой Insilico Medicine, где после успешного проекта занял должность директора по AI. В конце 2017 г. возглавил дочернюю компанию Insilico Taiwan в качестве исполнительного директора.

В 2008 году получил специальность математика и системного программиста в Кубанском Государственном Университете на Факультете Компьютерных Наук и Прикладной Математики, с 2013 года занимается машинным обучением.

Научные публикации:
The cornucopia of meaningful leads: Applying deep adversarial autoencoders for new molecule development in oncology. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5355231/

druGAN: An Advanced Generative Adversarial Autoencoder Model for de Novo Generation of New Molecules with Desired Molecular Properties in Silico. https://www.ncbi.nlm.nih.gov/pubmed/28703000

3D Molecular Representations Based on the Wave Transform for Convolutional Neural Networks. https://www.ncbi.nlm.nih.gov/pubmed/29473756

Соавтор книги про глубокое машинное обучение: https://www.piter.com/product/glubokoe-obuchenie
"Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!" Больше, чем 150 лет назад Чарльз Доджсон сформулировал актуальную по сей день мысль. Для того, чтобы добиться успеха недостаточно просто делать свое дело, потому что мир меняется вместе с вами. Я уверен, что такие проекты как Otus способны придать участникам ускорение необходимое для того, чтобы "обогнать" меняющийся мир.
Преподаватель
Артур Кадурин
CEO Insilico Taiwan и Chief AI Officer Insilico Medicine
В Mail.ru (Москва) был первым сотрудником в группе по анализу данных департамента рекламных технологий. После того, как группа выросла в отдел, возглавил группу сегментирования аудитории. Руководил и участвовал в проектах, связанных с анализом пользовательского поведения в рекламе, соцсетях, играх и т. д.

С 2016 года применял методы глубокого обучения для научных исследований в области медицинской химии совместно с командой Insilico Medicine, где после успешного проекта занял должность директора по AI. В конце 2017 г. возглавил дочернюю компанию Insilico Taiwan в качестве исполнительного директора.

В 2008 году получил специальность математика и системного программиста в Кубанском Государственном Университете на Факультете Компьютерных Наук и Прикладной Математики, с 2013 года занимается машинным обучением.

Научные публикации:
The cornucopia of meaningful leads: Applying deep adversarial autoencoders for new molecule development in oncology. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5355231/

druGAN: An Advanced Generative Adversarial Autoencoder Model for de Novo Generation of New Molecules with Desired Molecular Properties in Silico. https://www.ncbi.nlm.nih.gov/pubmed/28703000

3D Molecular Representations Based on the Wave Transform for Convolutional Neural Networks. https://www.ncbi.nlm.nih.gov/pubmed/29473756

Соавтор книги про глубокое машинное обучение: https://www.piter.com/product/glubokoe-obuchenie
"Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!" Больше, чем 150 лет назад Чарльз Доджсон сформулировал актуальную по сей день мысль. Для того, чтобы добиться успеха недостаточно просто делать свое дело, потому что мир меняется вместе с вами. Я уверен, что такие проекты как Otus способны придать участникам ускорение необходимое для того, чтобы "обогнать" меняющийся мир.
Минимальные знания
  • Знание линейной алгебры, начала анализа и теории вероятностей.
  • Владение языком программирования Python на уровне Junior (знать программирование на Python на базовом уровне необходимо, так как модели машины реализуются на Python).
Процесс обучения
Образовательный процесс на Machine learning course проходит в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель даёт развернутый фидбек. При написании кода используется Python.
Преподаватель находится в едином коммуникационном пространстве с группой, т. е. слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.

Интенсивность: 2 онлайн-вебинара в неделю по 2 часа каждый и от 1 до 4 часов на домашнюю работу.
Программа обучения
Модуль 1
Введение в нейронные сети и глубокое обучение
Модуль 2
Основные архитектуры и методы обучения нейронных сетей.
Модуль 3
Состязательные нейронные сети
Модуль 4
Современные архитектуры нейронных сетей
Модуль 5
Проект
Введение в нейронные сети и глубокое обучение
В первом модуле участники познакомятся с нейронными сетями и задачами которые можно решить с их помощью, а так же воспользуются фреймворком pyTorch для создания первой нейронной модели.
Искусственный интеллект и другие задачи которые можно решать с помощью нейронных сетей
Участники узнают что такое искусственные нейроны для того, чтобы понимать из чего состоят искусственные нейронные сети
Смогут определять какие задачи можно решить с помощью нейронных сетей для того, чтобы формализовать абстрактные задачи от заказчика
Научатся пользоваться и искать необходимые функции в библиотеке pyTorch для того чтобы иметь возможность реализовывать нейронные сети.
Домашние задания: 1
1 Введение в PyTorch
1. Используя скрипт salt.py посчитать хэш от своего имени. Суть задания подтвердить запуск докера.
2. Сделать свой transform, переводящий данные в распределение N(0, 1) и выложить код в Slack. Проверить код 3х коллег и отписаться в ветку к выложенному коду.
Теоретические основы обучения нейронных сетей
Участники вспомнят(узнают) необходимую теорию для того чтобы успешно пройти данный курс
Узнают как реализовать свою первую модель машинного обучения для того чтобы уметь решать задачу классификации
Домашние задания: 1
1 Логистическая регрессия на pyTorch
В файле log_reg.ipynb изменить код таким образом, чтобы решить ту же самую задачу, а именно обучить логистическую регрессию, на двумерных данных
Погружение в pyTorch
Участники узнают о том как происходит обучение нейронных сетей в pyTorch для того чтобы реализовывать глубокие нейронные сети
Познакомятся с фреймворком pyTorch для того чтобы искать необходимые классы и методы
Переобучение и регуляризация нейронных сетей
Участники узнают что такое переобучение и как с ним бороться для повышения эффективности своих моделей
Домашние задания: 1
1 Переобучение 1
Добиться от классифкатора fashionminst переобучения за счет изменения архитектуры и гиперпараметров.
Взрыв и затухание градиентов
Участники научатся бороться с проблемой взрыва/затухания градиентов для того чтобы обучать глубокие нейронные сети
Основные архитектуры и методы обучения нейронных сетей.
Участники поработают с базовыми архитектурами нейронных сетей, и научатся решать типичные задачи анализа данных.
Основные архитектуры нейронных сетей: Автокодировщики
Участники узнают какие задачи можно решать с помощью автокодировщиков и смогут их создавать для решения этих задач
19 декабря, 20:00 — 21:30
Домашние задания: 1
1 Автокодировщик
1. Обновить формулу KL-дивиргенции в соответствии со слайдами
2. Заменить sigmoid+KL на tanh+L1 и проверить работает ли такой подход
3. Используя дополнительный оптимайзер, подобрать на обученной сети картинку, на которой энкодер выдаст желаемый вектор латентного слоя и сравнить с тем что выдает декодер.
Необязательное д/з на поэкспериментировать:
1. Обучить шумный автокодировщик:
а. Добавить ко входным данным нормальный шум
б. Обнулить % случайных пикселей картинки (30-50% должно работать хорошо)
в. Обнулить левую/правую половину картинки
2. Используя подход из задания 3 на обученном классификаторе, подобрать входные данные на которых классификатор уверенно выдает один из классов.
Основные архитектуры нейронных сетей: Сверточные сети
Участники смогут создавать сверточные нейронные сети для решения задач компьютерного зрения
Применять операцию обратную свертке для реализации сверточных автокодировщиков
22 декабря, 10:00 — 11:30
Домашние задания: 1
1 Сверточные сети
Необязательное домашнее задание
1. Реализовать сверточный автокодировщик
2. Сделать оптимизацию изображения под активацию сверточных нейронов классификатора
3. Сделать оптимизацию изображения под активацию сверточных нейронов автокодировщика
Основные архитектуры нейронных сетей: Рекуррентные сети
Участники смогут создавать рекуррентные сети для решения задач обработки последовательностей и естественных языков
26 декабря, 20:00 — 21:30
Домашние задания: 1
1 Создаем Википедию
1. Используя подход аналогичный torchvision, сделать свой класс датасета.
Необязательное д/з:
1. Поэкспериментировать с разными архитектурами рекурренток: тип ячеек, слои, нормализация, методы оптимизации
Адаптивные методы градиентного спуска
Участники научатся применять продвинутые методы градиентного спуска для ускорения обучения нейронных сетей
9 января, 20:00 — 21:30
Ошибки в реализации нейронных сетей
Участники научатся применять методы идентификации ошибок в реализации нейронных сетей для успешного применение нейросетей.
12 января, 10:00 — 11:30
Домашние задания: 1
1 Подготовка проекта
Нужно выбрать тематику проекта и сделать первичное описание:
1. Формулировка задачи
2. Предполагаемые методы
3. Ожидаемый результат
Состязательные нейронные сети
В этом модуле мы разберем один из найболее мощных современных фреймворков обучения нейронных сетей и примеры его использования.
Вариационный автокодировщик
Участники познакомятся с одной из самых популярных генеративных моделей нейронных сетей
16 января, 20:00 — 21:30
Домашние задания: 1
1 Вариационный автокодировщик
1. Визуализировать двумерный латентный слой VAE. Показать какие цифры генерируются из каких точек в латентном слое.
2. Обучить условный VAE. Для этого добавить one-hot вектор класса ко входу декодировщика.
Генеративные Состязательные Сети
Участники познакомятся с фреймворком состязательных сетей на примере задачи порождения примеров аналогичных тренировочному множеству.
19 января, 10:00 — 11:30
Домашние задания: 1
1 GANs
1. Сделать условный GANs — класс подается на вход Генератору и Дискриминатору
2. Сделать Adversarial Autoencoder — автокодировщик с лоссом от Дискриминатора вместо dKL
Состязательный Автокодировщик и условная генерация
Участники познакомятся с новыми техниками применения состязательного фреймворка для повышения эффективности решения задач порождения данных
23 января, 20:00 — 21:30
Домашние задания: 1
1 Условная генерация
Обучить две версии CAAE — "частную" и "нечестную", преобразовать с их помощью исходные данные в латентное представление и обучить 3 классификатора — один на исходных данных и два на полученных из разных CAAE. Сравнить качество классификамции.
Необязательная часть:
Сделать перенос стиля с одной цифры на другие с помощью "честного" CAAE
Domain Adaptation
Участники познакомятся с мощным подходом решения одинаковых задач на разных датасетах, для повышения точности решения в случае недостаточности данных
26 января, 10:00 — 11:30
Обзор: другие состязательные сети
Участники познакомятся с наиболее актуальными состязательными моделями и техниками
30 января, 10:00 — 11:30
Современные архитектуры нейронных сетей
В завершение курса мы разберем и реализуем ключевые архитектуры нейронных сетей для решения типичных задач компьютерного зрения, обработки естественных языков, анализа графов и т.д. А так же подробно рассмотрим общие концепции используемые при проектировании и обучении современных архитектур.
Обзор: Inception и ResNet
Участники gознакомятся с одной из самых популярных глубоких архитектур компьюетрного зрения и узнают за счет чего можно обучать очень глубокие нейронный сети
2 февраля, 10:00 — 11:30
Глубокие рекуррентные сети
Участники расширят свои знания в области рекуррентных нейронных сетей и научатся применять общие концепции используемые в глубоких нейронных сетях для повышения эффектиности моделей
6 февраля, 10:00 — 11:30
Metric-learning и обучение без примеров
Участники познакомятся с идеей выучивания метрик для решения задач ранжирования и поиска, а так же узнают как использовать данный подход в условиях недостаточной обучающей выборки
9 февраля, 10:00 — 11:30
Обзор: внимание, множества и сегментация
Участники научатся работать с множествами при обучении нейронных сетей, узнают об общей концепции внимания и смогут решать задачу сегментации.
13 февраля, 10:00 — 11:30
Нейронные сети для работы с графами
Участники научатся использовать графовые типы данных для решения задач анализа на графах
16 февраля, 10:00 — 11:30
Проект
В рамках курса предусмотрена защита проекта. Проект представляет из себя генеративную модель для порождения текста заданного стиля или изображений заданной тематики.
Проект в ключает в себя следующие этапы:
Выбор тематики
Сбор и подготовка данных соответствующих тематике
Построение и обучение генеративной модели
Проект выполняется в течении двух недель после прохождения курса. Решение должно включать код модели и ее обучения, описание архитектуры модели, отчет об обучении модели и примеры генерации.
Выпускной проект
В рамках курса предусмотрена защита проекта. Он представляет собой генеративную модель для порождения текста заданного стиля или изображений заданной тематики.


Работа над проектом проходит поэтапно:
1. Выбор тематики.
2. Сбор и подготовка соответствующих данных.
3. Построение и обучение генеративной модели


Проект выполняется программистом в течение двух недель после прохождения курса. Готовое решение должно включать в себя код модели и ее обучения на Python, описание архитектуры модели, отчет об обучении модели и примеры генерации.


Примеры тем проекта:

  • имплементация универсального класса оптимизатора, обобщающего различные методы градиентного спуска для PyTorch;

  • состязательная нейронная сеть для порождения изображений рукописного текста с заданным стилем;

  • генеративная модель повышения разрешения изображений;

  • рекуррентная состязательная seq2seq-архитектура для порождения стихотворений на основе обычного текста.

Подглядеть
Data Scientist
Илья Иваницкий, аналитик данных
Генеративные состязательные сети, или Как мы научили компьютер воображать
Артур Кадурин
Нейронные сети для задач фармацевтики
Артур Кадурин
Видеоматериалы по теме
День открытых дверей
14 ноября в 20:00
День открытых дверей
14 июня в 20:00
После обучения вы

  • получите материалы по всем пройденным занятиям (презентации, видеозаписи вебинаров, примеры кодов на Python, другие learn-материалы);

  • станете специалистом в такой сфере, как глубокое машинное обучение;

  • получите сертификат об окончании курса;

  • повысите свои знания до уровня Middle/Senior;

  • получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного освоения программы на курсе «Машинное обучение»).

Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Machine Learning»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Machine Learning»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001