SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
Сверточные Нейронные Сети
Иван Кавалеров
Neo AI
Люди всегда хотели создать
думающие машины
Формальное описание правил
Пример - система Cyc и язык CycL.
Во многих ситуациях описать все
зависимости формально либо
невозможно, либо слишком трудозатратно
Это сподвигло на создание нового подхода
Машинное обучение
Математическая дисциплина, использующая разделы математической
статистики, численных методов оптимизации, теории вероятностей,
дискретного анализа, и извлекающая знания (зависимости) из данных
Задача машинного обучения
На примере классификации:
В клинику приходит пациент на обследование. По результатам обследования
необходимо дать диагноз - болен пациент раком или нет. У нас так же есть
исторические данные о всех пациентах, которые проходили обследование,
вместе с историей их болезни.
U
множество объектов
X(U)
признаки объектов
Y
множество классов
Задача машинного обучения
Задача - найти решающую
функцию
F: X →Y
Используя обучающие данные
(обучающую выборку)
Минимизировать функцию
ошибки
Например:
Логистическая регрессия
(2 класса)
Проблема - подобные методы
очень сильно зависят от
представления данных
Например, логистическая регрессия не сможет использовать сами
изображения полученные в результате прохождения МРТ для диагноза. Очень
сложно найти зависимость между каждым отдельным пикселем и результатом
Глубокое обучение
Deep Learning
Решает проблему представления данных, так как представляет способ
представления сложных данных на основе более простых концептов
Задача: распознавание рукописных цифр
Набор MNIST
Нейрон
Один слой нейронов
Нелинейность
Многослойный Перцептрон
Многослойный Перцептрон
Сеть подобного плана может достигнуть
достаточно большой точности на наборе
MNIST (рукописные цифры).
Что же насчет более сложных изображений?
LeNet-5
Первая сверточная сеть, была представлена Яном ЛеКуном в 1989 году
Свертка
Как же обучить нейронную
сеть?
Градиентный спуск
Метод обратного
распространения ошибки
a - активации слоя l (исходящие значения)
w - матрица весов слоя l
z - результат перемножения входящих значений на матрицу весов
f - активационная функция (логистическая или ReLU)
C - функция ошибки
Метод обратного
распространения ошибки
1. Входящие данные x: установить входящие данные как активации первого
слоя
2. Обработка данных: для каждого слоя l=2, 3,..,L вычислить и его
активации
3. Посчитать ошибку на выходе :
4. Распространить ошибку обратно: для каждого слоя l=L-1, L-2, .., 2
вычислить
5. Обновить все параметры:
Переобучение
Самое главное - правильно
подобранная обучающая выборка
Dropout
• В процессе обучения случайным образом какая то часть нейронов
“отключается” (обычно половина), при этом “вес” оставшихся нейронов
соответственно увеличивается.
• При использовании модели в работе все нейроны включаются.
• В результате вырабатываются избыточные связи и зависимости.
• Dropout, по сути, представляет собой ансамбль нескольких моделей которые
работают вместе.
Регуляризация
• Известно, что когда модель переобучается - веса становятся большими по
модулю и разными по знаку.
• Если минимизировать эти отклонения - до определенной степени можно
побороть переобучение.
• L2 и L2 регуляризация - это дополнительное слагаемое в функции ошибки:
AlexNet
Inception
Все очень круто… Но дорого, и
долго.
4K
£ 100,000 per year
Уменьшение разрядности
параметров и данных
• Известно, что нейросетевые модели шумоустойчивы.
• Если мы уменьшаем разрядность параметров и/или обрабатываемых данных -
мы всего лишь добавляем шум, с которым модель должна хорошо
справляться.
• Использование 8 разрядов достаточно, что бы сохранить точность модели (для
моделей уровня AlexNet).
• На данный момент понижение разрядности уже является частью основных
пакетов для машинного обучения (например TensorFlow).
BinaryNet и XNOR-Net
• Автор - Matthieu Courbariaux, руководитель - Yoshua Bengio (Университет
Монреаля)
• Уменьшить разрядность до 1 (бинарные значения) как для активаций, так и для
параметров модели
• Главное арифметическое действие в нейросетевых моделях - сумма
произведений. Её можно заменить на XNOR-count:
• XNOR - 1 если аргументы равны, 0 в противном случае.
• Popcount - количество 1 в аргументе.
• Результат:
• Ускорение в 7 раз на GPU с использованием специально разработанного
вычислительного ядра
• Уменьшение размера модели в 32 раза
FPGA
• Программи́ руемая по́ льзователем ве́ нтильная ма́ трица (ППВМ, англ. Field-
Programmable Gate Array, FPGA) — полупроводниковое устройство, которое
может быть сконфигурировано производителем или разработчиком после
изготовления. [Wikipedia]
• Схема может быть модифицирована пользователем в любой момент.
• Схема состоит из логических элементов (вентилей, gates).
• Можно программировать схему под конкретную задачу (в нашем случае под
конкретную нейтронную сеть)
• Это можно совместить с XNOR-Net для не только улучшения
производительности, но и энергоэффективности.
• Бонус - можно создать архитектуру отличную от стандартной архитектуры фон
Неймана
Что дальше?
• Виды нейросетей
• Recurrent Neural Networks
• Q-learning (Reinforcement learning)
• Generative Adversarial Networks
• …
• Различные модели
• VGG
• Inception
• …
• Методы улучшения производительности
• Pruning
• Slicing
• …
Домашнее задание
Реализовать нейросетевую модель на любом языке программирования без
использования специальных пакетов/библиотек.
1. Многослойный перцептрон (Например LeNet-300)
2. Сверточная сеть (LeNet-5)
3. Сверточная сеть с dropout и local response normalization (AlexNet)
ivan@neo-ai.com
Мы ускоряем нейросетевые модели.
Хочешь работать с нами - реализуй ДЗ
на C/C++ и пиши мне на электронную почту.
Обучение
• Deep Learning Book by Ian Goodfellow
• https://yandexdataschool.ru/edu-process/courses/machine-learning
• https://www.coursera.org/specializations/machine-learning-data-analysis
• http://neuralnetworksanddeeplearning.com/
• https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap
• Udacity
• Coursera
• Kaggle
• OpenAI Gym
• OpenAI Universe
Ресурсы
• Deep Learning Book by Ian Goodfellow
• https://yandexdataschool.ru/edu-process/courses/machine-learning
• https://www.coursera.org/specializations/machine-learning-data-analysis
• http://neuralnetworksanddeeplearning.com/
• Courbariaux, M., & Bengio, Y. (2016). BinaryNet: Training Deep Neural Networks with Weights and
Activations Constrained to +1 or -1. arXiv, 9. Retrieved from http://arxiv.org/abs/1602.02830
• Rastegari, M., Ordonez, V., Redmon, J., & Farhadi, A. (2016). XNOR-Net: ImageNet Classification Using
Binary Convolutional Neural Networks. arXiv Preprint, 1–17. https://doi.org/10.1007/978-3-319-46493-0
• Courbariaux, M., Bengio, Y., & David, J. (2015). BinaryConnect: Training Deep Neural Networks with binary
weights during propagations. Nips, 1–9. https://doi.org/arXiv: 1412.7024
• Lin, Z., Courbariaux, M., Memisevic, R., & Bengio, Y. (2015). Neural Networks with Few Multiplications. Iclr,
1–8. https://doi.org/10.1017/CBO9781107415324.004
• Li, F., & Liu, B. (2016). Ternary Weight Networks. Computer Vision and Pattern Recognition. Retrieved from
http://arxiv.org/abs/1605.04711
• Goodfellow, I., Pouget-Abadie, J., & Mirza, M. (2014). Generative Adversarial Networks. arXiv Preprint arXiv:
…, 1–9. Retrieved from http://arxiv.org/abs/1406.2661
• Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., & Riedmiller, M. (2013). Playing
Atari with Deep Reinforcement Learning. arXiv Preprint arXiv: …, 1–9. https://doi.org/10.1038/nature14236
• Umuroglu, Y., Fraser, N. J., Gambardella, G., & Blott, M. (2017). FINN : A Framework for Fast , Scalable
Binarized Neural Network Inference. Fpga, (February). https://doi.org/10.1145/1235
Спасибо!
Иван Кавалеров
ivan@neo-ai.com

Mais conteúdo relacionado

Mais procurados

L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблейTechnosphere1
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииTechnosphere1
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваTechnosphere1
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Technosphere1
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыTechnosphere1
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияTechnosphere1
 
CSEDays. Александр Семенов
CSEDays. Александр СеменовCSEDays. Александр Семенов
CSEDays. Александр СеменовLiloSEA
 
Лекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 10. Графы. Остовные деревья минимальной стоимостиЛекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 10. Графы. Остовные деревья минимальной стоимостиMikhail Kurnosov
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Technosphere1
 
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Mail.ru Group
 
Лекция 10: Графы. Остовные деревья минимальной стоимости
Лекция 10: Графы. Остовные деревья минимальной стоимостиЛекция 10: Графы. Остовные деревья минимальной стоимости
Лекция 10: Графы. Остовные деревья минимальной стоимостиMikhail Kurnosov
 
Лекция 10: Графы. Остовные деревья
Лекция 10: Графы. Остовные деревьяЛекция 10: Графы. Остовные деревья
Лекция 10: Графы. Остовные деревьяMikhail Kurnosov
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокTechnosphere1
 
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Mikhail Kurnosov
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторовTechnosphere1
 
Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Technosphere1
 

Mais procurados (20)

L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качества
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
 
CSEDays. Александр Семенов
CSEDays. Александр СеменовCSEDays. Александр Семенов
CSEDays. Александр Семенов
 
Лекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 10. Графы. Остовные деревья минимальной стоимостиЛекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 10. Графы. Остовные деревья минимальной стоимости
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
 
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
 
Лекция 10: Графы. Остовные деревья минимальной стоимости
Лекция 10: Графы. Остовные деревья минимальной стоимостиЛекция 10: Графы. Остовные деревья минимальной стоимости
Лекция 10: Графы. Остовные деревья минимальной стоимости
 
Лекция 10: Графы. Остовные деревья
Лекция 10: Графы. Остовные деревьяЛекция 10: Графы. Остовные деревья
Лекция 10: Графы. Остовные деревья
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
 
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 

Destaque

Искусственные нейронные сети
Искусственные нейронные сетиИскусственные нейронные сети
Искусственные нейронные сетиArtem Lukanin
 
Hейронные сети на практике — R&D, Azoft
Hейронные сети на практике — R&D, AzoftHейронные сети на практике — R&D, Azoft
Hейронные сети на практике — R&D, AzoftAzoft
 
К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"Yandex
 
Машинное обучение для интеллектуализации ваших приложений
Машинное обучение  для интеллектуализации ваших приложенийМашинное обучение  для интеллектуализации ваших приложений
Машинное обучение для интеллектуализации ваших приложенийPAY2 YOU
 
Введение в искусственные нейронные сети
Введение в искусственные нейронные сетиВведение в искусственные нейронные сети
Введение в искусственные нейронные сетиIvan Miniailenko
 
Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?
Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ? Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?
Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ? Bilgee Bayaraa
 
Prospects of Information Technologies
Prospects of Information TechnologiesProspects of Information Technologies
Prospects of Information TechnologiesDanila Medvedev
 
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...Yandex
 
Погружение в Deep Learning
Погружение в Deep LearningПогружение в Deep Learning
Погружение в Deep LearningDeepHackLab
 
Backpropagation in Convolutional Neural Network
Backpropagation in Convolutional Neural NetworkBackpropagation in Convolutional Neural Network
Backpropagation in Convolutional Neural NetworkHiroshi Kuwajima
 

Destaque (12)

Thankscap by looi
Thankscap by looiThankscap by looi
Thankscap by looi
 
Искусственные нейронные сети
Искусственные нейронные сетиИскусственные нейронные сети
Искусственные нейронные сети
 
Hейронные сети на практике — R&D, Azoft
Hейронные сети на практике — R&D, AzoftHейронные сети на практике — R&D, Azoft
Hейронные сети на практике — R&D, Azoft
 
К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"
 
Машинное обучение для интеллектуализации ваших приложений
Машинное обучение  для интеллектуализации ваших приложенийМашинное обучение  для интеллектуализации ваших приложений
Машинное обучение для интеллектуализации ваших приложений
 
Введение в искусственные нейронные сети
Введение в искусственные нейронные сетиВведение в искусственные нейронные сети
Введение в искусственные нейронные сети
 
Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?
Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ? Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?
Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?
 
Лекция 8
Лекция 8Лекция 8
Лекция 8
 
Prospects of Information Technologies
Prospects of Information TechnologiesProspects of Information Technologies
Prospects of Information Technologies
 
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
 
Погружение в Deep Learning
Погружение в Deep LearningПогружение в Deep Learning
Погружение в Deep Learning
 
Backpropagation in Convolutional Neural Network
Backpropagation in Convolutional Neural NetworkBackpropagation in Convolutional Neural Network
Backpropagation in Convolutional Neural Network
 

Semelhante a Сверточные нейронные сети

Введение в Deep Learning
Введение в Deep LearningВведение в Deep Learning
Введение в Deep LearningGrigory Sapunov
 
BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты Dima Karamshuk
 
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обученияДмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обученияAIST
 
2014-2015_Алгор-структ_Раб-прогр_Мансуров
2014-2015_Алгор-структ_Раб-прогр_Мансуров2014-2015_Алгор-структ_Раб-прогр_Мансуров
2014-2015_Алгор-структ_Раб-прогр_Мансуров????? ????????
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Ontico
 
Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Anton Moiseev
 
Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.
Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.
Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.Andrey Sozykin
 
А.Левенчук -- Образование по машинному обучению
А.Левенчук -- Образование по машинному обучениюА.Левенчук -- Образование по машинному обучению
А.Левенчук -- Образование по машинному обучениюAnatoly Levenchuk
 
Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обученияДмитрий Колодезев
 
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...ITMO University
 
Сергей Терехов — Активное обучение при малой доле примеров с известными ответами
Сергей Терехов — Активное обучение при малой доле примеров с известными ответамиСергей Терехов — Активное обучение при малой доле примеров с известными ответами
Сергей Терехов — Активное обучение при малой доле примеров с известными ответамиYandex
 
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучениеHub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучениеHub-IT-School
 
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...JSC “Arcadia Inc”
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationAnton Gorokhov
 
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...Anton Moiseev
 
Расчетная работа Цифровой коллаж
Расчетная работа Цифровой коллажРасчетная работа Цифровой коллаж
Расчетная работа Цифровой коллажsheplyakov
 
Методы машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицМетоды машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицAndrey Ustyuzhanin
 

Semelhante a Сверточные нейронные сети (20)

Введение в Deep Learning
Введение в Deep LearningВведение в Deep Learning
Введение в Deep Learning
 
BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты
 
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обученияДмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
 
2014-2015_Алгор-структ_Раб-прогр_Мансуров
2014-2015_Алгор-структ_Раб-прогр_Мансуров2014-2015_Алгор-структ_Раб-прогр_Мансуров
2014-2015_Алгор-структ_Раб-прогр_Мансуров
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...
 
Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017
 
Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.
Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.
Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.
 
А.Левенчук -- Образование по машинному обучению
А.Левенчук -- Образование по машинному обучениюА.Левенчук -- Образование по машинному обучению
А.Левенчук -- Образование по машинному обучению
 
Artem abm
Artem abmArtem abm
Artem abm
 
Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обучения
 
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
ВИРТУАЛЬНАЯ ЛАБОРАТОРИЯ ОБУЧЕНИЯ МЕТОДАМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ГЕНЕРА...
 
Сергей Терехов — Активное обучение при малой доле примеров с известными ответами
Сергей Терехов — Активное обучение при малой доле примеров с известными ответамиСергей Терехов — Активное обучение при малой доле примеров с известными ответами
Сергей Терехов — Активное обучение при малой доле примеров с известными ответами
 
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучениеHub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
 
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
 
A.g.demenev(perm su) 2014
A.g.demenev(perm su) 2014A.g.demenev(perm su) 2014
A.g.demenev(perm su) 2014
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
 
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
 
Расчетная работа Цифровой коллаж
Расчетная работа Цифровой коллажРасчетная работа Цифровой коллаж
Расчетная работа Цифровой коллаж
 
CUDA & CAFFE
CUDA & CAFFE CUDA & CAFFE
CUDA & CAFFE
 
Методы машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицМетоды машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частиц
 

Сверточные нейронные сети

  • 2. Люди всегда хотели создать думающие машины
  • 4. Во многих ситуациях описать все зависимости формально либо невозможно, либо слишком трудозатратно Это сподвигло на создание нового подхода
  • 5. Машинное обучение Математическая дисциплина, использующая разделы математической статистики, численных методов оптимизации, теории вероятностей, дискретного анализа, и извлекающая знания (зависимости) из данных
  • 6. Задача машинного обучения На примере классификации: В клинику приходит пациент на обследование. По результатам обследования необходимо дать диагноз - болен пациент раком или нет. У нас так же есть исторические данные о всех пациентах, которые проходили обследование, вместе с историей их болезни.
  • 7. U множество объектов X(U) признаки объектов Y множество классов Задача машинного обучения
  • 8. Задача - найти решающую функцию F: X →Y Используя обучающие данные (обучающую выборку)
  • 11. Проблема - подобные методы очень сильно зависят от представления данных Например, логистическая регрессия не сможет использовать сами изображения полученные в результате прохождения МРТ для диагноза. Очень сложно найти зависимость между каждым отдельным пикселем и результатом
  • 12. Глубокое обучение Deep Learning Решает проблему представления данных, так как представляет способ представления сложных данных на основе более простых концептов
  • 19. Сеть подобного плана может достигнуть достаточно большой точности на наборе MNIST (рукописные цифры). Что же насчет более сложных изображений?
  • 20. LeNet-5 Первая сверточная сеть, была представлена Яном ЛеКуном в 1989 году
  • 22.
  • 23. Как же обучить нейронную сеть?
  • 25. Метод обратного распространения ошибки a - активации слоя l (исходящие значения) w - матрица весов слоя l z - результат перемножения входящих значений на матрицу весов f - активационная функция (логистическая или ReLU) C - функция ошибки
  • 26. Метод обратного распространения ошибки 1. Входящие данные x: установить входящие данные как активации первого слоя 2. Обработка данных: для каждого слоя l=2, 3,..,L вычислить и его активации 3. Посчитать ошибку на выходе : 4. Распространить ошибку обратно: для каждого слоя l=L-1, L-2, .., 2 вычислить 5. Обновить все параметры:
  • 28. Самое главное - правильно подобранная обучающая выборка
  • 29. Dropout • В процессе обучения случайным образом какая то часть нейронов “отключается” (обычно половина), при этом “вес” оставшихся нейронов соответственно увеличивается. • При использовании модели в работе все нейроны включаются. • В результате вырабатываются избыточные связи и зависимости. • Dropout, по сути, представляет собой ансамбль нескольких моделей которые работают вместе.
  • 30. Регуляризация • Известно, что когда модель переобучается - веса становятся большими по модулю и разными по знаку. • Если минимизировать эти отклонения - до определенной степени можно побороть переобучение. • L2 и L2 регуляризация - это дополнительное слагаемое в функции ошибки:
  • 31.
  • 34.
  • 35. Все очень круто… Но дорого, и долго.
  • 37. Уменьшение разрядности параметров и данных • Известно, что нейросетевые модели шумоустойчивы. • Если мы уменьшаем разрядность параметров и/или обрабатываемых данных - мы всего лишь добавляем шум, с которым модель должна хорошо справляться. • Использование 8 разрядов достаточно, что бы сохранить точность модели (для моделей уровня AlexNet). • На данный момент понижение разрядности уже является частью основных пакетов для машинного обучения (например TensorFlow).
  • 38. BinaryNet и XNOR-Net • Автор - Matthieu Courbariaux, руководитель - Yoshua Bengio (Университет Монреаля) • Уменьшить разрядность до 1 (бинарные значения) как для активаций, так и для параметров модели • Главное арифметическое действие в нейросетевых моделях - сумма произведений. Её можно заменить на XNOR-count: • XNOR - 1 если аргументы равны, 0 в противном случае. • Popcount - количество 1 в аргументе. • Результат: • Ускорение в 7 раз на GPU с использованием специально разработанного вычислительного ядра • Уменьшение размера модели в 32 раза
  • 39. FPGA • Программи́ руемая по́ льзователем ве́ нтильная ма́ трица (ППВМ, англ. Field- Programmable Gate Array, FPGA) — полупроводниковое устройство, которое может быть сконфигурировано производителем или разработчиком после изготовления. [Wikipedia] • Схема может быть модифицирована пользователем в любой момент. • Схема состоит из логических элементов (вентилей, gates). • Можно программировать схему под конкретную задачу (в нашем случае под конкретную нейтронную сеть) • Это можно совместить с XNOR-Net для не только улучшения производительности, но и энергоэффективности. • Бонус - можно создать архитектуру отличную от стандартной архитектуры фон Неймана
  • 40. Что дальше? • Виды нейросетей • Recurrent Neural Networks • Q-learning (Reinforcement learning) • Generative Adversarial Networks • … • Различные модели • VGG • Inception • … • Методы улучшения производительности • Pruning • Slicing • …
  • 41. Домашнее задание Реализовать нейросетевую модель на любом языке программирования без использования специальных пакетов/библиотек. 1. Многослойный перцептрон (Например LeNet-300) 2. Сверточная сеть (LeNet-5) 3. Сверточная сеть с dropout и local response normalization (AlexNet)
  • 42. ivan@neo-ai.com Мы ускоряем нейросетевые модели. Хочешь работать с нами - реализуй ДЗ на C/C++ и пиши мне на электронную почту.
  • 43. Обучение • Deep Learning Book by Ian Goodfellow • https://yandexdataschool.ru/edu-process/courses/machine-learning • https://www.coursera.org/specializations/machine-learning-data-analysis • http://neuralnetworksanddeeplearning.com/ • https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap • Udacity • Coursera • Kaggle • OpenAI Gym • OpenAI Universe
  • 44. Ресурсы • Deep Learning Book by Ian Goodfellow • https://yandexdataschool.ru/edu-process/courses/machine-learning • https://www.coursera.org/specializations/machine-learning-data-analysis • http://neuralnetworksanddeeplearning.com/ • Courbariaux, M., & Bengio, Y. (2016). BinaryNet: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1. arXiv, 9. Retrieved from http://arxiv.org/abs/1602.02830 • Rastegari, M., Ordonez, V., Redmon, J., & Farhadi, A. (2016). XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks. arXiv Preprint, 1–17. https://doi.org/10.1007/978-3-319-46493-0 • Courbariaux, M., Bengio, Y., & David, J. (2015). BinaryConnect: Training Deep Neural Networks with binary weights during propagations. Nips, 1–9. https://doi.org/arXiv: 1412.7024 • Lin, Z., Courbariaux, M., Memisevic, R., & Bengio, Y. (2015). Neural Networks with Few Multiplications. Iclr, 1–8. https://doi.org/10.1017/CBO9781107415324.004 • Li, F., & Liu, B. (2016). Ternary Weight Networks. Computer Vision and Pattern Recognition. Retrieved from http://arxiv.org/abs/1605.04711 • Goodfellow, I., Pouget-Abadie, J., & Mirza, M. (2014). Generative Adversarial Networks. arXiv Preprint arXiv: …, 1–9. Retrieved from http://arxiv.org/abs/1406.2661 • Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., & Riedmiller, M. (2013). Playing Atari with Deep Reinforcement Learning. arXiv Preprint arXiv: …, 1–9. https://doi.org/10.1038/nature14236 • Umuroglu, Y., Fraser, N. J., Gambardella, G., & Blott, M. (2017). FINN : A Framework for Fast , Scalable Binarized Neural Network Inference. Fpga, (February). https://doi.org/10.1145/1235