Что такое Deep Learning? Convolution neural networks



Скачать 125.1 Kb.

Дата17.02.2017
Размер125.1 Kb.
Просмотров103
Скачиваний0

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Deep Learning
Остапец Андрей
22 апреля 2013 г.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Содержание
1
Ликбез
Нейронные сети и метод обратного распространения ошибок
2
Что такое Deep Learning?
Определение
Предпосылки сверточных сетей
3
Convolution neural networks
Структура CNN
Свойства
Результаты работы
4
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Содержание
1
Ликбез
Нейронные сети и метод обратного распространения ошибок
2
Что такое Deep Learning?
Определение
Предпосылки сверточных сетей
3
Convolution neural networks
Структура CNN
Свойства
Результаты работы
4
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Содержание
1
Ликбез
Нейронные сети и метод обратного распространения ошибок
2
Что такое Deep Learning?
Определение
Предпосылки сверточных сетей
3
Convolution neural networks
Структура CNN
Свойства
Результаты работы
4
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Содержание
1
Ликбез
Нейронные сети и метод обратного распространения ошибок
2
Что такое Deep Learning?
Определение
Предпосылки сверточных сетей
3
Convolution neural networks
Структура CNN
Свойства
Результаты работы
4
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронные сети и метод обратного распространения ошибок
Что такое нейронные сети?
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронные сети и метод обратного распространения ошибок
Ликбез. Back-propagation
Выходные значения a m
(x i
), m = 1 . . . M
на объекте x i
:
a m
(x i
) = ?
m
H
h=0
w hm u
h
(x i
) ; u h
(x i
) = ?
h n
j =0
w jh x
j i
Зафиксируем объект x i
и запишем функционал среднеквадратичной ошибки:
Q(w ) =
1 2
M
m=1
a m
(x i
) ? y m
i
2
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронные сети и метод обратного распространения ошибок
Ликбез. Back-propagation
Частные производные:
?Q(w )
?a m
= a m
(x i
) ? y m
i
= ?
m i
- это ошибка на выходном слое;
?Q(w )
?u h
=
M
m=1
a m
(x i
) ? y m
i
?
m w
hm
=
M
m=1
?
m i
?
m w
hm
= ?
h i
- назовјм это ошибкой на скрытом слое. Она вычисляется,
если запустить сеть в Ѕобратном направлении:
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронные сети и метод обратного распространения ошибок
Ликбез. Back-propagation
Теперь, имея частные производные Q(w) по a m
и u h
, легко выписать градиент Q(w) по весам w:
?Q(w )
?w hm
=
?Q(w )
?a m
?a m
?w hm
= ?
m i
?
m u
h
(x i
), m = 1, . . . , M, h = 0, . . . , H
?Q(w )
?w jh
=
?Q(w )
?u h
?u h
?w jh
= ?
h i
?
h x
j i
, h = 1, . . . , H, j = 0, . . . , n
Теперь есть все необходимое для запуска алгоритма стохастического градиента.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Определение
Предпосылки сверточных сетей
Deep learning
Deep learning - это подраздел Machine Learning, основанный на двух идеях:
Обучение с использованием большого количества уровней представления информации для моделирования комплексных отношений в данных
Обучение на немаркированных данных ("без учителя")
или на комбинации немаркированных и маркированных данных ("с частичным привлечением учителя").
Считаем, что существует иерархия признаков - высокоуровневые признаки и концепты определяются с помощью низкоуровневых.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Определение
Предпосылки сверточных сетей
Пример неудачной работы нейронных сетей
Возьмем задачу распознавания цифр из базы рукописных символов MNIST.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Определение
Предпосылки сверточных сетей
1
У нас есть 60 000 изображений размера 32 на 32, хотим научиться распознавать цифры.
2
Возьмем нейронную сеть, примерно 1000 входов, 10
выходов. И еще возьмем один скрытый слой, например 500
узлов.
3
Итого у нас 1000*500 + 500*10 = 505 000 весов.
4
Локальный минимум гарантирован.
5
Обобщающая способность нулевая.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Определение
Предпосылки сверточных сетей
Биологические предпосылки сверточных нейронных сетей
Мозг - это не просто куча связанных нейронов
Cortex (кора головного мозга) пропускает информацию через несколько иерархических слоев предобработки, и каждый слой при этом выполняет свою функцию.
Нейроны, которые выполняют похожие функции работают совместно.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Структура CNN
Свойства
Результаты работы
Сверточные сети
Ян ЛеКун предложил использовать так называемые сверточные нейронные сети. Идея сверточных нейронных сетей заключается в чередовании свјрточных слоев (C-layers),
субдискретизирующих слоев (S-layers)
полносвязных (F-layers) слоев на выходе.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Структура CNN
Свойства
Результаты работы
Первый сверточный слой
Каждый фрагмент изображения поэлементно умножается на небольшую матрицу весов (ядро), результат суммируется. Эта сумма является пикселом выходного изображения, которое называется картой признаков. Помимо этого, взвешенная сумма входов еще пропускается через функцию активации.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Структура CNN
Свойства
Результаты работы
S-слой
Суть S-слоев заключается в уменьшении пространственной размерности изображения. Т.е. входное изображение грубо
(усреднением) уменьшается в заданное количество раз. Чаще всего в 2 раза, хотя может быть и не равномерное изменение,
например, 2 по вертикали и 3 по горизонтали.
Субдискретизация нужна для обеспечения инвариантности к масштабу.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Структура CNN
Свойства
Результаты работы
Второй сверточный слой
Соединение всех карт второго слоя со всеми картами третьего слоя значительно увеличило бы количество связей.
Соединение карт Ѕодна к одной стало бы еще одним повторением свертки, которое уже присутствовало между первым и вторым слоями.
Как правило, архитектор сети сам принимает решение о том,
по какому принципу организовывать соединение карт второго и третьего слоев.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Структура CNN
Свойства
Результаты работы
Свойства CNN
Локальное восприятие подразумевает, что на вход одного нейрона подается не все изображение (или выходы предыдущего слоя), а лишь некоторая его область. Такой подход позволил сохранять топологию изображения от слоя к слою.
Концепция разделяемых весов предполагает, что для большого количества связей используется очень небольшой набор весов.
Хорошие обобщающие свойства сети, что в итоге позитивно сказывается на способности сети находить инварианты в изображении и реагировать главным образом на них, не обращая внимания на прочий шум.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Структура CNN
Свойства
Результаты работы
Результаты работы
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Нейронная сеть Хопфилда
Нейронная сеть Хопфилда - полносвязная нейронная сеть с симметричной матрицей связей. В процессе работы динамика таких сетей сходится (конвергирует) к одному из положений равновесия. Эти положения равновесия являются локальными минимумами функционала, называемого энергией сети
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Нейронная сеть Хопфилда
В сети Хопфилда матрица связей является симметричной
(w ij
= w ji
), а диагональные элементы матрицы полагаются равными нулю (w ii
= 0
), что исключает эффект воздействия нейрона на самого себя и является необходимым для сети
Хопфилда.
Каждый нейрон системы может принимать одно из двух состояний (что аналогично выходу нейрона с пороговой функцией активации):
s i
=
1,
if w
ji s
j
> ?
i
,
?1,
иначе
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Нейронная сеть Хопфилда
Энергия:
E = ?
1 2
i ,j w
ij s
i s
j
+
i
?
i s
i
,
w ij
- сила связи между i-ым и j-ым нейронами,
?
i
- индивидуальные порог для каждого нейрона s
i
- состояние нейрона.
E
- мера близости к стабильному состоянию
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Обыкновенная машина Больцмана
Машина Больцмана представляет из себя полносвязный неориентированный граф, где нейроны поделены на две группы, описывающие обозреваемые и скрытые состояния.
Таким образом, любые две вершины из одной группы зависят друг от друга.
Энергия в машинах Больцмана выражается следующим образом:
E = ?
i ij s
i s
j
+
i
?
i s
i
,
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Обыкновенная машина Больцмана
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Ограниченная машина Больцмана
Но если убрать связи внутри группы, чтобы получился двудольный граф, мы получим структуру модели RBM.
Особенность этой модели в том, что при данном состоянии нейронов одной группы, состояния нейронов другой группы будут независимы друг от друга.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Ограниченная машина Больцмана
RBM интерпретируются аналогично скрытым моделям
Маркова.
У нас есть ряд состояний, которые мы можем наблюдать
(видимые нейроны, которые предоставляют интерфейс для общения с внешней средой) и ряд состояний, которые скрыты,
и мы не можем напрямую увидеть их состояние (скрытые нейроны). Но мы можем сделать вероятностный вывод относительно скрытых состояний, опираясь на состояния,
которые мы можем наблюдать.
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Ограниченная машина Больцмана
Введем следующие обозначения:
w ij
- веc между i-ым нейроном a
i
- смещение видимого нейрона b
j
- смещение скрытого нейрона v
i
- состояние видимого нейрона h
j
- состояние скрытого нейрона
Мы будем рассматривать обучающее множество, состоящее из бинарных векторов. Предположим, что у нас n видимых нейронов и m скрытых. Введем понятие энергии для RBM:
E (v , h) = ?
n i
a i
v i
?
m j
b j
h j
?
n i
m j
w ij v
i h
j
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Ограниченная машина Больцмана
Нейросеть будет вычислять совместную вероятность всевозможных пар v и h следующим образом:
p(v , h) =
1
Z
e
?E (v ,h)
,
где Z - это статсумма следующего вида:
Z =
2
n r
2
m t
e
?E (v r
,h t
)
Очевидно, что полная вероятность вектора v будет вычисляться суммированием по всем h:
p(v ) =
M
t
P(v , h t
) =
1
Z
M
t e
?E (v ,h t
)
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Ограниченная машина Больцмана
Рассмотрим вероятность того, что при данном v одно из скрытых состояний h k
= 1
. Для этого представим один нейрон,
тогда энергия системы при 1 будет E
1
, а при 0 будет E
0
p(h k
= 1|v ) =
e
?E
1
e
?E
1
+ e
?E
0
=
1 1 + e
E
1
?E
0
=
=
1 1 + e
?b?
n i
v i
w ik
= ? ? b ?
n i
v i
w ik
А так как при данном v все h k
не зависят друг от друга, то:
P(h|v ) =
m j
P(h j
|v )
Аналогичный вывод делается и для вероятности v при данном h
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Алгоритм обучения Contrastive Divergence
Этот алгоритм придуман профессором Хинтоном в 2002 году, и он отличается своей простотой.
1
состояние видимых нейронов приравнивается к входному образу
2
выводятся вероятности состояний скрытого слоя
3
каждому нейрону скрытого слоя ставится в соответствие состояние ѕ1ї с вероятностью, равной его текущему состоянию
4
выводятся вероятности видимого слоя на основании скрытого
5
если текущая итерация меньше k, то возврат к шагу 2 6
выводятся вероятности состояний скрытого слоя
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Алгоритм обучения Contrastive Divergence
?w ij
= ? M[v i
h j
]
(0)
? M[v i
h j
]
(?)
?a i
= ? v i
? M[v i
]
(?)
?b j
= ? M[h j
]
(0)
? M[h j
]
(?)
Остапец Андрей
Deep Learning

Ликбез
Что такое Deep Learning?
Convolution neural networks
Deep belief nets
Нейронная сеть Хопфилда
Обыкновенная машина Больцмана
Ограниченная машина Больцмана
Алгоритм обучения Contrastive Divergence
Deep belief nets
Deep belief nets
Остапец Андрей
Deep Learning


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


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

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


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