Прямо сейчас идет день открытых дверей по курсу «DevOps практики и инструменты». Присоединяйтесь!

Нейронные сети на Python

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

Длительность

4 месяца

Начало занятий

16 ноября

Продолжительность
4 месяца, 4 академических часа в неделю
Начало занятий
16 ноября
Что даст вам этот курс


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

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

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

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




22 работодателя

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


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


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

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

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

Соавтор книги про глубокое машинное обучение: https://www.piter.com/product/glubokoe-obuchenie
Научные публикации:
  • 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


  • 7+ лет опыта в области анализа данных и машинного обучения. Опыт работы и проектов в различных индустриях: телеком, онлайн-ритейл, банковская сфера, финтех и медтех.

    В настоящий момент работает в компании Koerber Digital GmbH, Берлин. Занимает позицию Lead Data Scientist и ведет работу команды, занимающейся аналитикой больших объемов данных и машинным обучением для производственных предприятий и B2B компаний.

    Образование: магистратура МГТУ им.Баумана "Компьютерный анализ и интерпретация данных"; бакалавриат НИУ МАИ "Математические методы в экономике и маркетинге".

    Михаил работает в отделе машинного обучения компании Jet Infosystems. Занимается проектами по агрегации отзывов, по анализу и оптимизации производства крупных промышленных компаний. В data science пришел из промышленного программирования на Python, где разрабатывал код для "толстого клиента" в проекте по созданию "умных окон".

    Ранее учил талантливых школьников программированию, машинному обучению и программированию учебных моделей спутников.

    Область интересов: data science, математика, космос и Python.
    Мой взгляд на программирование: с великой силой приходит великая ответственность.

    Артур
    Кадурин
    Дмитрий
    Музалевский
    Михаил
    Степанов
    Преподаватели
    Артур Кадурин
    CEO Insilico Taiwan и Chief AI Officer Insilico Medicine
    В Mail.ru был первым сотрудником в группе по анализу данных департамента рекламных технологий. После того, как группа выросла в отдел, возглавил группу сегментирования аудитории. Руководил и участвовал в проектах, связанных с анализом пользовательского поведения в рекламе, соцсетях, играх и т. д.

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

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

    Соавтор книги про глубокое машинное обучение: https://www.piter.com/product/glubokoe-obuchenie
    Научные публикации:
  • 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


  • Дмитрий Музалевский
    Lead Data Scientist в Koerber Digital
    7+ лет опыта в области анализа данных и машинного обучения. Опыт работы и проектов в различных индустриях: телеком, онлайн-ритейл, банковская сфера, финтех и медтех.

    В настоящий момент работает в компании Koerber Digital GmbH, Берлин. Занимает позицию Lead Data Scientist и ведет работу команды, занимающейся аналитикой больших объемов данных и машинным обучением для производственных предприятий и B2B компаний.

    Образование: магистратура МГТУ им.Баумана "Компьютерный анализ и интерпретация данных"; бакалавриат НИУ МАИ "Математические методы в экономике и маркетинге".

    Михаил Степанов
    Jet Infosystems
    Михаил работает в отделе машинного обучения компании Jet Infosystems. Занимается проектами по агрегации отзывов, по анализу и оптимизации производства крупных промышленных компаний. В data science пришел из промышленного программирования на Python, где разрабатывал код для "толстого клиента" в проекте по созданию "умных окон".

    Ранее учил талантливых школьников программированию, машинному обучению и программированию учебных моделей спутников.

    Область интересов: data science, математика, космос и Python.
    Мой взгляд на программирование: с великой силой приходит великая ответственность.

    Отзывы
    Андрей
    Разбаков
    Нейронные сети — это не просто, но очень интересно. Практика и теория, подробное объяснение принципов и моделей — это все тут в изобилии.
    Помимо базовых архитектур и их особенностей курс открыл для меня удивительный мир состязательных генеративных сетей. В столь короткий срок получить такие глубокие и обширные знания в этой области я бы точно самостоятельно не смог.
    Читать целиком
    Андрей
    Разбаков
    Нейронные сети — это не просто, но очень интересно. Практика и теория, подробное объяснение принципов и моделей — это все тут в изобилии.
    Помимо базовых архитектур и их особенностей курс открыл для меня удивительный мир состязательных генеративных сетей. В столь короткий срок получить такие глубокие и обширные знания в этой области я бы точно самостоятельно не смог.
    Читать целиком
    Минимальные знания
    • Знание линейной алгебры, начала анализа и теории вероятностей.
    • Владение языком программирования Python на уровне Junior (знать программирование на Python на базовом уровне необходимо, так как модели машины реализуются на Python).
    Процесс обучения
    Образовательный процесс на курсе "Нейронные сети на Python" проходит в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель даёт развернутый фидбек. При написании кода используется Python.
    Преподаватель находится в едином коммуникационном пространстве с группой, т. е. слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.

    Интенсивность: 2 онлайн-вебинара в неделю по 2 часа каждый и от 1 до 4 часов на домашнюю работу.
    Программа обучения
    Модуль 1
    Введение в нейронные сети и глубокое обучение
    Модуль 2
    Основные архитектуры и методы обучения нейронных сетей.
    Модуль 3
    Состязательные нейронные сети
    Модуль 4
    Современные архитектуры нейронных сетей
    Модуль 5
    Проект
    Введение в нейронные сети и глубокое обучение
    В первом модуле участники познакомятся с нейронными сетями и задачами которые можно решить с их помощью, а так же воспользуются фреймворком pyTorch для создания первой нейронной модели.
    Тема 1: Искусственный интеллект и другие задачи которые можно решать с помощью нейронных сетей
    Участники узнают что такое искусственные нейроны для того, чтобы понимать из чего состоят искусственные нейронные сети
    Смогут определять какие задачи можно решить с помощью нейронных сетей для того, чтобы формализовать абстрактные задачи от заказчика
    Научатся пользоваться и искать необходимые функции в библиотеке pyTorch для того чтобы иметь возможность реализовывать нейронные сети.
    Домашние задания: 1
    1 Введение в PyTorch
    1. Используя скрипт salt.py посчитать хэш от своего имени. Суть задания подтвердить запуск докера.
    2. Сделать свой transform, переводящий данные в распределение N(0, 1) и выложить код в Slack. Проверить код 3х коллег и отписаться в ветку к выложенному коду.
    Тема 2: Теоретические основы обучения нейронных сетей
    Участники вспомнят(узнают) необходимую теорию для того чтобы успешно пройти данный курс
    Узнают как реализовать свою первую модель машинного обучения для того чтобы уметь решать задачу классификации
    Домашние задания: 1
    1 Логистическая регрессия на pyTorch
    В файле log_reg.ipynb изменить код таким образом, чтобы решить ту же самую задачу, а именно обучить логистическую регрессию, на двумерных данных
    Тема 3: Первая нейронная сеть
    Участники узнают о том как происходит обучение нейронных сетей в популярных фреймворках для того чтобы реализовывать глубокие нейронные сети.
    Познакомятся с фреймворками PyTorch, TensorFlow, Keras для того чтобы искать необходимые классы и методы
    Тема 4: Keras
    Домашние задания: 1
    1 Регрессия в Keras
    Цель: Реализовать задачу регрессии в Keras
    Тема 5: TensorFlow
    Тема 6: Переобучение и регуляризация нейронных сетей
    Участники узнают что такое переобучение и как с ним бороться для повышения эффективности своих моделей
    Домашние задания: 1
    1 Переобучение 1
    Добиться от классифкатора fashionminst переобучения за счет изменения архитектуры и гиперпараметров.
    Тема 7: Взрыв и затухание градиентов
    Участники научатся бороться с проблемой взрыва/затухания градиентов для того чтобы обучать глубокие нейронные сети
    Основные архитектуры и методы обучения нейронных сетей.
    Участники поработают с базовыми архитектурами нейронных сетей, и научатся решать типичные задачи анализа данных.
    Тема 1: Основные архитектуры нейронных сетей: Автокодировщики
    Участники узнают какие задачи можно решать с помощью автокодировщиков и смогут их создавать для решения этих задач
    Домашние задания: 1
    1 Автокодировщик
    Обновить формулу KL-дивиргенции в соответствии со слайдами

    Необязательное д/з на поэкспериментировать:
    1. Обучить шумный автокодировщик:
    а. Добавить ко входным данным нормальный шум
    б. Обнулить % случайных пикселей картинки (30-50% должно работать хорошо)
    в. Обнулить левую/правую половину картинки
    Тема 2: Основные архитектуры нейронных сетей: Сверточные сети
    Участники смогут создавать сверточные нейронные сети для решения задач компьютерного зрения
    Применять операцию обратную свертке для реализации сверточных автокодировщиков
    Домашние задания: 1
    1 Сверточные сети
    Необязательное домашнее задание
    1. Реализовать сверточный автокодировщик
    2. Сделать оптимизацию изображения под активацию сверточных нейронов классификатора
    3. Сделать оптимизацию изображения под активацию сверточных нейронов автокодировщика
    Тема 3: Основные архитектуры нейронных сетей: Рекуррентные сети
    Участники смогут создавать рекуррентные сети для решения задач обработки последовательностей и естественных языков
    Домашние задания: 1
    1 Создаем Википедию
    1. Используя подход аналогичный torchvision, сделать свой класс датасета.
    Необязательное д/з:
    1. Поэкспериментировать с разными архитектурами рекурренток: тип ячеек, слои, нормализация, методы оптимизации
    Тема 4: Адаптивные методы градиентного спуска
    Участники научатся применять продвинутые методы градиентного спуска для ускорения обучения нейронных сетей
    Тема 5: Реализация на TensorFlow
    Тема 6: Реализация на Keras
    Тема 7: Введение в обучение с подкреплением
    участники научатся применять методы классического обучения с подкреплением для таких задач как A/B тестирование или игра в шахматы. Мы разберемся с тем кто такие многорукие бандиты и что такое TD-обучение.
    Домашние задания: 1
    1 Подготовка проекта
    Нужно выбрать тематику проекта и сделать первичное описание:
    1. Формулировка задачи
    2. Предполагаемые методы
    3. Ожидаемый результат
    Состязательные нейронные сети
    В этом модуле мы разберем один из найболее мощных современных фреймворков обучения нейронных сетей и примеры его использования.
    Тема 1: Вариационный автокодировщик
    Участники познакомятся с одной из самых популярных генеративных моделей нейронных сетей
    Домашние задания: 1
    1 Вариационный автокодировщик
    Реализовать VAE в pytorch для MNIST датасета. Визуализировать полученный результат.
    Тема 2: Генеративные Состязательные Сети
    Участники познакомятся с фреймворком состязательных сетей на примере задачи порождения примеров аналогичных тренировочному множеству.
    Домашние задания: 1
    1 GANs
    1. Сделать условный GANs — класс подается на вход Генератору и Дискриминатору
    2. Сделать Adversarial Autoencoder — автокодировщик с лоссом от Дискриминатора вместо dKL
    Тема 3: Состязательный Автокодировщик и условная генерация
    Участники познакомятся с новыми техниками применения состязательного фреймворка для повышения эффективности решения задач порождения данных
    Домашние задания: 1
    1 Условная генерация
    Обучить две версии CAAE — "частную" и "нечестную", преобразовать с их помощью исходные данные в латентное представление и обучить 3 классификатора — один на исходных данных и два на кодах, полученных из "честного" и "нечестного" CAAE. Сравнить качество классификации.
    Необязательная часть:
    Сделать перенос стиля с одной цифры на другие с помощью "честного" CAAE
    Тема 4: Глубокое обучение с подкреплением
    на занятии мы научимся применять нейронные сети к задачам обучения с подкреплением
    Тема 5: Domain Adaptation
    Участники познакомятся с мощным подходом решения одинаковых задач на разных датасетах, для повышения точности решения в случае недостаточности данных
    Тема 6: Обзор: другие состязательные сети
    Участники познакомятся с наиболее актуальными состязательными моделями и техниками
    Тема 7: Обучение с подкреплением в состязательных сетях
    21 августа, 20:00 — 21:30
    Лектор: Артур Кадурин
    Современные архитектуры нейронных сетей
    В завершение курса мы разберем и реализуем ключевые архитектуры нейронных сетей для решения типичных задач компьютерного зрения, обработки естественных языков, анализа графов и т.д. А так же подробно рассмотрим общие концепции используемые при проектировании и обучении современных архитектур.
    Тема 1: Современные сверточные сети. Обзор.
    Участники gознакомятся с одной из самых популярных глубоких архитектур компьюетрного зрения и узнают за счет чего можно обучать очень глубокие нейронный сети
    24 августа, 10:00 — 11:30
    Лектор: Артур Кадурин
    Тема 2: Современные сверточные сети. Практика.
    28 августа, 20:00 — 21:30
    Лектор: Дмитрий Музалевский
    Тема 3: Глубокие рекуррентные сети.
    Участники расширят свои знания в области рекуррентных нейронных сетей и научатся применять общие концепции используемые в глубоких нейронных сетях для повышения эффектиности моделей
    31 августа, 10:00 — 11:30
    Лектор: Михаил Степанов
    Тема 4: Metric-learning и обучение без примеров
    Участники познакомятся с идеей выучивания метрик для решения задач ранжирования и поиска, а так же узнают как использовать данный подход в условиях недостаточной обучающей выборки
    4 сентября, 20:00 — 21:30
    Лектор: Дмитрий Музалевский
    Тема 5: Внимание в нейронных сетях
    7 сентября, 10:00 — 11:30
    Тема 6: Обзор: Обнаружение и сегментация
    Участники научатся решать такие задачи компьютерного зрения как поиск и выделение объектов на изображениях
    11 сентября, 20:00 — 21:30
    Лектор: Дмитрий Музалевский
    Тема 7: Нейронные сети для работы с графами
    Участники научатся использовать графовые типы данных для решения задач анализа на графах
    14 сентября, 10:00 — 11:30
    Проект
    В рамках курса предусмотрена защита проекта. Проект представляет из себя генеративную модель для порождения текста заданного стиля или изображений заданной тематики.
    Проект в ключает в себя следующие этапы:
    Выбор тематики
    Сбор и подготовка данных соответствующих тематике
    Построение и обучение генеративной модели
    Проект выполняется в течении двух недель после прохождения курса. Решение должно включать код модели и ее обучения, описание архитектуры модели, отчет об обучении модели и примеры генерации.
    Тема 1: Вводное занятие по проектной работе
    None
    25 сентября, 20:00 — 21:30
    Домашние задания: 1
    1 Проектная работа
    Тема 2: Консультация по проектной работе
    None
    28 сентября, 10:00 — 11:30
    Тема 3: Защита проектной работы
    None
    2 октября, 20:00 — 21:30
    Выпускной проект
    В рамках курса предусмотрена защита проекта. Он представляет собой генеративную модель для порождения текста заданного стиля или изображений заданной тематики.


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


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


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

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

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

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

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

    Прошедшие открытые вебинары по курсу
    Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
    Учим нейронную сеть копировать почерк
    Артур Кадурин
    Генеративные состязательные сети, или Как мы научили компьютер воображать
    Артур Кадурин
    После обучения вы

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

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

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

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

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

    Дата выдачи сертификата: 8 марта 2020 года
    Ваш сертификат

    онлайн-образование

    Сертификат №0001

    Константин Константинопольский

    Успешно закончил курс «Нейронные сети на Python»
    Выполнено практических заданий: 16 из 16

    Общество с ограниченной ответственностью “Отус Онлайн-Образование”

    Город:
    Москва

    Генеральный директор ООО “Отус Онлайн-Образование”
    Виталий Чибриков

    Лицензия на осуществление образовательной деятельности
    № 039825 от 28 декабря 2018г.

    онлайн-образование

    Сертификат №0001

    Константин Константинопольский

    Успешно закончил курс «Нейронные сети на Python»
    Выполнено практических заданий: 16 из 16

    Общество с ограниченной ответственностью “Отус Онлайн-Образование”

    Город:
    Москва

    Генеральный директор ООО “Отус Онлайн-Образование”
    Виталий Чибриков

    Лицензия на осуществление образовательной деятельности
    № 039825 от 28 декабря 2018г.