Deep learning глубокое или глубинное



Скачать 87.84 Kb.

Дата11.02.2017
Размер87.84 Kb.
Просмотров119
Скачиваний0

Deep глубокое или глубинное обучение)
Гаврилов Андрей Владимирович,
К.т.н., доцент, каф. ВТ НГТУ,
Зав. Лабораторией «Нейроморфные технологии http://twitter.com/HybridAI/
http://facebook.com/andr.gavrilov

А.В.Гаврилов, НГТУ
2
Кризис ИИ вначале 2000-х.
Предпосылки
• Бурное развитие и применение роботов
(тенденции их использования за пределами промышленного производства и исследовательских лабораторий)
• В связи с этим появление в робототехнике концепции Когнитивная робототехника»
• Появление необходимости в средствах визуального наблюдения и распознавания (в технологиях “Ambient Intelligence”, в системах безопасности, в военных применениях)
• Появление новых результатов нейрофизиологии о строении и функционировании мозга

А.В.Гаврилов, НГТУ
3
Кризис ИИ вначале 2000-х
• Множество разных парадигм в ИИ со своим ограничениями по использованию Методы представления знаний и решения задач сих использованием Разные коннекционистские модели (вероятностные и нейросетевые) и методы обучения Методы их гибридизации
• Создание интеллектуальной системы сводится к выбору парадигм, может быть, к их комбинации
(гибридизации)
• Получается ИС с ограничениями (по способности обучаться, по типу входных данных, по типу решаемых задач, по масштабируемости, по кооперации между собой и с человеком и т.п.)
• Необходимость универсальных методов построения обучаемых (обучающихся) интеллектуальных систем без существенных ограничений, по аналогии с естественным разумом

А.В.Гаврилов, НГТУ
4
Классификация классических нейронных сетей

А.В.Гаврилов, НГТУ
5
Различные подходы к обучению НС. Обучение основанное на коррекции ошибки- Используется ошибка (d-y) между желаемыми реальным выходом для изменения весов связей с целью уменьшения ошибки. Вероятностное обучение (машина Больцмана- Адаптация весов видимых нейронов так, чтобы состояния видимых нейронов соответствовали желаемому распределению вероятностей. Правило Хебба – усиливаются связи между нейронами с похожими (или одинаковыми) состояниями и наоборот. Соревновательное обучение- Только один нейрон (победитель) в выходном слое активизируется (winner-take-all, победитель получает все»)
5. Обучение применением генетических алгоритмов

А.В.Гаврилов, НГТУ
6
Попытки выхода из кризиса
• Кризис систем, основанных на знаниях Появилась концепция AGI (Artificial General
Intelligence), Кризис нейронных сетей Появились концепции deep learning глубокое или глубинное обучение) и neuromorphic computing (нейроморфные вычисления или нейроморфные сети)

А.В.Гаврилов, НГТУ
7
Что такое “deep learning”?
• Family of methods that uses deep architecture to learn high level feature representations (из курса видео-лекций “Deep Learning”)
• Branch of machine learning based on a set of algorithms that attempt to model high-level abstractions in data by using model architectures, with complex structures or otherwise, composed of multiple non-linear transformations (из Wikipedia)

А.В.Гаврилов, НГТУ
8
Что такое “deep learning”? (2)
Глубокое обучение — набор алгоритмов машинного обучения, которые пытаются моделировать высокоуровневые абстракции в данных, используя архитектуры, состоящие из множества нелинейных трансформаций.
• Под термином глубина в данном случае понимается глубина графа вычислений модели — максимальная длина между входными выходным узлами конкретной архитектуры. В случае, например, простой нейронной сети прямого распространения глубина соответствует количеству слоев сети.
• Термин 'глубокое обучение' акцентирует внимание на сложности обучения внутренних (глубоких) слоев многослойной сети, которые плохо поддаются классическим методам обучения, таким как метод обратного распространения ошибки.
ИЗ ВИКИПЕДИИ

А.В.Гаврилов, НГТУ
9
Другое возможное определение
• Множество моделей обработки информации в мозге человека/животного, поступающей от сенсоров, целью которой является обучение распознаванию объектов (понятий) в виде процесса иерархического абстрагирования их представления.
• Обычно подразумевается обработка зрительной информации, хотя deep learning применяется и при обработке естественного языка.

А.В.Гаврилов, НГТУ
10
Одна из возможных классификаций НС с глубоким обучением neural networks (глубокие нейронные сети Многослойная НС прямого распространения с обработкой разного уровня признаков в каждом уровне и обучением каждого слоя отдельно deep neural networks
(сверточные сети Многослойная НС с разделением на подсети (с локальными связями) для обработки разных признаков и объединением их на верхнем уровне belief networks (глубокие сети доверия Вероятностная многослойная сеть

А.В.Гаврилов, НГТУ
11
Применяется в областях
(Wikipedia)
• computer vision
• automatic speech recognition
• natural language processing
• audio recognition
• bioinformatics

А.В.Гаврилов, НГТУ
12
Из истории (Из Википедии)
• Глубокие архитектуры, основанные на искусственных нейронных сетях, берут свою начало с неокогнитрона, разработанного Кунихико
Fukushima K. в 1980 году. В 1989 году Яну Лекуну удалось использовать алгоритм обратного распространения ошибки для обучения глубоких нейросетей (многоуровневых) для решения задачи распознавания рукописных кодов. Несмотря на успешный опыт, для обучения модели потребовалось три дня, что существенно ограничивало применение этого метода.
• Низкая скорость обучения связана со многими факторами, включая проблему исчезающего градиента, которую в 1991 году анализировали
Юрген Шмидхубер и Сепп Хохрайтер. Из-за этих проблем нейронные сети в х годах уступили место методу опорных векторов.
• Термин глубокое обучение приобрёл популярность после публикации
Джеффри Хинтона и Руслана Салахутдинова в середние х годов, в которой они показали, что можно эффективно предобучать многослойную нейронную сеть если обучать каждый слой отдельно при помощи ограниченной машины Больцмана, а затем дообучать при помощи метода обратного распространения ошибки

А.В.Гаврилов, НГТУ
13
Уровни обработки изображения pixels edges object parts
(combination of edges)
object models

А.В.Гаврилов, НГТУ
14
Когнитрон
Когнитро́н — искусственная нейронная сеть на основе принципа самоорганизации. Своей архитектурой когнитрон похож настроение зрительной коры, имеет иерархическую многослойную организацию, в которой нейроны между слоями связаны только локально. Обучается конкурентным обучением
(без учителя) с использованием латеральных связей.
• Каждый слой мозга реализует различные уровни обобщения входной слой чувствителен к простым образам, таким, как линии, и их ориентации в определенных областях визуальной области, в то время как реакция других слоев является более сложной, абстрактной и независимой от позиции образа.
• Аналогичные функции реализованы в когнитроне путем моделирования организации зрительной коры.

А.В.Гаврилов, НГТУ
15
Архитектура когнитрона
• Когнитрон состоит из иерархически связанных слоев нейронов двух типов — тормозящих и возбуждающих. Состояние возбуждения каждого нейрона определяется соотношением его тормозящих и возбуждающих входов.
• Относительно некоторой синаптической связи между слоями 1 и 2 соответствующий нейрон слоя 1 является пресинаптическим, а нейрон второго слоя — постсинаптическим.
• Постсинаптические нейроны связаны не со всеми нейронами го слоя, а лишь с теми, которые принадлежат их локальной области связей.
• Области связей близких друг к другу постсинаптических нейронов перекрываются, поэтому активность данного пресинаптического нейрона будет сказываться на все более расширяющейся области постсинаптических нейронов следующих слоев иерархии.

А.В.Гаврилов, НГТУ
16
Неокогнитрон
• Когнитрон и неокогнитрон имеют определенное сходство, но между ними также существуют различия, связанные с эволюцией исследований авторов. Оба образца являются многоуровневыми иерархическими сетями, организованными аналогично зрительной коре.
• Неокогнитрон более соответствует модели зрительной системы, описанной в работе Hubel D. H. ив году.
• В результате неокогнитрон является намного более мощной парадигмой сточки зрения способности распознавать образы независимо от их преобразований, вращений, искажений и изменений масштаба. Как и когнитрон, неокогнитрон использует самоорганизацию в процессе обучения

А.В.Гаврилов, НГТУ
17
Пример – распознавание неокогнитроном рукописных цифр

А.В.Гаврилов, НГТУ
18
Неокогнитрон для распознавания рукописных букв

А.В.Гаврилов, НГТУ
19
Проблемы при использовании неокогнитрона
• Специализация на распознавание определенного типа образов с учетом определенных видов помех (поэтому появились разные модификации неокогнитрона)
• Разработка архитектуры неокогнитрона под конкретную задачу – нетривиальная задача

А.В.Гаврилов, НГТУ
20
Сверточные сети
• Отличаются от неокогнитрона тем, что в них используется обучение с учителем методом обратного распространения ошибки, хотя неокогнитрон тоже иногда называют сверточной сетью
• Отличается от MLP локальностью связей между слоями и разным назначением слоев
• Обучение длительное, специализация

А.В.Гаврилов, НГТУ
21
Недостатки использования обратного
распространения ошибки для
многослойных НС
• Эффект исчезающего градиента при продвижению ошибки к нижним слоям
• Эффект переобучения. Сеть ведет себя хорошо на обучающих примерах и сильно ошибается на тестовых примерах.
• Поэтому, многослойные сети прямого распространения не получили широкого распространения до появления методов послойного обучения

А.В.Гаврилов, НГТУ
22
• В середине х годов Джефри
Хинтон показал возможность послойного обучения многослойной сети прямого распространения
• Он использовал ограниченную машину
Больцмана
• Но можно использовать и метод обратного распространения ошибки
• Для обучения одного скрытого слоя используется идея AutoEncoder
(Автокодировщик)

А.В.Гаврилов, НГТУ
23

А.В.Гаврилов, НГТУ
24
• Выходной слой – аналог входного слоя
• Скрытый слой состоит из небольшого количества нейронов обучается восстановлению образа на выходе, создавая его сжатое описание вскрытом слоев виде признаков (пытается построить функцию h(x) = x )
• Обучение с использованием модифицированного алгоритма обратного распространения ошибки, обеспечивающего разреженную активацию нейронов скрытого слоя (используя штрафную функцию имитацию латеральных тормозящих связей - автокодировщик

А.В.Гаврилов, НГТУ
25
Autoencoder - автокодировщик

А.В.Гаврилов, НГТУ
26
Пример восстановления изображения автокодировщиком

А.В.Гаврилов, НГТУ
27
Пример изображений, соответствующих активации скрытых ста нейронов после обработки реальных фотографий

А.В.Гаврилов, НГТУ
28
Использование концепции автокодировщика для обучения многослойной сети autoencoders)

А.В.Гаврилов, НГТУ
29
• Обучается слой Hidden 1 с использованием временного выходного слоя – аналога слоя Обучается слой Hidden 2 с использованием входного слоя Hidden 1 и временного выходного слоя – его аналога
• Обучается выходной слой Output с использованием входного слоя Hidden 2 и временного выходного слоя – его аналога
• Так как на выходном слое не получаются необходимые для нас метки (распознанные объекты, обучается вся сеть методом обратного распространения ошибки (с учителем)
Использование концепции автокодировщика для обучения многослойной сети

А.В.Гаврилов, НГТУ
30
Библиотеки для deep learning


+
+
Linux, Windows
Matlab
Cuda CNN
12


+
+
Linux, Windows
С++
Cuda-convnet
11


+
+
Linux
С++
CXXNET
10


+
+
Linux
С++
nnForge
9


+
+
Linux, OS X
C++, Python,
Matlab
Caffe
8
+
+

+
Windows, Linux
R
Darch
7
+
+
+
+
Linux, Mac OS X, iOS,
Android
Lua, C
Torch
6
+
+
+
+
?
Matlab
Deepmat
5
+
+
+
+
Linux
Python
Deepnet
4
+
+
+
+
Linux, Vagrant
Python
Pylearn2
3
+
+
+
+
Windows, Linux, Mac
Python
Theano
2
+
+
+
+
Windows, Linux
Matlab
DeepLearnToolbox
1
RBM
AE
CNN
FC
NN
OC
Язык
Название
#

А.В.Гаврилов, НГТУ
31
Сокращения в таблице NN - fully connected neural network
(полносвязные НС - convolutional neural network
(сверточные НС - autoencoder (автокодировщики),
• RBM - restricted Boltzmann ограниченные машины Больцмана )

А.В.Гаврилов, НГТУ
32
Литература
I. Arel, D. C. Rose, T. P. Karnowski. Deep Machine Learning –
A New Frontier in Artificial Intelligence Research. – URL:
http://web.eecs.utk.edu/
itamar/Papers/DML_Arel_2010.pdf

Y. Bengio, A. Courville, P. Vincent. Representation Learning: A
Review and New Perspectives. – URL:
http://arxiv.org/abs/1206.5538
Learning deep architectures for {AI} - Foundations & Trends in
Machine Learning, 2(1), 2009. – Pp. 1-127.
Schmidhuber, J. (2014). Deep Learning in Neural Networks: An
Overview. – URL:
http://arxiv.org/abs/1404.7828
С.Подлесный. Чему нас не научил профессор Ng. URL:
http://habrahabr.ru/post/134950/
Кручинин Д, Долотов Е, Кустикова В, Дружков П,
Корняков К. Сравнение библиотек глубокого обучения на примере задачи классификации рукописных цифр – URL:
http://habrahabr.ru/company/itseez/blog/254747/
Видео-лекции Оксфордского университета (12 лекций)
https://www.youtube.com/watch?v=PlhFWT7vAEw&index=16&l
ist=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал