SlideShare a Scribd company logo
Глубокое обучение,
или как стать Data
Scientist'ом
Семинар компании NVIDIA
Университет ИТМО, 16 мая 2017 г.
Андрей Созыкин, www.asozykin.ru, sozykin@gmail.com
План
Кто такие Data Scientist'ы и как стать одним из них
Глубокое обучение – теория и применение
Демонстрация глубокого обучения нейронных
сетей:
• Распознавание объектов на изображениях
(Keras+Theano, MNIST и CIFAR-10)
• Сравнение фотографии паспорта и c Web-камеры
Глубокое обучение, или как стать Data Scientist'ом 2
Что такое Data Science?
Глубокое обучение, или как стать Data Scientist'ом 3
Data Science Process
Глубокое обучение, или как стать Data Scientist'ом 4
By Farcaster at English Wikipedia, CC BY-SA 3.0,
https://commons.wikimedia.org/w/index.php?curid=40129394
Где здесь глубокое обучение?
Глубокое обучение, или как стать Data Scientist'ом 5
Machine Learning
Neural Networks
Deep
Learning
Применение глубоких нейронных сетей
Глубокое обучение, или как стать Data Scientist'ом 6
Prisma
Artisto
Применение глубоких нейронных сетей
Глубокое обучение, или как стать Data Scientist'ом 7
Ода Сбербанку
С улыбкой нежной и всеми наравне,
Когда во мне счастья ликованье,
Скажу, преодолев страх признанья:
Сбербанк — светило на века в стране!
…
Применение глубоких нейронных сетей
Глубокое обучение, или как стать Data Scientist'ом 8
Skype Translator
Переводчик Google
Применение глубоких нейронных сетей
Глубокое обучение, или как стать Data Scientist'ом 9
Сингапур
Питсбург, США
Лондон
Применение глубоких нейронных сетей
Глубокое обучение, или как стать Data Scientist'ом 10
Применение глубоких нейронных сетей
Глубокое обучение, или как стать Data Scientist'ом 11
Imperial College, London
Применение глубоких нейронных сетей
Глубокое обучение, или как стать Data Scientist'ом 12
Microsoft
Анализ медицинских изображений
Глубокое обучение, или как стать Data Scientist'ом 13
По данные Word Economic Forum для подготовки врачей
необходимой квалификации в нужном количестве в
мире требуется 300 лет.
Health Systems Leapfrogging in Emerging Economies.
Что должен знать Data Scientist?
Глубокое обучение, или как стать Data Scientist'ом 14
1. Машинное обучение
2. Статистика
3. Математика
4. Компьютерные науки
5. Визуализация данных
6. Коммуникации
7. Предметная область
Cathy O’Neil and Rachel Schutt. Doing Data Science
Columbia University, Data Science Institute
Что необходимо Data Scientist’у?
Глубокое обучение, или как стать Data Scientist'ом 15
1. Теоретические знания
2. Практический опыт
3. Независимое подтверждение своей квалификации
Теоретические знания
Глубокое обучение, или как стать Data Scientist'ом 16
На русском языке:
• Курс “Введение в машинное обучение”. Coursera, Высшая
школа экономики, Константин Воронцов
https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie
• Специализация “Машинное обучение и анализ данных” на
Coursera, 6 курсов, МФТИ и Яндекс
https://www.coursera.org/specializations/machine-learning-data-
analysis
На английском языке:
• Курс “Machine Learning”, Andrew Ng
https://www.coursera.org/learn/machine-learning
• Курс “Neural Networks for Machine Learning”, Geoffrey Hinton
https://www.coursera.org/learn/neural-networks
Практический опыт
Глубокое обучение, или как стать Data Scientist'ом 17
Сайт kaggle.com:
• Соревнования по анализу данных
• Открытые наборы данных
• Примеры решений
Практически-ориентированные
курсы от udacity.com:
• Цель обучения – реализация проекта
• Теоретические курсы нацелены
помочь реализовать проект
Российские чемпионаты по анализу данных:
• boosters.pro
• mlbootcamp.ru
• dataring.ru
Независимое подтверждение квалификации
Глубокое обучение, или как стать Data Scientist'ом 18
Сайт kaggle.com
Открытые репозитории с программами на GitHub
Публикации на конференциях по анализу данных
Статьи на Хабре и других подобных ресурсах
Novice Contributor Expert Master Grandmaster
Школа анализа данных Яндекса
Школа анализа данных Яндекс:
• 2 года очного обучения
Филиалы:
• Санкт-Петербург
• Екатеринбург
• Новосибирск
• Минск
Совместная магистратура Уральского федерального
университета и ШАД:
• Начало обучения 1 сентября 2017 г.
• Два диплома: УрФУ и ШАД
Глубокое обучение, или как стать Data Scientist'ом 19
Глубокое обучение
Глубокое обучение, или как стать Data Scientist'ом 20
Machine Learning
Neural Networks
Deep
Learning
Глубокие нейронные сети и глубокое обучение
Глубокие нейронные сети:
• Один из методов машинного обучения
• Сеть из простых вычислительных элементов –
искусственных нейронов
Традиционное машинное обучение:
• Выбор важных признаков из множества доступных
данных (feature engineering)
Глубокие нейронные сети:
• Автоматическое определение важных признаков в
процессе обучения
• Высокие вычислительные требования
Глубокое обучение, или как стать Data Scientist'ом 21
Почему сейчас???
Основные идеи нейронных сетей придумали в
прошлом веке
Рост производительности компьютеров:
• Многоядерные процессоры
• Графические ускорители GPU
Резкое увеличение количества накопленных
данных
Большое количество готовых к использованию
программных систем глубокого обучения
Глубокое обучение, или как стать Data Scientist'ом 22
Суперкомпьютер NVIDIA DGX-1
23
Доступен для заказа в России
Глубокое обучение, или как стать Data Scientist'ом
Суперкомпьютер NVIDIA DGX-1
Глубокое обучение, или как стать Data Scientist'ом 24
Суперкомпьютер NVIDIA DGX-1
Глубокое обучение, или как стать Data Scientist'ом 25
Нейрон головного мозга
Глубокое обучение, или как стать Data Scientist'ом 26
https://ru.wikipedia.org/wiki/Нейрон
Искусственный нейрон
Глубокое обучение, или как стать Data Scientist'ом 27
𝑎 = 𝜑(෍
𝑖=1
𝑁
𝑤𝑖 𝑥𝑖)
Маккалок Дж., Питтс У. Логические исчисления идей, относящихся к нервной деятельности //
Автоматы. М.: ИЛ, 1956
Функции активации
Глубокое обучение, или как стать Data Scientist'ом 28
• Функция Хевисайда
– 𝜃 𝑥 = ቊ
0, 𝑥 < 0
1, 𝑥 > 0
• Сигмоидальные функции
– 𝜎 𝑥 =
1
1+𝑒−𝑥 (логистическая)
– 𝑡ℎ 𝑥 =
𝑒2𝑥−1
𝑒2𝑥+1
(гиперболический тангенс)
Нейронные сети
Глубокое обучение, или как стать Data Scientist'ом 29
Входной
слой
Скрытый
слой
Выходной
слой
Сеть с прямым распространением сигналов
Глубокое обучение, или как стать Data Scientist'ом 30
Рекуррентная сеть
Глубокое обучение, или как стать Data Scientist'ом 31
Глубокая нейронная сеть
Глубокое обучение, или как стать Data Scientist'ом 32
Обучение нейронной сети
Глубокое обучение, или как стать Data Scientist'ом 33
Обучение нейронной сети – подбор весов
таким образом, чтобы сеть решала поставленную
задачу
Задачи
Глубокое обучение, или как стать Data Scientist'ом 34
Классификация
Регрессия
https://www.kaggle.com/c/dogs-vs-cats
Типы обучения
Глубокое обучение, или как стать Data Scientist'ом 35
С учителем
• Данные с правильными ответами
Без учителя
• Данные без информации о правильных ответах
Обучение с подкреплением
• Агент получает сигналы от внешней среды
Первые варианты обучения, правила Хэбба
Глубокое обучение, или как стать Data Scientist'ом 36
Биологические предпосылки:
• Если нейроны срабатывают вместе, то их связи
укрепляются
Правила обучения Хэбба, 1949 г.:
• Нейрон выдает сигналы {0, 1}
• Начальные веса назначаются случайным образом
• Если сигнал нейрона неверен и равен нулю, то
необходимо увеличить веса тех входов, на которые
была подана единица
• Если сигнал нейрона неверен и равен единице, то
необходимо уменьшить веса тех входов, на которые
была подана единица
Метод обратного распространения ошибки
Глубокое обучение, или как стать Data Scientist'ом 37
Выходной сигнал сети:
• Вещественное число
Мера ошибки:
• Среднеквадратичная
Обучение:
• Минимизация ошибки методом градиентного спуска
Линейный нейрон
Глубокое обучение, или как стать Data Scientist'ом 38
Выходное значение:
Среднеквадратичная ошибка:
𝑎 = ෍
𝑖=1
𝑁
𝑤𝑖 𝑥𝑖
𝜀 =
1
2
෍
𝑗=1
𝑀
(𝑎𝑗 − 𝑦𝑗)2
Линейный нейрон
Глубокое обучение, или как стать Data Scientist'ом 39
Линейный нейрон
Глубокое обучение, или как стать Data Scientist'ом 40
𝑤𝑖 = 𝑤𝑖 − 𝜂 ෍
𝑗=1
𝑀
𝑥𝑗
𝑖
(𝑎𝑗 − 𝑦𝑗)
𝜂 – параметр скорости обучения
Изменение весов
(дельта-правило):
Варианты реализации
Глубокое обучение, или как стать Data Scientist'ом 41
Полное обучение:
• Изменяем веса после обработки всех элементов
обучающей выборки
Онлайн обучение:
• Изменяем веса после обработки каждого объекта
Мини-выборки:
• Изменяем веса после обработки 10-100 объектов
Обратное распространение ошибки
Глубокое обучение, или как стать Data Scientist'ом 42
Обратное распространение ошибки
Глубокое обучение, или как стать Data Scientist'ом 43
Библиотеки глубокого обучения
Глубокое обучение, или как стать Data Scientist'ом 44
Набор данных MNIST
Глубокое обучение, или как стать Data Scientist'ом 45
Back-Propagation Applied to Handwritten Zip Code Recognition / Y. LeCun,
B. Boser, J. S. Denker et al. 1989
Mixed National Institute of Standards and Technology
database
Нейронная сеть для MNIST
Глубокое обучение, или как стать Data Scientist'ом 46
Входные значения сети
• Интенсивность пиксела в изображении
• Количество значений: 784 (28*28 пикселов)
Входной слой
• 800 нейронов
• Patrice Y. Simard; Dave Steinkraus; John C. Platt (2003).
«Best Practices for Convolutional Neural Networks Applied
to Visual Document Analysis»
• https://en.wikipedia.org/wiki/MNIST_database
Выходной слой
• 10 нейронов
• Вероятность того, что на изображении данная цифра
One Hot Encoding
Глубокое обучение, или как стать Data Scientist'ом 47
# 0 -> [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
# 2 -> [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
# 9 -> [0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
Демонстрация MNIST
Глубокое обучение, или как стать Data Scientist'ом 48
Демонстрация распознавания рукописных цифр из
набора данных MNIST в Keras и Theano
Функции активации
Глубокое обучение, или как стать Data Scientist'ом 49
Rectified Linear Unit (ReLU)
SoftMax – нормализованная экспоненциальная
функция
• Используется для представления
вероятности
• Сумма всех выходных значений
нейронов равна 1
𝑓 𝑥 = max(0, 𝑥)
𝑓 𝑥 = ln(1 + 𝑒 𝑥)
Проблема переобучения
Глубокое обучение, или как стать Data Scientist'ом 50
Сеть может научиться распознавать особенности
выборки, а не данных
Наборы данных для обучения
Глубокое обучение, или как стать Data Scientist'ом 51
Обучающая выборка (training set) – набор
данных, который используется для обучения сети
Проверочная выборка (validation set) – набор
данных, который используется в процессе
обучения для оценки качества обучения
Тестовая выборка (test set) – набор данных,
который используется для оценки качества работы
сети после завершения обучения
Сверточные нейронные сети
Глубокое обучение, или как стать Data Scientist'ом 52
Принципы сверточных нейронных сетей (convolutional
neural networks):
• Локальное восприятие
• Разделяемые веса
• Уменьшение размерности
Операция свертки
Глубокое обучение, или как стать Data Scientist'ом 53
N(x,y) = 221 * (-1) +
198 * 0 +
149 * 1 +
205 * (-2) +
147 * 0 +
173 * 2 +
149 * (-1) +
170 * 0 +
222 * 1 = - 63
Ядро
свертки
Свертка изображений
Глубокое обучение, или как стать Data Scientist'ом 54
Размытие
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
Выделение границ
0 -1 0
-1 4 -1
0 -1 0
Повышение четкости
0 -1 0
-1 5 -1
0 -1 0
Свертка изображений
Глубокое обучение, или как стать Data Scientist'ом 55
Размытие
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
Выделение границ
0 -1 0
-1 4 -1
0 -1 0
Повышение четкости
0 -1 0
-1 5 -1
0 -1 0
В нейронных сетях ядра
свертки определяются
автоматически в процессе
обучения
Разделяемые веса
Глубокое обучение, или как стать Data Scientist'ом 56
Уменьшение размерности
Глубокое обучение, или как стать Data Scientist'ом 57
Распознавание объектов вне зависимости от
масштаба
Факт наличия признака важнее знания места его
точного положения на изображении
Слои подвыборки (subsampling):
• Усреднение
• Выбор максимального значения
Сверточная нейронная сеть
Глубокое обучение, или как стать Data Scientist'ом 58
Фукушима. Неокогнитрон
Сверточная сеть LeNet-5
Глубокое обучение, или как стать Data Scientist'ом 59
Back-Propagation Applied to Handwritten Zip Code Recognition / Y. LeCun,
B. Boser, J. S. Denker et al. 1989
Распознавание лиц сверточными сетями
Глубокое обучение, или как стать Data Scientist'ом 60
Honglak Lee, Roger Grosse, Rajesh Ranganath, and Andrew Y. Ng.
Unsupervised Learning of Hierarchical Representations with
Convolutional Deep Belief Networks (2011)
Набор данных CIFAR-10
Глубокое обучение, или как стать Data Scientist'ом 61
Самолет
Автомобиль
Птица
Кот
Олень
Собака
Лягушка
Лошадь
Корабль
Грузовик
Набор данных CIFAR-10
Глубокое обучение, или как стать Data Scientist'ом 62
Открытый набор данных:
• https://www.cs.toronto.edu/~kriz/cifar.html
• Alex Krizhevsky, Learning Multiple Layers of Features from
Tiny Images, 2009.
Изображения в CIFAR-10:
• Размер 32х32
• Цветные изображения (коды интенсивности RGB)
• Набор данных для обучения – 50 000 (5 000 для каждого
класса)
• Набор данных для тестирования – 10 000
• На каждом изображении только один объект
• Нет пересечений
Сверточная сеть для распознавания CIFAR-10
Глубокое обучение, или как стать Data Scientist'ом 63
Демонстрация CIFAR-10
Глубокое обучение, или как стать Data Scientist'ом 64
Демонстрация распознавания объектов на
изображениях CIFAR-10 в Keras и Theano
Сравнение фото
Глубокое обучение, или как стать Data Scientist'ом 65
Паспорт Web-камера
Transfer Learning
Глубокое обучение, или как стать Data Scientist'ом 66
Подход Transfer Learning:
• Использование предварительно обученной сети для
других задач
Соревнования ImageNet:
• Набор данных 14 млн. изображений
• 1000 классов объектов
Обученные нейронные сети на ImageNet
Глубокое обучение, или как стать Data Scientist'ом 67
AlexNet (2012):
• Разработчик Алекс Крижевский, 9 слоев
VGG16 (2014):
• Oxford Visual Geometry Group, 16 слоев
Inception (GoogLeNet, 2014):
• Google, 22 слоя
ResNet (2015):
• Microsoft, 152 слоя
Keras Applications
Глубокое обучение, или как стать Data Scientist'ом 68
Предварительно обученные модели:
• https://keras.io/applications/
Модели в Keras:
• Xception
• VGG16
• VGG19
• ResNet50
• InceptionV3
Архитектура VGG16
Глубокое обучение, или как стать Data Scientist'ом 69
Выделение признаков Классификация
Разные фото одного человека будут иметь похожие признаки
Сравнение фотографий
Глубокое обучение, или как стать Data Scientist'ом 70
Загружаем предварительно обученную сеть VGG16
«Отрезаем» последние три уровня
Для каждой фотографии получаем вектор признаков
Оцениваем расстояние между векторами признаков
Демонстрация сравнения фото
Глубокое обучение, или как стать Data Scientist'ом 71
Демонстрация сравнения фотографий в Keras и
Theano
Дополнительная информация
NVIDIA Deep Learning Institute:
• http://www.nvidia.ru/dli
Примеры кода из демонстраций:
• https://github.com/sozykin/dlpython_course
• Курс с видео и упражнениями -
https://www.asozykin.ru/courses/nnpython
Суперкомпьютерная академия МГУ:
• http://academy.hpc-russia.ru/
• Трек Уральского Федерального Университета
(Екатеринбург) по нейронным сетям –
http://youthscience.urfu.ru/scacademy/
Глубокое обучение, или как стать Data Scientist'ом 72

More Related Content

Similar to Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.

Нейронные сети. Pureso
Нейронные сети. PuresoНейронные сети. Pureso
Нейронные сети. Pureso
Alexey Dmitriev
 
Лекция 9
Лекция 9Лекция 9
Лекция 9
Ivan Stolyarov
 
E-research: опыт и проблемы
E-research: опыт и проблемыE-research: опыт и проблемы
E-research: опыт и проблемы
Maxim Skryabin
 
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучениеHub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub-IT-School
 
Взгляд на Data Science
Взгляд на Data ScienceВзгляд на Data Science
Взгляд на Data Science
Андрей Морозов
 
Oracle Endeca Information Discovery - Платформа для исследования данных
Oracle Endeca Information Discovery - Платформа для исследования данныхOracle Endeca Information Discovery - Платформа для исследования данных
Oracle Endeca Information Discovery - Платформа для исследования данныхAndrey Akulov
 
Инсайдеры: стороны взаимодействия - Сергей Кавун
Инсайдеры: стороны взаимодействия - Сергей КавунИнсайдеры: стороны взаимодействия - Сергей Кавун
Инсайдеры: стороны взаимодействия - Сергей Кавун
HackIT Ukraine
 
!Predictive analyticbasics part1
!Predictive analyticbasics part1!Predictive analyticbasics part1
!Predictive analyticbasics part1
Vladimir Krylov
 
Искусственный интеллект и Big Data в бизнесе
Искусственный интеллект и Big Data в бизнесеИскусственный интеллект и Big Data в бизнесе
Искусственный интеллект и Big Data в бизнесе
Expasoft
 
Big Data Science in Scala ( Joker 2017, slides in Russian)
Big Data Science in Scala ( Joker 2017, slides in Russian)Big Data Science in Scala ( Joker 2017, slides in Russian)
Big Data Science in Scala ( Joker 2017, slides in Russian)
Anastasia Bobyreva
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
Anton Konushin
 
балашов хнувд
балашов хнувдбалашов хнувд
балашов хнувдVitaly Balashov
 
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Yandex
 
Что такое Transfer Learning, или как перестать бояться и начать использовать ...
Что такое Transfer Learning, или как перестать бояться и начать использовать ...Что такое Transfer Learning, или как перестать бояться и начать использовать ...
Что такое Transfer Learning, или как перестать бояться и начать использовать ...
it-people
 
Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...
Ontico
 
#АналитикаРешает - обзорная лекция про аналитику
#АналитикаРешает - обзорная лекция про аналитику#АналитикаРешает - обзорная лекция про аналитику
#АналитикаРешает - обзорная лекция про аналитику
Kadimov Mansur
 
10 заповедей IT-карьериста: от простого специалиста до высокооплачиваемого эк...
10 заповедей IT-карьериста: от простого специалиста до высокооплачиваемого эк...10 заповедей IT-карьериста: от простого специалиста до высокооплачиваемого эк...
10 заповедей IT-карьериста: от простого специалиста до высокооплачиваемого эк...
SkillFactory
 
DataTalks #6. Погружение в науку о данных
DataTalks #6. Погружение в науку о данныхDataTalks #6. Погружение в науку о данных
DataTalks #6. Погружение в науку о данных
Dzianis Pirshtuk
 

Similar to Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г. (20)

Нейронные сети. Pureso
Нейронные сети. PuresoНейронные сети. Pureso
Нейронные сети. Pureso
 
Лекция 9
Лекция 9Лекция 9
Лекция 9
 
E-research: опыт и проблемы
E-research: опыт и проблемыE-research: опыт и проблемы
E-research: опыт и проблемы
 
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучениеHub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
 
Взгляд на Data Science
Взгляд на Data ScienceВзгляд на Data Science
Взгляд на Data Science
 
Oracle Endeca Information Discovery - Платформа для исследования данных
Oracle Endeca Information Discovery - Платформа для исследования данныхOracle Endeca Information Discovery - Платформа для исследования данных
Oracle Endeca Information Discovery - Платформа для исследования данных
 
Инсайдеры: стороны взаимодействия - Сергей Кавун
Инсайдеры: стороны взаимодействия - Сергей КавунИнсайдеры: стороны взаимодействия - Сергей Кавун
Инсайдеры: стороны взаимодействия - Сергей Кавун
 
Нейросети
НейросетиНейросети
Нейросети
 
!Predictive analyticbasics part1
!Predictive analyticbasics part1!Predictive analyticbasics part1
!Predictive analyticbasics part1
 
Искусственный интеллект и Big Data в бизнесе
Искусственный интеллект и Big Data в бизнесеИскусственный интеллект и Big Data в бизнесе
Искусственный интеллект и Big Data в бизнесе
 
Big Data Science in Scala ( Joker 2017, slides in Russian)
Big Data Science in Scala ( Joker 2017, slides in Russian)Big Data Science in Scala ( Joker 2017, slides in Russian)
Big Data Science in Scala ( Joker 2017, slides in Russian)
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
 
балашов хнувд
балашов хнувдбалашов хнувд
балашов хнувд
 
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
 
Что такое Transfer Learning, или как перестать бояться и начать использовать ...
Что такое Transfer Learning, или как перестать бояться и начать использовать ...Что такое Transfer Learning, или как перестать бояться и начать использовать ...
Что такое Transfer Learning, или как перестать бояться и начать использовать ...
 
Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...
 
#АналитикаРешает - обзорная лекция про аналитику
#АналитикаРешает - обзорная лекция про аналитику#АналитикаРешает - обзорная лекция про аналитику
#АналитикаРешает - обзорная лекция про аналитику
 
10 заповедей IT-карьериста: от простого специалиста до высокооплачиваемого эк...
10 заповедей IT-карьериста: от простого специалиста до высокооплачиваемого эк...10 заповедей IT-карьериста: от простого специалиста до высокооплачиваемого эк...
10 заповедей IT-карьериста: от простого специалиста до высокооплачиваемого эк...
 
смирнов Data mining
смирнов Data miningсмирнов Data mining
смирнов Data mining
 
DataTalks #6. Погружение в науку о данных
DataTalks #6. Погружение в науку о данныхDataTalks #6. Погружение в науку о данных
DataTalks #6. Погружение в науку о данных
 

More from Andrey Sozykin

UrFU poster on the Russian Supercomputing Days Conference
UrFU poster on the Russian Supercomputing Days ConferenceUrFU poster on the Russian Supercomputing Days Conference
UrFU poster on the Russian Supercomputing Days Conference
Andrey Sozykin
 
Сети и системы телекоммуникаций. Интерфейс сокетов
Сети и системы телекоммуникаций. Интерфейс сокетовСети и системы телекоммуникаций. Интерфейс сокетов
Сети и системы телекоммуникаций. Интерфейс сокетов
Andrey Sozykin
 
Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP
Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCPСети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP
Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP
Andrey Sozykin
 
Сети и системы телекоммуникаций. Протокол TCP
Сети и системы телекоммуникаций. Протокол TCPСети и системы телекоммуникаций. Протокол TCP
Сети и системы телекоммуникаций. Протокол TCP
Andrey Sozykin
 
Сети и системы телекоммуникаций. Протокол UDP
Сети и системы телекоммуникаций. Протокол UDPСети и системы телекоммуникаций. Протокол UDP
Сети и системы телекоммуникаций. Протокол UDP
Andrey Sozykin
 
Сети и системы телекоммуникаций. Транспортный уровень
Сети и системы телекоммуникаций. Транспортный уровеньСети и системы телекоммуникаций. Транспортный уровень
Сети и системы телекоммуникаций. Транспортный уровень
Andrey Sozykin
 
Сети и системы телекоммуникаций. Протокол IPv6
Сети и системы телекоммуникаций. Протокол IPv6Сети и системы телекоммуникаций. Протокол IPv6
Сети и системы телекоммуникаций. Протокол IPv6
Andrey Sozykin
 
Сети и системы телекоммуникаций. Протоколы маршрутизации
Сети и системы телекоммуникаций. Протоколы маршрутизацииСети и системы телекоммуникаций. Протоколы маршрутизации
Сети и системы телекоммуникаций. Протоколы маршрутизации
Andrey Sozykin
 
Сети и системы телекоммуникаций. Управляющие протоколы сетевого уровня
Сети и системы телекоммуникаций. Управляющие протоколы сетевого уровняСети и системы телекоммуникаций. Управляющие протоколы сетевого уровня
Сети и системы телекоммуникаций. Управляющие протоколы сетевого уровня
Andrey Sozykin
 
Сети и системы телекоммуникаций. Маршрутизация
Сети и системы телекоммуникаций. МаршрутизацияСети и системы телекоммуникаций. Маршрутизация
Сети и системы телекоммуникаций. Маршрутизация
Andrey Sozykin
 
Сети и системы телекоммуникаций. Протокол IP
Сети и системы телекоммуникаций. Протокол IPСети и системы телекоммуникаций. Протокол IP
Сети и системы телекоммуникаций. Протокол IP
Andrey Sozykin
 
Сети и системы телекоммуникаций. IP-адресация
Сети и системы телекоммуникаций. IP-адресацияСети и системы телекоммуникаций. IP-адресация
Сети и системы телекоммуникаций. IP-адресация
Andrey Sozykin
 
Сети и системы телекоммуникаций. Сетевой уровень
Сети и системы телекоммуникаций. Сетевой уровеньСети и системы телекоммуникаций. Сетевой уровень
Сети и системы телекоммуникаций. Сетевой уровень
Andrey Sozykin
 
Сети и системы телекоммуникаций. Wi-Fi
Сети и системы телекоммуникаций. Wi-FiСети и системы телекоммуникаций. Wi-Fi
Сети и системы телекоммуникаций. Wi-Fi
Andrey Sozykin
 
Сети и системы телекоммуникаций. Дополнительные функции коммутаторов
Сети и системы телекоммуникаций. Дополнительные функции коммутаторовСети и системы телекоммуникаций. Дополнительные функции коммутаторов
Сети и системы телекоммуникаций. Дополнительные функции коммутаторов
Andrey Sozykin
 
Сети и системы телекоммуникаций. Коммутируемый Ethernet
Сети и системы телекоммуникаций. Коммутируемый EthernetСети и системы телекоммуникаций. Коммутируемый Ethernet
Сети и системы телекоммуникаций. Коммутируемый Ethernet
Andrey Sozykin
 
Сети и системы телекоммуникаций. Технология Ethernet
Сети и системы телекоммуникаций. Технология EthernetСети и системы телекоммуникаций. Технология Ethernet
Сети и системы телекоммуникаций. Технология Ethernet
Andrey Sozykin
 
Сети и системы телекоммуникаций. Канальный уровень
Сети и системы телекоммуникаций. Канальный уровеньСети и системы телекоммуникаций. Канальный уровень
Сети и системы телекоммуникаций. Канальный уровень
Andrey Sozykin
 
Сети и системы телекоммуникаций. Физический уровень
Сети и системы телекоммуникаций. Физический уровеньСети и системы телекоммуникаций. Физический уровень
Сети и системы телекоммуникаций. Физический уровень
Andrey Sozykin
 
Сети и системы телекоммуникаций. Эталонные модели и стандартизация сетей
Сети и системы телекоммуникаций. Эталонные модели и стандартизация сетейСети и системы телекоммуникаций. Эталонные модели и стандартизация сетей
Сети и системы телекоммуникаций. Эталонные модели и стандартизация сетей
Andrey Sozykin
 

More from Andrey Sozykin (20)

UrFU poster on the Russian Supercomputing Days Conference
UrFU poster on the Russian Supercomputing Days ConferenceUrFU poster on the Russian Supercomputing Days Conference
UrFU poster on the Russian Supercomputing Days Conference
 
Сети и системы телекоммуникаций. Интерфейс сокетов
Сети и системы телекоммуникаций. Интерфейс сокетовСети и системы телекоммуникаций. Интерфейс сокетов
Сети и системы телекоммуникаций. Интерфейс сокетов
 
Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP
Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCPСети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP
Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP
 
Сети и системы телекоммуникаций. Протокол TCP
Сети и системы телекоммуникаций. Протокол TCPСети и системы телекоммуникаций. Протокол TCP
Сети и системы телекоммуникаций. Протокол TCP
 
Сети и системы телекоммуникаций. Протокол UDP
Сети и системы телекоммуникаций. Протокол UDPСети и системы телекоммуникаций. Протокол UDP
Сети и системы телекоммуникаций. Протокол UDP
 
Сети и системы телекоммуникаций. Транспортный уровень
Сети и системы телекоммуникаций. Транспортный уровеньСети и системы телекоммуникаций. Транспортный уровень
Сети и системы телекоммуникаций. Транспортный уровень
 
Сети и системы телекоммуникаций. Протокол IPv6
Сети и системы телекоммуникаций. Протокол IPv6Сети и системы телекоммуникаций. Протокол IPv6
Сети и системы телекоммуникаций. Протокол IPv6
 
Сети и системы телекоммуникаций. Протоколы маршрутизации
Сети и системы телекоммуникаций. Протоколы маршрутизацииСети и системы телекоммуникаций. Протоколы маршрутизации
Сети и системы телекоммуникаций. Протоколы маршрутизации
 
Сети и системы телекоммуникаций. Управляющие протоколы сетевого уровня
Сети и системы телекоммуникаций. Управляющие протоколы сетевого уровняСети и системы телекоммуникаций. Управляющие протоколы сетевого уровня
Сети и системы телекоммуникаций. Управляющие протоколы сетевого уровня
 
Сети и системы телекоммуникаций. Маршрутизация
Сети и системы телекоммуникаций. МаршрутизацияСети и системы телекоммуникаций. Маршрутизация
Сети и системы телекоммуникаций. Маршрутизация
 
Сети и системы телекоммуникаций. Протокол IP
Сети и системы телекоммуникаций. Протокол IPСети и системы телекоммуникаций. Протокол IP
Сети и системы телекоммуникаций. Протокол IP
 
Сети и системы телекоммуникаций. IP-адресация
Сети и системы телекоммуникаций. IP-адресацияСети и системы телекоммуникаций. IP-адресация
Сети и системы телекоммуникаций. IP-адресация
 
Сети и системы телекоммуникаций. Сетевой уровень
Сети и системы телекоммуникаций. Сетевой уровеньСети и системы телекоммуникаций. Сетевой уровень
Сети и системы телекоммуникаций. Сетевой уровень
 
Сети и системы телекоммуникаций. Wi-Fi
Сети и системы телекоммуникаций. Wi-FiСети и системы телекоммуникаций. Wi-Fi
Сети и системы телекоммуникаций. Wi-Fi
 
Сети и системы телекоммуникаций. Дополнительные функции коммутаторов
Сети и системы телекоммуникаций. Дополнительные функции коммутаторовСети и системы телекоммуникаций. Дополнительные функции коммутаторов
Сети и системы телекоммуникаций. Дополнительные функции коммутаторов
 
Сети и системы телекоммуникаций. Коммутируемый Ethernet
Сети и системы телекоммуникаций. Коммутируемый EthernetСети и системы телекоммуникаций. Коммутируемый Ethernet
Сети и системы телекоммуникаций. Коммутируемый Ethernet
 
Сети и системы телекоммуникаций. Технология Ethernet
Сети и системы телекоммуникаций. Технология EthernetСети и системы телекоммуникаций. Технология Ethernet
Сети и системы телекоммуникаций. Технология Ethernet
 
Сети и системы телекоммуникаций. Канальный уровень
Сети и системы телекоммуникаций. Канальный уровеньСети и системы телекоммуникаций. Канальный уровень
Сети и системы телекоммуникаций. Канальный уровень
 
Сети и системы телекоммуникаций. Физический уровень
Сети и системы телекоммуникаций. Физический уровеньСети и системы телекоммуникаций. Физический уровень
Сети и системы телекоммуникаций. Физический уровень
 
Сети и системы телекоммуникаций. Эталонные модели и стандартизация сетей
Сети и системы телекоммуникаций. Эталонные модели и стандартизация сетейСети и системы телекоммуникаций. Эталонные модели и стандартизация сетей
Сети и системы телекоммуникаций. Эталонные модели и стандартизация сетей
 

Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.

  • 1. Глубокое обучение, или как стать Data Scientist'ом Семинар компании NVIDIA Университет ИТМО, 16 мая 2017 г. Андрей Созыкин, www.asozykin.ru, sozykin@gmail.com
  • 2. План Кто такие Data Scientist'ы и как стать одним из них Глубокое обучение – теория и применение Демонстрация глубокого обучения нейронных сетей: • Распознавание объектов на изображениях (Keras+Theano, MNIST и CIFAR-10) • Сравнение фотографии паспорта и c Web-камеры Глубокое обучение, или как стать Data Scientist'ом 2
  • 3. Что такое Data Science? Глубокое обучение, или как стать Data Scientist'ом 3
  • 4. Data Science Process Глубокое обучение, или как стать Data Scientist'ом 4 By Farcaster at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=40129394
  • 5. Где здесь глубокое обучение? Глубокое обучение, или как стать Data Scientist'ом 5 Machine Learning Neural Networks Deep Learning
  • 6. Применение глубоких нейронных сетей Глубокое обучение, или как стать Data Scientist'ом 6 Prisma Artisto
  • 7. Применение глубоких нейронных сетей Глубокое обучение, или как стать Data Scientist'ом 7 Ода Сбербанку С улыбкой нежной и всеми наравне, Когда во мне счастья ликованье, Скажу, преодолев страх признанья: Сбербанк — светило на века в стране! …
  • 8. Применение глубоких нейронных сетей Глубокое обучение, или как стать Data Scientist'ом 8 Skype Translator Переводчик Google
  • 9. Применение глубоких нейронных сетей Глубокое обучение, или как стать Data Scientist'ом 9 Сингапур Питсбург, США Лондон
  • 10. Применение глубоких нейронных сетей Глубокое обучение, или как стать Data Scientist'ом 10
  • 11. Применение глубоких нейронных сетей Глубокое обучение, или как стать Data Scientist'ом 11 Imperial College, London
  • 12. Применение глубоких нейронных сетей Глубокое обучение, или как стать Data Scientist'ом 12 Microsoft
  • 13. Анализ медицинских изображений Глубокое обучение, или как стать Data Scientist'ом 13 По данные Word Economic Forum для подготовки врачей необходимой квалификации в нужном количестве в мире требуется 300 лет. Health Systems Leapfrogging in Emerging Economies.
  • 14. Что должен знать Data Scientist? Глубокое обучение, или как стать Data Scientist'ом 14 1. Машинное обучение 2. Статистика 3. Математика 4. Компьютерные науки 5. Визуализация данных 6. Коммуникации 7. Предметная область Cathy O’Neil and Rachel Schutt. Doing Data Science Columbia University, Data Science Institute
  • 15. Что необходимо Data Scientist’у? Глубокое обучение, или как стать Data Scientist'ом 15 1. Теоретические знания 2. Практический опыт 3. Независимое подтверждение своей квалификации
  • 16. Теоретические знания Глубокое обучение, или как стать Data Scientist'ом 16 На русском языке: • Курс “Введение в машинное обучение”. Coursera, Высшая школа экономики, Константин Воронцов https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie • Специализация “Машинное обучение и анализ данных” на Coursera, 6 курсов, МФТИ и Яндекс https://www.coursera.org/specializations/machine-learning-data- analysis На английском языке: • Курс “Machine Learning”, Andrew Ng https://www.coursera.org/learn/machine-learning • Курс “Neural Networks for Machine Learning”, Geoffrey Hinton https://www.coursera.org/learn/neural-networks
  • 17. Практический опыт Глубокое обучение, или как стать Data Scientist'ом 17 Сайт kaggle.com: • Соревнования по анализу данных • Открытые наборы данных • Примеры решений Практически-ориентированные курсы от udacity.com: • Цель обучения – реализация проекта • Теоретические курсы нацелены помочь реализовать проект Российские чемпионаты по анализу данных: • boosters.pro • mlbootcamp.ru • dataring.ru
  • 18. Независимое подтверждение квалификации Глубокое обучение, или как стать Data Scientist'ом 18 Сайт kaggle.com Открытые репозитории с программами на GitHub Публикации на конференциях по анализу данных Статьи на Хабре и других подобных ресурсах Novice Contributor Expert Master Grandmaster
  • 19. Школа анализа данных Яндекса Школа анализа данных Яндекс: • 2 года очного обучения Филиалы: • Санкт-Петербург • Екатеринбург • Новосибирск • Минск Совместная магистратура Уральского федерального университета и ШАД: • Начало обучения 1 сентября 2017 г. • Два диплома: УрФУ и ШАД Глубокое обучение, или как стать Data Scientist'ом 19
  • 20. Глубокое обучение Глубокое обучение, или как стать Data Scientist'ом 20 Machine Learning Neural Networks Deep Learning
  • 21. Глубокие нейронные сети и глубокое обучение Глубокие нейронные сети: • Один из методов машинного обучения • Сеть из простых вычислительных элементов – искусственных нейронов Традиционное машинное обучение: • Выбор важных признаков из множества доступных данных (feature engineering) Глубокие нейронные сети: • Автоматическое определение важных признаков в процессе обучения • Высокие вычислительные требования Глубокое обучение, или как стать Data Scientist'ом 21
  • 22. Почему сейчас??? Основные идеи нейронных сетей придумали в прошлом веке Рост производительности компьютеров: • Многоядерные процессоры • Графические ускорители GPU Резкое увеличение количества накопленных данных Большое количество готовых к использованию программных систем глубокого обучения Глубокое обучение, или как стать Data Scientist'ом 22
  • 23. Суперкомпьютер NVIDIA DGX-1 23 Доступен для заказа в России Глубокое обучение, или как стать Data Scientist'ом
  • 24. Суперкомпьютер NVIDIA DGX-1 Глубокое обучение, или как стать Data Scientist'ом 24
  • 25. Суперкомпьютер NVIDIA DGX-1 Глубокое обучение, или как стать Data Scientist'ом 25
  • 26. Нейрон головного мозга Глубокое обучение, или как стать Data Scientist'ом 26 https://ru.wikipedia.org/wiki/Нейрон
  • 27. Искусственный нейрон Глубокое обучение, или как стать Data Scientist'ом 27 𝑎 = 𝜑(෍ 𝑖=1 𝑁 𝑤𝑖 𝑥𝑖) Маккалок Дж., Питтс У. Логические исчисления идей, относящихся к нервной деятельности // Автоматы. М.: ИЛ, 1956
  • 28. Функции активации Глубокое обучение, или как стать Data Scientist'ом 28 • Функция Хевисайда – 𝜃 𝑥 = ቊ 0, 𝑥 < 0 1, 𝑥 > 0 • Сигмоидальные функции – 𝜎 𝑥 = 1 1+𝑒−𝑥 (логистическая) – 𝑡ℎ 𝑥 = 𝑒2𝑥−1 𝑒2𝑥+1 (гиперболический тангенс)
  • 29. Нейронные сети Глубокое обучение, или как стать Data Scientist'ом 29 Входной слой Скрытый слой Выходной слой
  • 30. Сеть с прямым распространением сигналов Глубокое обучение, или как стать Data Scientist'ом 30
  • 31. Рекуррентная сеть Глубокое обучение, или как стать Data Scientist'ом 31
  • 32. Глубокая нейронная сеть Глубокое обучение, или как стать Data Scientist'ом 32
  • 33. Обучение нейронной сети Глубокое обучение, или как стать Data Scientist'ом 33 Обучение нейронной сети – подбор весов таким образом, чтобы сеть решала поставленную задачу
  • 34. Задачи Глубокое обучение, или как стать Data Scientist'ом 34 Классификация Регрессия https://www.kaggle.com/c/dogs-vs-cats
  • 35. Типы обучения Глубокое обучение, или как стать Data Scientist'ом 35 С учителем • Данные с правильными ответами Без учителя • Данные без информации о правильных ответах Обучение с подкреплением • Агент получает сигналы от внешней среды
  • 36. Первые варианты обучения, правила Хэбба Глубокое обучение, или как стать Data Scientist'ом 36 Биологические предпосылки: • Если нейроны срабатывают вместе, то их связи укрепляются Правила обучения Хэбба, 1949 г.: • Нейрон выдает сигналы {0, 1} • Начальные веса назначаются случайным образом • Если сигнал нейрона неверен и равен нулю, то необходимо увеличить веса тех входов, на которые была подана единица • Если сигнал нейрона неверен и равен единице, то необходимо уменьшить веса тех входов, на которые была подана единица
  • 37. Метод обратного распространения ошибки Глубокое обучение, или как стать Data Scientist'ом 37 Выходной сигнал сети: • Вещественное число Мера ошибки: • Среднеквадратичная Обучение: • Минимизация ошибки методом градиентного спуска
  • 38. Линейный нейрон Глубокое обучение, или как стать Data Scientist'ом 38 Выходное значение: Среднеквадратичная ошибка: 𝑎 = ෍ 𝑖=1 𝑁 𝑤𝑖 𝑥𝑖 𝜀 = 1 2 ෍ 𝑗=1 𝑀 (𝑎𝑗 − 𝑦𝑗)2
  • 39. Линейный нейрон Глубокое обучение, или как стать Data Scientist'ом 39
  • 40. Линейный нейрон Глубокое обучение, или как стать Data Scientist'ом 40 𝑤𝑖 = 𝑤𝑖 − 𝜂 ෍ 𝑗=1 𝑀 𝑥𝑗 𝑖 (𝑎𝑗 − 𝑦𝑗) 𝜂 – параметр скорости обучения Изменение весов (дельта-правило):
  • 41. Варианты реализации Глубокое обучение, или как стать Data Scientist'ом 41 Полное обучение: • Изменяем веса после обработки всех элементов обучающей выборки Онлайн обучение: • Изменяем веса после обработки каждого объекта Мини-выборки: • Изменяем веса после обработки 10-100 объектов
  • 42. Обратное распространение ошибки Глубокое обучение, или как стать Data Scientist'ом 42
  • 43. Обратное распространение ошибки Глубокое обучение, или как стать Data Scientist'ом 43
  • 44. Библиотеки глубокого обучения Глубокое обучение, или как стать Data Scientist'ом 44
  • 45. Набор данных MNIST Глубокое обучение, или как стать Data Scientist'ом 45 Back-Propagation Applied to Handwritten Zip Code Recognition / Y. LeCun, B. Boser, J. S. Denker et al. 1989 Mixed National Institute of Standards and Technology database
  • 46. Нейронная сеть для MNIST Глубокое обучение, или как стать Data Scientist'ом 46 Входные значения сети • Интенсивность пиксела в изображении • Количество значений: 784 (28*28 пикселов) Входной слой • 800 нейронов • Patrice Y. Simard; Dave Steinkraus; John C. Platt (2003). «Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis» • https://en.wikipedia.org/wiki/MNIST_database Выходной слой • 10 нейронов • Вероятность того, что на изображении данная цифра
  • 47. One Hot Encoding Глубокое обучение, или как стать Data Scientist'ом 47 # 0 -> [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 2 -> [0, 0, 1, 0, 0, 0, 0, 0, 0, 0] # 9 -> [0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
  • 48. Демонстрация MNIST Глубокое обучение, или как стать Data Scientist'ом 48 Демонстрация распознавания рукописных цифр из набора данных MNIST в Keras и Theano
  • 49. Функции активации Глубокое обучение, или как стать Data Scientist'ом 49 Rectified Linear Unit (ReLU) SoftMax – нормализованная экспоненциальная функция • Используется для представления вероятности • Сумма всех выходных значений нейронов равна 1 𝑓 𝑥 = max(0, 𝑥) 𝑓 𝑥 = ln(1 + 𝑒 𝑥)
  • 50. Проблема переобучения Глубокое обучение, или как стать Data Scientist'ом 50 Сеть может научиться распознавать особенности выборки, а не данных
  • 51. Наборы данных для обучения Глубокое обучение, или как стать Data Scientist'ом 51 Обучающая выборка (training set) – набор данных, который используется для обучения сети Проверочная выборка (validation set) – набор данных, который используется в процессе обучения для оценки качества обучения Тестовая выборка (test set) – набор данных, который используется для оценки качества работы сети после завершения обучения
  • 52. Сверточные нейронные сети Глубокое обучение, или как стать Data Scientist'ом 52 Принципы сверточных нейронных сетей (convolutional neural networks): • Локальное восприятие • Разделяемые веса • Уменьшение размерности
  • 53. Операция свертки Глубокое обучение, или как стать Data Scientist'ом 53 N(x,y) = 221 * (-1) + 198 * 0 + 149 * 1 + 205 * (-2) + 147 * 0 + 173 * 2 + 149 * (-1) + 170 * 0 + 222 * 1 = - 63 Ядро свертки
  • 54. Свертка изображений Глубокое обучение, или как стать Data Scientist'ом 54 Размытие 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 Выделение границ 0 -1 0 -1 4 -1 0 -1 0 Повышение четкости 0 -1 0 -1 5 -1 0 -1 0
  • 55. Свертка изображений Глубокое обучение, или как стать Data Scientist'ом 55 Размытие 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 Выделение границ 0 -1 0 -1 4 -1 0 -1 0 Повышение четкости 0 -1 0 -1 5 -1 0 -1 0 В нейронных сетях ядра свертки определяются автоматически в процессе обучения
  • 56. Разделяемые веса Глубокое обучение, или как стать Data Scientist'ом 56
  • 57. Уменьшение размерности Глубокое обучение, или как стать Data Scientist'ом 57 Распознавание объектов вне зависимости от масштаба Факт наличия признака важнее знания места его точного положения на изображении Слои подвыборки (subsampling): • Усреднение • Выбор максимального значения
  • 58. Сверточная нейронная сеть Глубокое обучение, или как стать Data Scientist'ом 58 Фукушима. Неокогнитрон
  • 59. Сверточная сеть LeNet-5 Глубокое обучение, или как стать Data Scientist'ом 59 Back-Propagation Applied to Handwritten Zip Code Recognition / Y. LeCun, B. Boser, J. S. Denker et al. 1989
  • 60. Распознавание лиц сверточными сетями Глубокое обучение, или как стать Data Scientist'ом 60 Honglak Lee, Roger Grosse, Rajesh Ranganath, and Andrew Y. Ng. Unsupervised Learning of Hierarchical Representations with Convolutional Deep Belief Networks (2011)
  • 61. Набор данных CIFAR-10 Глубокое обучение, или как стать Data Scientist'ом 61 Самолет Автомобиль Птица Кот Олень Собака Лягушка Лошадь Корабль Грузовик
  • 62. Набор данных CIFAR-10 Глубокое обучение, или как стать Data Scientist'ом 62 Открытый набор данных: • https://www.cs.toronto.edu/~kriz/cifar.html • Alex Krizhevsky, Learning Multiple Layers of Features from Tiny Images, 2009. Изображения в CIFAR-10: • Размер 32х32 • Цветные изображения (коды интенсивности RGB) • Набор данных для обучения – 50 000 (5 000 для каждого класса) • Набор данных для тестирования – 10 000 • На каждом изображении только один объект • Нет пересечений
  • 63. Сверточная сеть для распознавания CIFAR-10 Глубокое обучение, или как стать Data Scientist'ом 63
  • 64. Демонстрация CIFAR-10 Глубокое обучение, или как стать Data Scientist'ом 64 Демонстрация распознавания объектов на изображениях CIFAR-10 в Keras и Theano
  • 65. Сравнение фото Глубокое обучение, или как стать Data Scientist'ом 65 Паспорт Web-камера
  • 66. Transfer Learning Глубокое обучение, или как стать Data Scientist'ом 66 Подход Transfer Learning: • Использование предварительно обученной сети для других задач Соревнования ImageNet: • Набор данных 14 млн. изображений • 1000 классов объектов
  • 67. Обученные нейронные сети на ImageNet Глубокое обучение, или как стать Data Scientist'ом 67 AlexNet (2012): • Разработчик Алекс Крижевский, 9 слоев VGG16 (2014): • Oxford Visual Geometry Group, 16 слоев Inception (GoogLeNet, 2014): • Google, 22 слоя ResNet (2015): • Microsoft, 152 слоя
  • 68. Keras Applications Глубокое обучение, или как стать Data Scientist'ом 68 Предварительно обученные модели: • https://keras.io/applications/ Модели в Keras: • Xception • VGG16 • VGG19 • ResNet50 • InceptionV3
  • 69. Архитектура VGG16 Глубокое обучение, или как стать Data Scientist'ом 69 Выделение признаков Классификация Разные фото одного человека будут иметь похожие признаки
  • 70. Сравнение фотографий Глубокое обучение, или как стать Data Scientist'ом 70 Загружаем предварительно обученную сеть VGG16 «Отрезаем» последние три уровня Для каждой фотографии получаем вектор признаков Оцениваем расстояние между векторами признаков
  • 71. Демонстрация сравнения фото Глубокое обучение, или как стать Data Scientist'ом 71 Демонстрация сравнения фотографий в Keras и Theano
  • 72. Дополнительная информация NVIDIA Deep Learning Institute: • http://www.nvidia.ru/dli Примеры кода из демонстраций: • https://github.com/sozykin/dlpython_course • Курс с видео и упражнениями - https://www.asozykin.ru/courses/nnpython Суперкомпьютерная академия МГУ: • http://academy.hpc-russia.ru/ • Трек Уральского Федерального Университета (Екатеринбург) по нейронным сетям – http://youthscience.urfu.ru/scacademy/ Глубокое обучение, или как стать Data Scientist'ом 72