День открытых дверей по курсу «Нейронные сети на Python» 14.11.2018 в 20:00 | OTUS

Курсы

Программирование
Выбор профессии в IT
-99%
Разработчик на Spring Framework Python Developer. Basic Специализация Python Developer Python Developer. Professional Golang Developer. Professional Scala-разработчик Специализация iOS Angular Developer JavaScript Developer. Professional Java Developer. Professional Microservice Architecture Highload Architect Node.js Developer Kotlin Backend Developer. Professional Java Developer. Basic HTML/CSS Специализация C++ Developer C++ Developer. Professional PHP Developer. Professional Agile Project Manager C# Developer. Professional Web-разработчик на Python Framework Laravel NoSQL Разработчик IoT Unity Game Developer. Professional PHP Developer. Basic Специализация PHP Developer Rust Developer Буткемп Java PostgreSQL для администраторов баз данных и разработчиков
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02
Проходил 14 ноября 2018 года в 20:00

День открытых дверей
Всё о кусре «Machine Learning»

День открытых дверей онлайн

День Открытых Дверей — отличная возможность узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения.

Присоединяйтесь к онлайн-трансляции и участвуйте в розыгрыше приятных подарков! Для этого необходимо успешно пройти вступительный тест (до 19:00 по мск. 20 ноября) и подтвердить свой номер телефона! Желаем успехов и до встречи в прямом эфире!
Преподаватель
Артур Кадурин

Запись

О курсе

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

 

  • В первых двух модулях курса мы разбираем всю необходимую теорию для дальнейшего погружения в глубокое обучение, изучаем основные фреймворки (PyTorch, Keras, Tensorflow) для разработки нейронных сетей и решаем классические задачи компьютерного зрения, обработки естественных языков и обучения с подкреплением.
  • Третий модуль посвящен современным подходам к решению классических задач компьютерного зрения и обработки естественных языков. Мы узнаем, как …
Программа курса
Модуль 1
Первые шаги
Модуль 2
Основные архитектуры и методы обучения нейронных сетей
Модуль 3
Современные нейронные сети для задач компьютерного зрения и обработки естественных языков
Модуль 4
Нейронные сети для слабоформализуемых задач
Модуль 5
Проектная работа
Первые шаги
В этом модуле мы познакомимся:
i. с основными задачами которые можно решить с помощью нейронных сетей
ii. фреймворками, позволяющими реализовывать различные нейросетевые архитектуры в соответствии с задачей
iii. и методами, лежащими в основе обучения искусственных нейронных сетей.
Искусственный интеллект и другие задачи которые можно решать с помощью нейронных сетей
объяснить, что такое искусственные нейроны для того, чтобы понимать из чего состоят искусственные нейронные сети, познакомятся с историей развития искусственного интеллекта и актуальными задачами, которые стоят перед учеными в области Data Science.
Домашние задания: 1
ДЗ
Docker. В докерфайле из материалов нужно заменить версию Tensorflow на последнюю и добавить установку Keras.
Запустить контейнер из своего образа, импортировать TF и Keras и вывести версии.
Выложить скриншот с версиями
Стохастический градиентный спуск и метод обратного распространения
разобрать математическую основу обучения нейронной сети и базовые идеи работы с данными.
Первая нейронная сеть на PyTorch
работать с фреймворком PyTorch;
реализовывать простейшие нейронные сети.
Домашние задания: 1
ДЗ
Логистическая регрессия и переобучение. 1. В файле log_reg.ipynb изменить код таким образом, чтобы решить ту же самую задачу, а именно обучить логистическую регрессию, на двумерных данных
2. Добиться от классифкатора на minst переобучения за счет изменения архитектуры и гиперпараметров.
Переобучение и регуляризация нейронных сетей
объяснить, что такое переобучение нейронной сети, и как с ним бороться для повышения эффективности своих моделей.
Первая нейронная сеть на Tensorflow
реализовывать нейронные сети с помощью одного из самых популярных фреймворков.
Домашние задания: 1
ДЗ
Основы tenosrlow и tf.keras. Скачайте ноутбук с домашним заданием по ссылке.

Более подробная инструкция в ноутбуке, в том числе и в какой форме его можно сдать.
Взрыв и затухание градиентов
проанализировать проблемы взрыва и затухания градиентов и познакомятся с методами борьбы позволяющими обучать более глубокие нейронные сети.
Погружение в Tensorflow
разобрать продвинутые возможности фреймворка Tensorflow.
Адаптивные методы градиентного спуска
применять современные модификации метода градиентного спуска для ускорения обучения нейронных сетей.
Основные архитектуры и методы обучения нейронных сетей
В этом модуле мы узнаем:
i. Какие нейросетевые архитектуры существуют
ii. Какие методы позволяют обучать глубокие нейронные сети.
ii. Как применять нейросети в задачах компьютерного зрения, обработки естественных языков и обучения с подкреплением.
Основные архитектуры нейронных сетей: Автокодировщики
создавать автокодировщики;
модифицировать основную структуру под конкретную задачу.
Домашние задания: 1
ДЗ
Автокодировщик. 0. Обучить многослойный автокодировщик:
а. отрисовать классы в латентном представлении автокодировщика с двумерным латентным слоем,
б. сделать tSNE над 32-мерным латентным слоем.

1. Обучить автокодировщик с шумом:
а. Добавить ко входным данным нормальный шум,
б. Сделать отражение части изображения,
в. Отрисовать карты активаций нейронов внутреннего слоя.
Практическое занятие на TensorFlow. Разреженный Автокодировщик
решать задачи удаления шума с изображения и разреживания представления данных.
Основные архитектуры нейронных сетей: Сверточные сети
использовать наиболее популярную архитектуру нейронной сети для решения задач компьютерного зрения, а также операцию обратную свертке для реализации сверточных автокодировщиков.
Домашние задания: 1
ДЗ
Сверточные сети. Необязательное домашнее задание
1. Реализовать сверточный автокодировщик
2. Сделать оптимизацию изображения под активацию сверточных нейронов классификатора
3. Сделать оптимизацию изображения под активацию сверточных нейронов автокодировщика
Практическое занятие на Keras. Transfer Learning
разобрать на практике один из ключевых методов решения задач компьютерного зрения.
Основные архитектуры нейронных сетей: Рекуррентные сети
на примере задачи классификации коротких текстов, познакомиться еще с одной важнейшей архитектурой — рекуррентной нейронной сетью;
помимо обработки естественных языков рассмотреть общий подход к работе с последовательными данными с помощью рекуррентной сети.
Практическое занятие на PyTorch. Генерация Википедии
перейти от предсказания свойств текста к порождению собственных текстов.
Домашние задания: 1
ДЗ
Создаем Википедию. 1. Используя подход аналогичный torchvision, сделать свой класс датасета.
Необязательное д/з:
1. Поэкспериментировать с разными архитектурами рекурренток: тип ячеек, слои, нормализация, методы оптимизации
Введение в обучение с подкреплением
применять методы классического обучения с подкреплением для таких задач как A/B тестирование или игра в шахматы;
разобраться с тем, кто такие многорукие бандиты и что такое TD-обучение.
Практическое занятие. Крестики-нолики
на примере игры в крестики-нолики сравнить решение с помощью нейронной сети с “табличными” методами обучения с подкреплением.
Домашние задания: 1
ДЗ
Deep-Tac-Toe.
Современные нейронные сети для задач компьютерного зрения и обработки естественных языков
В этом модуле мы разберем:
i. Современные архитектуры сверточных и рекуррентных нейронных сетей.
ii. Задачи сегментации и детекции объектов на изображении
iii. Как устроено внимание и почему нейронные сети могут что-то забыть.

Современные сверточные сети. Блоки и шорткаты
проанализировать историю развития современных сверточных сетей;
объяснить, что позволило сделать их по-настоящему глубокими и как это повлияло на область компьютерного зрения.
Современные рекуррентные сети. Внимание
“научить” нейросеть обращать внимание на наиболее важную информацию на изображении или в тексте;
использовать эту способность, чтобы искать логически связанные блоки информации, чем это поможет при машинном переводе, поиске ответов на вопросы, аннотации изображений.
Современные рекуррентные сети. Трансформеры
использовать только attention-слои для Natural Language Inference, а также разобраться, как трансформер позволяет создать эмбеддинги, учитывающими контекст при кодировании многозначных слов.
Metric-learning и обучение без примеров
отображать объекты в пространство с метрикой и использовать такое представление для поиска похожих объектов и решения задачи классификации при отсутствии данных.
Современные сверточные сети. Transfer learning и fine-tuning
объяснить, что делать, если данных недостаточно для обучения глубокой нейронной сети;
использовать знания из уже обученной нейронной сети и подстраивать такую сеть к конкретной задаче.
Домашние задания: 1
ДЗ
Катастрофическое забывание (необязательное). 1. Дообучить готовую модель на imagenette2 и проверить качество
2. Сохранить последний слой обученной модели и заменить его на новый для CIFAR10
2. Дообучить модель решать датасет CIFAR10 и проверить качество
3. Вернуть оригинальный последний слой модели и проверить качество на imagenette2
4. Дообучить только последний слой на imagenette2 и проверить удалось ли добиться исходного качества.
Генеративные состязательные сети
объяснить, как нейронная сеть учится обманывать другую нейронную сеть, и как от этого они обе становятся лучше, а мы получаем генератор качественных данных.
Домашние задания: 1
ДЗ
GANs. 1. Сделать сверточный GANs
Глубокие сверточные сети. Сегментация
разобраться, как при помощи нейронной сети сегментировать изображение, какие для этого есть архитектуры, что за принципы лежат в основе UNet и DeepLab.
Глубокие сверточные сети. Детекция
проанализировать принципы работы нейронных сетей для детекции объектов: от эволюцию от первых “чисто” нейросетевых алгоритмов до современных архитектур, работающих за “один взгляд” - YOLO, SSD.
Нейронные сети для слабоформализуемых задач
В этом модуле мы научимся:
i. Решать задачи с необычной структурой данных или отсутствием данных.
ii. Создавать новые объекты и определять их “реалистичность”
iii. Имитировать поведение людей и разбираться в их скрытых мотивах
Вариационный и состязательный автокодировщики
Домашние задания: 1
ДЗ
Вариационный автокодировщик. Реализовать VAE в pytorch для MNIST датасета.
1. Обучить VAE с 32- и 64-мерным латентным слоем и сравнить качество автокодирования и качество генерации новых изображений
2. Обучить VAE с 2-мерным латентным слоем и сгенерировать изображения из решетки в латентном пространстве
Доменная адаптация и условная генерация
разобрать подходы к обучению нейронных сетей на многомодальных данных, способы целенаправленного забывания информации и применение состязательного фреймворка для “честной” условной генерации.
Домашние задания: 1
ДЗ
Условная генерация. Обучить две версии CAAE — "частную" и "нечестную", преобразовать с их помощью исходные данные в латентное представление и обучить 3 классификатора — один на исходных данных и два на кодах, полученных из "честного" и "нечестного" CAAE. Сравнить качество классификации.
Необязательная часть:
Сделать перенос стиля с одной цифры на другие с помощью "честного" CAAE
Генеративные модели для текстов
работать с методом Professor forcing;
использовать идеи обучения с подкреплением для генерации текстов, а также пропускать градиент через дискретные объекты с помощью репараметризации.
Катастрофическое забывание
Глубокое обучение с подкреплением
проанализировать как же Google удалось победить чемпиона мира в игру го и что еще можно сделать таким же способом.
Обратное обучение с подкреплением
имитировать поведение эксперта;
объяснить, что делать, если награды неизвестны и можно ли назначать награды нейронной сетью.
Сферические свертки и множества точек
применять непрерывные свертки для данных имеющих пространственную структуру.
Сверточные и рекуррентные сети на графах
проанализировать архитектуры, позволяющие работать с данными имеющими графовую структуру.
Проектная работа
В рамках курса предусмотрена защита проекта. Он представляет собой генеративную модель для порождения текста заданного стиля или изображений заданной тематики.


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


Проект выполняется программистом в течение двух недель после прохождения курса. Готовое решение должно включать в себя код модели и ее обучения на Python, описание архитектуры модели, отчет об обучении модели и примеры генерации.
Выбор темы и организация проектной работы / Консультация по домашним заданиям
выбрать и обсудить тему проектной работы;
спланировать работу над проектом;
ознакомиться с регламентом работы над проектом.
Домашние задания: 1
ДЗ
Выпускная работа.
Защита проектных работ
защитить проект и получить рекомендации экспертов.

Преподаватель

Артур Кадурин
Директор ключевых исследовательских программ. Институт Искусственного Интеллекта
Соавтор курсов "Компьютерное зрение" и "Deep Learning"

В Mail.Ru Group был первым сотрудником в группе по анализу данных департамента рекламных технологий. После того, как группа выросла в отдел, возглавил группу сегментирования аудитории. Руководил и участвовал в проектах, связанных с анализом пользовательского поведения в рекламе, соцсетях, играх и т. д.

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

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

Соавтор книги Глубокое обучение
Соавтор многочисленных научных публикаций: Google Scholar
Директор ключевых исследовательских программ. Институт Искусственного Интеллекта
Преподаватель курсов:

F.A.Q.: Наиболее часто задаваемые вопросы:

Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару.
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы.
🔥 Черная пятница!
Любой доступный курс OTUS можно купить со скидкой 20% по промокоду!