SlideShare a Scribd company logo
1 of 61
Download to read offline
Лекция n2
Softmax слой
Ограниченная машина Больцмана
Нестеров Павел
11 декабря 2014 г.
План лекции
Вспоминаем прошлую лекцию
Softmax слой
Обучение без учителя
Ограниченная машина Больцмана
Алгоритм contrastive divergence
Заметки про RBM
1 / 60
Модифицированная модель нейрона МакКаллока-Питтса
Рис.: Схема искусственного нейрона1
1Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin
2 / 60
Многоснойная нейронная сеть прямого распространения
Рис.: Архитектура сети с двумя скрытыми слоями2
2Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin
3 / 60
Алгоритм обратного распространения ошибки
Рис.: Схема прямого (нелинейного) и обратного (линейного)
распространения сигнала в сети
4 / 60
Некоторые функции стоимости
Среднеквадратичная ошибка:
E =
1
2 i∈output (ti − yi )
2
∂E
∂yi
= yi − ti
Логарифм правдоподобия Бернулли:
E = − i∈output (ti log yi + (1 − ti ) log (1 − yi ))
∂E
∂yi
=
ti
yi
−
1 − ti
1 − yi
Для каких задач машинного обучения удобны эти функции?
5 / 60
Вспоминаем логистическую регрессию, два класса
D = {(xi , yi )}i=1...m , ∀xi ∈ Rn
, ∀yi ∈ {0, 1}
P(y = 1, x) =
P(x|y) · P(y)
P(x|y) · P(y) + P(x|y) · P(y)
=
1
1 + exp P(x|y)·P(y)
P(x|y)·P(y)
=
1
1 + e−a
= σ(a)
где y это y = 0, а так же P(y = 0) = 1 − P(y = 1), a : h(w) = wT
· x
H(p, q) = − i pi · log qi = −y · log ˆy − (1 − y) · log(1 − ˆy)
какое распределение?
6 / 60
Логистическая регрессия, обобщение на N классов
D = {(xi , yi )}i=1...m , ∀xi ∈ Rn
, ∀yi ∈ {0, 1, . . . , N}
P(y = 1|x) = 1
1+e−a = e−a
e−a+1 = 1
Z · e−a
= 1
Z · ewT
·x
Z - некоторая нормализирующая константа
P(x) = 1
Z · e−E(x)
- распределение Больцмана-Гиббса (почти)
Введем для каждого класса свой вектор весов, получим:
P(y = c|x) =
1
Z
· ewT
c ·x
=
ewT
c ·x
i ewT
i ·x
(1)
c P(y = c|x) = c
1
Z · ewT
c ·x
= Z
Z = 1
как представить в виде нейросети?
7 / 60
Softmax слой
z
(n)
j =
Nn−1
i=0 w
(n)
ij x
(n)
i
yj = softmax(zj ) =
zj
Z
=
zj
k zk
E(y, t) = −
Nn−1
j=1 tj · log yj
∂y
(n)
j
∂z
(n)
j
= ???
8 / 60
Дифференцирование softmax функции
∂y
(n)
j
∂z
(n)
j
=
∂
∂zj
ezj
Z
=
1
Z2
·
∂ezj
∂zj
· Z − ezj
·
∂Z
∂zj
=
1
Z2
· ezj
Z − ezj
∂ezj
∂zj
=
ezj
Z − (ezj
)
2
Z2
=
ezj
Z
−
ezj
Z
2
= yj − y2
j
= yj · (1 − yj )
9 / 60
Вспомним backprop
∂E
∂w
(n)
ij
=
∂E
∂z
(n)
j
∂z
(n)
j
∂w
(n)
ij
∂z
(n)
j
∂w
(n)
ij
= i
∂w
(n)
ij x
(n−1)
i
∂w
(n)
ij
= x
(n−1)
i
В итоге получим:
∂E
∂w
(n)
ij
= x
(n−1)
i
∂E
∂z
(n)
j
(2)
Продолжим с этого момента, с учетом того, что функцией
стоимости является перекрестная энтропия (опустим индекс слоя
для наглядности):
E(y (z) , t) = −
Nn−1
j=1 tj · log yj (zj )
∂E
∂zj
= ???
10 / 60
Дифференцирование перекрестной энтропии, #1
Раньше было так (для выходного слоя):
∂E
∂zj
=
∂E
∂yj
∂yj
∂zj
Теперь стало так:
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
почему так?
11 / 60
Дифференцирование перекрестной энтропии, #2
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
∂E
∂yi
???
12 / 60
Дифференцирование перекрестной энтропии, #2
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
∂E
∂yi
= −
∂
∂yi
Nn
k
tk · log yk
= −
∂
∂yi
(ti · log yi )
= −
ti
yi
13 / 60
Дифференцирование перекрестной энтропии, #3
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
∂E
∂yi
= −
ti
yi
∂yi
∂zj
???
14 / 60
Дифференцирование перекрестной энтропии, #4
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
∂E
∂yi
= −
ti
yi
∂yi
∂zj
=
yj (1 − yj ) , i = j
???, i = j
15 / 60
Дифференцирование перекрестной энтропии, #5
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
∂E
∂yi
= −
ti
yi
∂yi
∂zj
= yj (1−yj ),i=j
???,i=j
∂y
(n)
i
∂z
(n)
j
=
1
Z2
·
∂ezi
∂zj
· Z − ezi
·
∂Z
∂zj
=
1
Z2
(0 − ezi
· ezj
)
= −yi · yj
16 / 60
Дифференцирование перекрестной энтропии, #6
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
∂E
∂yi
= −
ti
yi
∂yi
∂zj
= yj (1−yj ),i=j
−yi yj ,i=j
∂E
∂yi
·
∂yi
∂zj
= −tj (1−yj ),i=j
yj ti ,i=j
собираем все вместе
17 / 60
Дифференцирование перекрестной энтропии, #7
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
∂E
∂yi
·
∂yi
∂zj
= −tj (1−yj ),i=j
yj ti ,i=j
∂E
∂zj
= −tj (1 − yj ) +
Nn
i=1,i=j
yj ti
= −tj + tj yj + yj ·
Nn
i=1,i=j
ti
= −tj + yj

tj + ·
Nn
i=1,i=j
ti


= ???
18 / 60
Дифференцирование перекрестной энтропии, #8
∂E
∂zj
=
Nn
i=1
∂E
∂yi
·
∂yi
∂zj
∂E
∂yi
·
∂yi
∂zj
= −tj (1−yj ),i=j
yj ti ,i=j
∂E
∂zj
= −tj (1 − yj ) +
Nn
i=1,i=j
yj ti
= −tj + tj yj + yj ·
Nn
i=1,i=j
ti
= −tj + yj

tj + ·
Nn
i=1,i=j
ti


= yj − tj
19 / 60
Softmax слой, выводы
20 / 60
Обучение без учителя
When we’re learning to see, nobody’s telling us what the right answers
are — we just look. Every so often, your mother says “that’s a dog”, but
that’s very little information. You’d be lucky if you got a few bits of
information — even one bit per second — that way. The brain’s visual
system has 1014
neural connections. And you only live for 109
seconds.
So it’s no use learning one bit per second. You need more like 105
bits
per second. And there’s only one place you can get that much
information: from the input itself.3
3Geoffrey Hinton, 1996 (quoted in (Gorder 2006))
21 / 60
Статистическая механика, #1
Представим некоторую физическую систему с множеством степеней
свободы, которая может находится в одном из множества состояний
с некоторой вероятностью, а каждому такому состоянию состоянию
соответствует некоторая энергия всей системы:
pi ≥ 0 - вероятность состояния i
i pi = 1
Ei - энергия системы в состоянии i
Тогда вероятность состояния i будет описываться распределением
Больцмана-Гиббса, при условии термодинамического равновесия
между системой и окружающей средой:
pi =
1
Z
exp −
Ei
kB · T
(3)
где
T - абсолютная температура (К)
kB - константа Больцмана (Дж/К)
Z = i exp − Ei
kB ·T - нормализирующая константа (partition
function, Zustadsumme, статсумма)
22 / 60
Статистическая механика, #2
Два важных вывода:
1. состояния с низкой энергией имеют больше шансов возникнуть
чем состояния с высокой энергией;
2. при понижении температуры, чаще всего будут возникать
состояния из небольшого подмножества состояний с низкой
энергией.
23 / 60
Нейросеть Хопфилда
обратная связь
пороговая функция активации
Такая сеть (рекуррентная нейронная
сеть) может находится как в стабильном
состоянии, осциллировать, или даже
проявлять признаки детерминированного
хаоса.
Хопфилд показал, что при симметричной
матрице весов, существует такая
функция энергии бинарных состояний
системы, что при симуляции система
эволюционирует в одно из
низко-энергетических состояний.
24 / 60
Нейросеть Хопфилда, энергия системы, #1
E = −
i
si bi −
i<j
si sj wij (4)
si - состояние нейрона i
bi - смещение нейрона i
wij - вес между нейроном i и j
Рис.: Поверхность описываемая энергией сети Хопфилда
25 / 60
Нейросеть Хопфилда, энергия системы, #2
Рис.: Поверхность описываемая энергией сети Хопфилда, два стабильных
состояния4
4Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin
26 / 60
Нейросеть Хопфилда, как ассоциативная память
a - нет образов в памяти
b - два образа далеко друг от друга
c - два образа накладываются друг на друга
Вместимость 0.15 · N на N нейронов.
27 / 60
Нейросеть Хопфилда, алгоритм обучения
Обучение сети Хопфилда происходит в один прогон по множеству
данных по следующему правилу:
∆wij =
1
n
n
i=1
si sj , ∀k : sk ∈ {−1, 1} (5)
Это в точности первое правило Хебба:
если два нейрона по разные стороны от синапсов активируются
синхронно, то "вес"синапса слегка возрастает
28 / 60
Машина Больцмана - стохастический генеративный
вариант сети Хопфилда
энергия не изменилась: E = − i si bi − i<j si sj wij
симметричная матрица весов wij = wji , но нет обратных связей:
wii = 0
появились скрытые состояния (система ищет такую
конфигурацию скрытых состояний которая лучшим образом
описывает видимые состояния)
∀i : si ∈ {0, 1}
стохастический нейрон 29 / 60
Стохастический нейрон
30 / 60
Имитация отжига, идея, #1
31 / 60
Имитация отжига, идея, #2
Рис.: Влияние температуры на вероятности переходов5
SimulatedAnnealing.gif
5https://class.coursera.org/neuralnets-2012-001/lecture
32 / 60
Имитация отжига
∆Ei = bi + j wij sj
pi = 1
Z exp − Ei
kB ·T
pi=1
pi=0
= exp −
Ei=0 − Ei=1
kB T
= exp
∆Ei
kB T
⇒
∆Ei
T
= ln(pi=1) − ln(pi=0) = ln(pi=1) − ln(1 − pi=1)
= ln
pi=1
1 − pi=1
⇒
−
∆Ei
T
= ln
1 − pi=1
pi=1
= ln
1
pi=1
− 1 ⇒
exp −
∆Ei
T
=
1
pi=1
− 1 ⇒
pi=1 =
1
1 + exp −∆Ei
T
33 / 60
Машина Больцмана - выводы
Теоретически такая модель может все (как обычно в нейросетях), но
время требуемое для обучения такой модели экспоненциально
зависит от размера машины
по этой же причине нет возможности вычислить Z
так же приходится использовать семплирование Гиббса6
, в
связи с топологией сети (почему?)
6Семплирование по Гиббсу не требуется явно выраженное совместное
распределение, а нужны лишь условные вероятности для каждой переменной,
входящей в распределение. Алгоритм на каждом шаге берет одну случайную
величину и выбирает ее значение при условии фиксированных остальных. Можно
показать, что последовательность получаемых значений образуют возвратную
цепь Маркова, устойчивое распределение которой является как раз искомым
совместным распределением.
34 / 60
Ограниченная машина Больцмана
убираем температуру
вводим ограничение на топологию
35 / 60
Виды RBM
В зависимости от априрного распределения ассоциированного с
видимым и скрытым слоями, различают несколько видов RBM:
Bernoulli-Bernoulli (binary-binary)
Gaussian-Bernoulli
Gaussian-Gaussian
Poisson-Bernoulli
и т.д.
Бинарные (Bernoulli-Bernoulli, binary-binary) RBM играют важную
роль в глубоком обучении, по аналогии с выводом алгоритма
обучения для бинарной ограниченной машины Больцмана, можно
вывести аналогичные правила для остальных типов моделей.
36 / 60
RBM, обозначения
D = {xi }i=1...N - множество данных;
v, h - значения видимых и скрытых нейронов;
a, b, W - смещения видимых и скрытых нейронов, и матрица
весов;
n, m - количество видимых и скрытых нейронов;
E(v, h) = −
n
i=1 ai vi −
m
j=1 bj hj −
n
i=1
m
j=1 wij vi hj =
−vT
a − hT
b − vT
W b
p(v, h) = 1
Z e−E(v,h)
Z =
N
r
M
t e−E(v(r)
,h(t)
)
P(v) =
M
t P(v, h(t)
) = 1
Z
M
t e−E(v,h(t)
)
Далее значки вектора x будут опускаться для простоты.
37 / 60
RBM, функция активации
Аналогично обычной машине Больцмана, рассмотрим только для
скрытого слоя:
P(hk = 1|v) =
e−E1
e−E1 + e−E0
=
1
1 + eE1−E0
=
1
1 + e−bk − n
i vi wik
= σ bk +
n
i=1
vi wik
Вопрос:
P(h|v) = ???
38 / 60
RBM, независимость
P(h|v) =
m
j=1
P(hj |v)
P(v|h) =
n
i=1
P(vi |h)
39 / 60
RBM, целевая функция
E(v, h) = −
n
i=1
ai vi −
m
j=1
bj hj −
n
i=1
m
j=1
wij vi hj (6)
P(v) =
1
Z
M
t
e−E(v,h(t)
)
(7)
максимизировать вероятность данных при заданной
генеративной модели
что будем делать?
40 / 60
RBM, дифференцирование P(v), #1
E(v, h) = −
n
i=1
ai vi −
m
j=1
bj hj −
n
i=1
m
j=1
wij vi hj
∂E(v, h)
∂wij
= ?
∂E(v, h)
∂ai
= ?
∂E(v, h)
∂bj
= ?
∂e−E(v,h)
∂wij
= ?
∂e−E(v,h)
∂ai
= ?
∂e−E(v,h)
∂bj
= ?
41 / 60
RBM, дифференцирование P(v), #2
E(v, h) = −
n
i=1
ai vi −
m
j=1
bj hj −
n
i=1
m
j=1
wij vi hj
∂E(v, h)
∂wij
= −vi hj
∂E(v, h)
∂ai
= −vi
∂E(v, h)
∂bj
= −hj
∂e−E(v,h)
∂wij
= vi hj e−E(v,h)
∂e−E(v,h)
∂ai
= vi e−E(v,h)
∂e−E(v,h)
∂bj
= hj e−E(v,h)
42 / 60
RBM, дифференцирование P(v), #3
Z =
N
r
M
t
e−E(v(r)
,h(t)
)
∂Z
∂wij
= ?
∂Z
∂ai
= ?
∂Z
∂bj
= ?
43 / 60
RBM, дифференцирование P(v), #4
Z =
N
r
M
t
e−E(v(r)
,h(t)
)
∂Z
∂wij
=
N
r
M
t
v
(r)
i h
(t)
j e−E(v(r)
,h(t)
)
∂Z
∂ai
=
N
r
M
t
v
(r)
i e−E(v(r)
,h(t)
)
∂Z
∂bj
=
N
r
M
t
h
(t)
j e−E(v(r)
,h(t)
)
44 / 60
RBM, дифференцирование P(v), #5
∂P v(k)
∂wij
=
1
Z2
Z
M
t
v
(k)
i h
(k)
j e−E(v(r)
,h(t)
)
−
M
t
e−E(v(r)
,h(t)
)
N
r
M
t
v
(r)
i h
(t)
j e−E(v(r)
,h(t)
)
∂ ln P v(k)
∂wij
=
1
P v(k)
∂P v(k)
∂wij
45 / 60
RBM, дифференцирование P(v), #6
∂ ln P v(k)
∂wij
= v
(k)
i
M
t
h
(t)
j P h(t)
|v(k)
−
N
r
M
t
v
(r)
i h
(t)
j P h(t)
, v(k)
= ???
46 / 60
RBM, дифференцирование P(v), #7
∂ ln P v(k)
∂wij
=
M
t
v
(k)
i h
(t)
j P h(t)
|v(k)
−
N
r
M
t
v
(r)
i h
(t)
j P h(t)
, v(k)
= M v
(k)
i hj
data
− M [vi hj ]model
∂ ln P v(k)
∂ai
= v
(k)
i − M [vi ]model
∂ ln P v(k)
∂bj
= M [hj ]data − M [hj ]model
47 / 60
RBM, правила обновления
∆wij = η M v
(k)
i hj
data
− M [vi hj ]model
∆ai = η v
(k)
i − M [vi ]model
∆bj = η M [hj ]data − M [hj ]model
48 / 60
Алгоритм Contrastive Divergence
Цель: собрать достаточную статистику для оценки M[· · · ]data и
M[· · · ]model
Рис.: Процесс сбора достаточной статистики7
∆wij = η M v
(k)
i hj
(0)
− M [vi hj ]
(∞)
M [· · · ]
(0)
- позитивная фаза
M [· · · ]
(∞)
- негативная фаза
7https://class.coursera.org/neuralnets-2012-001/lecture
49 / 60
Практические советы
не семплировать видимый слой (семплирование замедляет
сходимость, но математически это более корректно);
не семплировать значения скрытого слоя при выводе из
восстановленного образа;
CD-k, уже при k = 1 качество не сильно уступает большим
значениям, но выигрыш в скорости значительный;
размер минибатча 10-100 экземпляров (почему?);
кроссвалидаци восстановленных образов;
использование момента сказывается крайне положительно на
скорости сходимости;
http://www.cs.toronto.edu/ hinton/absps/guideTR.pdf
50 / 60
Визуализация восстановленных образов
51 / 60
Визуализация признаков, #1
52 / 60
Визуализация признаков, #2
Рис.: Признаки на множестве рукописных цифр MNIST8
8http://deeplearning.net/
53 / 60
Визуализация признаков, #3
54 / 60
Визуализация признаков, #4
Рис.: RBM как базис9
9http://cs.stanford.edu/
55 / 60
Регуляризация в RBM, #1
(a) RBM, no reg (b) RBM, L2 reg
Рис.: Иллюстрация эффекта регуляризации
56 / 60
Регуляризация в RBM, #2
(a) RBM, L2 reg (b) RBM, L1 reg
Рис.: Иллюстрация эффекта регуляризации
57 / 60
Критерий остановки
Рис.: Кроссвалидация
58 / 60
Что дальше?
Рис.: Глубокая нейронная сеть10
10Из предентации Scale Deep Learning, Jeff Dean
59 / 60
Вопросы

More Related Content

What's hot

L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблейTechnosphere1
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Technosphere1
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокTechnosphere1
 
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Technosphere1
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Technosphere1
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыTechnosphere1
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваTechnosphere1
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторовTechnosphere1
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияTechnosphere1
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииTechnosphere1
 
Сверточные нейронные сети
Сверточные нейронные сетиСверточные нейронные сети
Сверточные нейронные сетиIvan Kavalerov
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовTheoretical mechanics department
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовMikhail Kurnosov
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikovComputer Science Club
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовMikhail Kurnosov
 
Лекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиЛекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиMikhail Kurnosov
 

What's hot (20)

L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
 
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качества
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
 
Сверточные нейронные сети
Сверточные нейронные сетиСверточные нейронные сети
Сверточные нейронные сети
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
Метод конечных разностей
Метод конечных разностейМетод конечных разностей
Метод конечных разностей
 
20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
 
Лекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиЛекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировки
 

Similar to Лекция №12 "Ограниченная машина Больцмана"

Метод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлМетод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлKirill Netreba
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09Computer Science Club
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09Computer Science Club
 
Структурные формулы и функциональные схемы
Структурные формулы и функциональные схемыСтруктурные формулы и функциональные схемы
Структурные формулы и функциональные схемыaleksashka3
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.Anton Konushin
 
20111202 machine learning_nikolenko_lecture04
20111202 machine learning_nikolenko_lecture0420111202 machine learning_nikolenko_lecture04
20111202 machine learning_nikolenko_lecture04Computer Science Club
 
Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...
Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...
Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...Semen Martynov
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04Computer Science Club
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015LIPugach
 
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Technopark
 
Методы машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицМетоды машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицAndrey Ustyuzhanin
 
Михаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделированиеМихаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделированиеLidia Pivovarova
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Positive Hack Days
 
ноид для до
ноид для доноид для до
ноид для доSuslina
 
Лекция 7. Алгоритмы
Лекция 7. АлгоритмыЛекция 7. Алгоритмы
Лекция 7. АлгоритмыVladimir Tcherniak
 
CSEDays. Александр Семенов
CSEDays. Александр СеменовCSEDays. Александр Семенов
CSEDays. Александр СеменовLiloSEA
 
284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетейivanov1566359955
 

Similar to Лекция №12 "Ограниченная машина Больцмана" (20)

Метод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлМетод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёл
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09
 
Структурные формулы и функциональные схемы
Структурные формулы и функциональные схемыСтруктурные формулы и функциональные схемы
Структурные формулы и функциональные схемы
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
 
20111202 machine learning_nikolenko_lecture04
20111202 machine learning_nikolenko_lecture0420111202 machine learning_nikolenko_lecture04
20111202 machine learning_nikolenko_lecture04
 
NeuralNetworks_intro
NeuralNetworks_introNeuralNetworks_intro
NeuralNetworks_intro
 
Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...
Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...
Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04
 
37359 (1).pptx
37359 (1).pptx37359 (1).pptx
37359 (1).pptx
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
 
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
 
Методы машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицМетоды машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частиц
 
Михаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделированиеМихаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделирование
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
 
ноид для до
ноид для доноид для до
ноид для до
 
Лекция 7. Алгоритмы
Лекция 7. АлгоритмыЛекция 7. Алгоритмы
Лекция 7. Алгоритмы
 
Лекция 2
Лекция 2Лекция 2
Лекция 2
 
CSEDays. Александр Семенов
CSEDays. Александр СеменовCSEDays. Александр Семенов
CSEDays. Александр Семенов
 
284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей284.прогноз ключевых параметров при помощи искусственных нейронных сетей
284.прогноз ключевых параметров при помощи искусственных нейронных сетей
 

More from Technosphere1

L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: ЗаключительнаяTechnosphere1
 
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийTechnosphere1
 
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темыTechnosphere1
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебTechnosphere1
 
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Technosphere1
 
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsTechnosphere1
 
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмTechnosphere1
 
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревьяTechnosphere1
 
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)Technosphere1
 

More from Technosphere1 (11)

L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
 
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
 
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
 
Webdev7 (2)
Webdev7 (2)Webdev7 (2)
Webdev7 (2)
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
 
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
 
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
 
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
 
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
 
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
 

Лекция №12 "Ограниченная машина Больцмана"

  • 1. Лекция n2 Softmax слой Ограниченная машина Больцмана Нестеров Павел 11 декабря 2014 г.
  • 2. План лекции Вспоминаем прошлую лекцию Softmax слой Обучение без учителя Ограниченная машина Больцмана Алгоритм contrastive divergence Заметки про RBM 1 / 60
  • 3. Модифицированная модель нейрона МакКаллока-Питтса Рис.: Схема искусственного нейрона1 1Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin 2 / 60
  • 4. Многоснойная нейронная сеть прямого распространения Рис.: Архитектура сети с двумя скрытыми слоями2 2Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin 3 / 60
  • 5. Алгоритм обратного распространения ошибки Рис.: Схема прямого (нелинейного) и обратного (линейного) распространения сигнала в сети 4 / 60
  • 6. Некоторые функции стоимости Среднеквадратичная ошибка: E = 1 2 i∈output (ti − yi ) 2 ∂E ∂yi = yi − ti Логарифм правдоподобия Бернулли: E = − i∈output (ti log yi + (1 − ti ) log (1 − yi )) ∂E ∂yi = ti yi − 1 − ti 1 − yi Для каких задач машинного обучения удобны эти функции? 5 / 60
  • 7. Вспоминаем логистическую регрессию, два класса D = {(xi , yi )}i=1...m , ∀xi ∈ Rn , ∀yi ∈ {0, 1} P(y = 1, x) = P(x|y) · P(y) P(x|y) · P(y) + P(x|y) · P(y) = 1 1 + exp P(x|y)·P(y) P(x|y)·P(y) = 1 1 + e−a = σ(a) где y это y = 0, а так же P(y = 0) = 1 − P(y = 1), a : h(w) = wT · x H(p, q) = − i pi · log qi = −y · log ˆy − (1 − y) · log(1 − ˆy) какое распределение? 6 / 60
  • 8. Логистическая регрессия, обобщение на N классов D = {(xi , yi )}i=1...m , ∀xi ∈ Rn , ∀yi ∈ {0, 1, . . . , N} P(y = 1|x) = 1 1+e−a = e−a e−a+1 = 1 Z · e−a = 1 Z · ewT ·x Z - некоторая нормализирующая константа P(x) = 1 Z · e−E(x) - распределение Больцмана-Гиббса (почти) Введем для каждого класса свой вектор весов, получим: P(y = c|x) = 1 Z · ewT c ·x = ewT c ·x i ewT i ·x (1) c P(y = c|x) = c 1 Z · ewT c ·x = Z Z = 1 как представить в виде нейросети? 7 / 60
  • 9. Softmax слой z (n) j = Nn−1 i=0 w (n) ij x (n) i yj = softmax(zj ) = zj Z = zj k zk E(y, t) = − Nn−1 j=1 tj · log yj ∂y (n) j ∂z (n) j = ??? 8 / 60
  • 10. Дифференцирование softmax функции ∂y (n) j ∂z (n) j = ∂ ∂zj ezj Z = 1 Z2 · ∂ezj ∂zj · Z − ezj · ∂Z ∂zj = 1 Z2 · ezj Z − ezj ∂ezj ∂zj = ezj Z − (ezj ) 2 Z2 = ezj Z − ezj Z 2 = yj − y2 j = yj · (1 − yj ) 9 / 60
  • 11. Вспомним backprop ∂E ∂w (n) ij = ∂E ∂z (n) j ∂z (n) j ∂w (n) ij ∂z (n) j ∂w (n) ij = i ∂w (n) ij x (n−1) i ∂w (n) ij = x (n−1) i В итоге получим: ∂E ∂w (n) ij = x (n−1) i ∂E ∂z (n) j (2) Продолжим с этого момента, с учетом того, что функцией стоимости является перекрестная энтропия (опустим индекс слоя для наглядности): E(y (z) , t) = − Nn−1 j=1 tj · log yj (zj ) ∂E ∂zj = ??? 10 / 60
  • 12. Дифференцирование перекрестной энтропии, #1 Раньше было так (для выходного слоя): ∂E ∂zj = ∂E ∂yj ∂yj ∂zj Теперь стало так: ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj почему так? 11 / 60
  • 13. Дифференцирование перекрестной энтропии, #2 ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj ∂E ∂yi ??? 12 / 60
  • 14. Дифференцирование перекрестной энтропии, #2 ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj ∂E ∂yi = − ∂ ∂yi Nn k tk · log yk = − ∂ ∂yi (ti · log yi ) = − ti yi 13 / 60
  • 15. Дифференцирование перекрестной энтропии, #3 ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj ∂E ∂yi = − ti yi ∂yi ∂zj ??? 14 / 60
  • 16. Дифференцирование перекрестной энтропии, #4 ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj ∂E ∂yi = − ti yi ∂yi ∂zj = yj (1 − yj ) , i = j ???, i = j 15 / 60
  • 17. Дифференцирование перекрестной энтропии, #5 ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj ∂E ∂yi = − ti yi ∂yi ∂zj = yj (1−yj ),i=j ???,i=j ∂y (n) i ∂z (n) j = 1 Z2 · ∂ezi ∂zj · Z − ezi · ∂Z ∂zj = 1 Z2 (0 − ezi · ezj ) = −yi · yj 16 / 60
  • 18. Дифференцирование перекрестной энтропии, #6 ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj ∂E ∂yi = − ti yi ∂yi ∂zj = yj (1−yj ),i=j −yi yj ,i=j ∂E ∂yi · ∂yi ∂zj = −tj (1−yj ),i=j yj ti ,i=j собираем все вместе 17 / 60
  • 19. Дифференцирование перекрестной энтропии, #7 ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj ∂E ∂yi · ∂yi ∂zj = −tj (1−yj ),i=j yj ti ,i=j ∂E ∂zj = −tj (1 − yj ) + Nn i=1,i=j yj ti = −tj + tj yj + yj · Nn i=1,i=j ti = −tj + yj  tj + · Nn i=1,i=j ti   = ??? 18 / 60
  • 20. Дифференцирование перекрестной энтропии, #8 ∂E ∂zj = Nn i=1 ∂E ∂yi · ∂yi ∂zj ∂E ∂yi · ∂yi ∂zj = −tj (1−yj ),i=j yj ti ,i=j ∂E ∂zj = −tj (1 − yj ) + Nn i=1,i=j yj ti = −tj + tj yj + yj · Nn i=1,i=j ti = −tj + yj  tj + · Nn i=1,i=j ti   = yj − tj 19 / 60
  • 22. Обучение без учителя When we’re learning to see, nobody’s telling us what the right answers are — we just look. Every so often, your mother says “that’s a dog”, but that’s very little information. You’d be lucky if you got a few bits of information — even one bit per second — that way. The brain’s visual system has 1014 neural connections. And you only live for 109 seconds. So it’s no use learning one bit per second. You need more like 105 bits per second. And there’s only one place you can get that much information: from the input itself.3 3Geoffrey Hinton, 1996 (quoted in (Gorder 2006)) 21 / 60
  • 23. Статистическая механика, #1 Представим некоторую физическую систему с множеством степеней свободы, которая может находится в одном из множества состояний с некоторой вероятностью, а каждому такому состоянию состоянию соответствует некоторая энергия всей системы: pi ≥ 0 - вероятность состояния i i pi = 1 Ei - энергия системы в состоянии i Тогда вероятность состояния i будет описываться распределением Больцмана-Гиббса, при условии термодинамического равновесия между системой и окружающей средой: pi = 1 Z exp − Ei kB · T (3) где T - абсолютная температура (К) kB - константа Больцмана (Дж/К) Z = i exp − Ei kB ·T - нормализирующая константа (partition function, Zustadsumme, статсумма) 22 / 60
  • 24. Статистическая механика, #2 Два важных вывода: 1. состояния с низкой энергией имеют больше шансов возникнуть чем состояния с высокой энергией; 2. при понижении температуры, чаще всего будут возникать состояния из небольшого подмножества состояний с низкой энергией. 23 / 60
  • 25. Нейросеть Хопфилда обратная связь пороговая функция активации Такая сеть (рекуррентная нейронная сеть) может находится как в стабильном состоянии, осциллировать, или даже проявлять признаки детерминированного хаоса. Хопфилд показал, что при симметричной матрице весов, существует такая функция энергии бинарных состояний системы, что при симуляции система эволюционирует в одно из низко-энергетических состояний. 24 / 60
  • 26. Нейросеть Хопфилда, энергия системы, #1 E = − i si bi − i<j si sj wij (4) si - состояние нейрона i bi - смещение нейрона i wij - вес между нейроном i и j Рис.: Поверхность описываемая энергией сети Хопфилда 25 / 60
  • 27. Нейросеть Хопфилда, энергия системы, #2 Рис.: Поверхность описываемая энергией сети Хопфилда, два стабильных состояния4 4Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin 26 / 60
  • 28. Нейросеть Хопфилда, как ассоциативная память a - нет образов в памяти b - два образа далеко друг от друга c - два образа накладываются друг на друга Вместимость 0.15 · N на N нейронов. 27 / 60
  • 29. Нейросеть Хопфилда, алгоритм обучения Обучение сети Хопфилда происходит в один прогон по множеству данных по следующему правилу: ∆wij = 1 n n i=1 si sj , ∀k : sk ∈ {−1, 1} (5) Это в точности первое правило Хебба: если два нейрона по разные стороны от синапсов активируются синхронно, то "вес"синапса слегка возрастает 28 / 60
  • 30. Машина Больцмана - стохастический генеративный вариант сети Хопфилда энергия не изменилась: E = − i si bi − i<j si sj wij симметричная матрица весов wij = wji , но нет обратных связей: wii = 0 появились скрытые состояния (система ищет такую конфигурацию скрытых состояний которая лучшим образом описывает видимые состояния) ∀i : si ∈ {0, 1} стохастический нейрон 29 / 60
  • 33. Имитация отжига, идея, #2 Рис.: Влияние температуры на вероятности переходов5 SimulatedAnnealing.gif 5https://class.coursera.org/neuralnets-2012-001/lecture 32 / 60
  • 34. Имитация отжига ∆Ei = bi + j wij sj pi = 1 Z exp − Ei kB ·T pi=1 pi=0 = exp − Ei=0 − Ei=1 kB T = exp ∆Ei kB T ⇒ ∆Ei T = ln(pi=1) − ln(pi=0) = ln(pi=1) − ln(1 − pi=1) = ln pi=1 1 − pi=1 ⇒ − ∆Ei T = ln 1 − pi=1 pi=1 = ln 1 pi=1 − 1 ⇒ exp − ∆Ei T = 1 pi=1 − 1 ⇒ pi=1 = 1 1 + exp −∆Ei T 33 / 60
  • 35. Машина Больцмана - выводы Теоретически такая модель может все (как обычно в нейросетях), но время требуемое для обучения такой модели экспоненциально зависит от размера машины по этой же причине нет возможности вычислить Z так же приходится использовать семплирование Гиббса6 , в связи с топологией сети (почему?) 6Семплирование по Гиббсу не требуется явно выраженное совместное распределение, а нужны лишь условные вероятности для каждой переменной, входящей в распределение. Алгоритм на каждом шаге берет одну случайную величину и выбирает ее значение при условии фиксированных остальных. Можно показать, что последовательность получаемых значений образуют возвратную цепь Маркова, устойчивое распределение которой является как раз искомым совместным распределением. 34 / 60
  • 36. Ограниченная машина Больцмана убираем температуру вводим ограничение на топологию 35 / 60
  • 37. Виды RBM В зависимости от априрного распределения ассоциированного с видимым и скрытым слоями, различают несколько видов RBM: Bernoulli-Bernoulli (binary-binary) Gaussian-Bernoulli Gaussian-Gaussian Poisson-Bernoulli и т.д. Бинарные (Bernoulli-Bernoulli, binary-binary) RBM играют важную роль в глубоком обучении, по аналогии с выводом алгоритма обучения для бинарной ограниченной машины Больцмана, можно вывести аналогичные правила для остальных типов моделей. 36 / 60
  • 38. RBM, обозначения D = {xi }i=1...N - множество данных; v, h - значения видимых и скрытых нейронов; a, b, W - смещения видимых и скрытых нейронов, и матрица весов; n, m - количество видимых и скрытых нейронов; E(v, h) = − n i=1 ai vi − m j=1 bj hj − n i=1 m j=1 wij vi hj = −vT a − hT b − vT W b p(v, h) = 1 Z e−E(v,h) Z = N r M t e−E(v(r) ,h(t) ) P(v) = M t P(v, h(t) ) = 1 Z M t e−E(v,h(t) ) Далее значки вектора x будут опускаться для простоты. 37 / 60
  • 39. RBM, функция активации Аналогично обычной машине Больцмана, рассмотрим только для скрытого слоя: P(hk = 1|v) = e−E1 e−E1 + e−E0 = 1 1 + eE1−E0 = 1 1 + e−bk − n i vi wik = σ bk + n i=1 vi wik Вопрос: P(h|v) = ??? 38 / 60
  • 40. RBM, независимость P(h|v) = m j=1 P(hj |v) P(v|h) = n i=1 P(vi |h) 39 / 60
  • 41. RBM, целевая функция E(v, h) = − n i=1 ai vi − m j=1 bj hj − n i=1 m j=1 wij vi hj (6) P(v) = 1 Z M t e−E(v,h(t) ) (7) максимизировать вероятность данных при заданной генеративной модели что будем делать? 40 / 60
  • 42. RBM, дифференцирование P(v), #1 E(v, h) = − n i=1 ai vi − m j=1 bj hj − n i=1 m j=1 wij vi hj ∂E(v, h) ∂wij = ? ∂E(v, h) ∂ai = ? ∂E(v, h) ∂bj = ? ∂e−E(v,h) ∂wij = ? ∂e−E(v,h) ∂ai = ? ∂e−E(v,h) ∂bj = ? 41 / 60
  • 43. RBM, дифференцирование P(v), #2 E(v, h) = − n i=1 ai vi − m j=1 bj hj − n i=1 m j=1 wij vi hj ∂E(v, h) ∂wij = −vi hj ∂E(v, h) ∂ai = −vi ∂E(v, h) ∂bj = −hj ∂e−E(v,h) ∂wij = vi hj e−E(v,h) ∂e−E(v,h) ∂ai = vi e−E(v,h) ∂e−E(v,h) ∂bj = hj e−E(v,h) 42 / 60
  • 44. RBM, дифференцирование P(v), #3 Z = N r M t e−E(v(r) ,h(t) ) ∂Z ∂wij = ? ∂Z ∂ai = ? ∂Z ∂bj = ? 43 / 60
  • 45. RBM, дифференцирование P(v), #4 Z = N r M t e−E(v(r) ,h(t) ) ∂Z ∂wij = N r M t v (r) i h (t) j e−E(v(r) ,h(t) ) ∂Z ∂ai = N r M t v (r) i e−E(v(r) ,h(t) ) ∂Z ∂bj = N r M t h (t) j e−E(v(r) ,h(t) ) 44 / 60
  • 46. RBM, дифференцирование P(v), #5 ∂P v(k) ∂wij = 1 Z2 Z M t v (k) i h (k) j e−E(v(r) ,h(t) ) − M t e−E(v(r) ,h(t) ) N r M t v (r) i h (t) j e−E(v(r) ,h(t) ) ∂ ln P v(k) ∂wij = 1 P v(k) ∂P v(k) ∂wij 45 / 60
  • 47. RBM, дифференцирование P(v), #6 ∂ ln P v(k) ∂wij = v (k) i M t h (t) j P h(t) |v(k) − N r M t v (r) i h (t) j P h(t) , v(k) = ??? 46 / 60
  • 48. RBM, дифференцирование P(v), #7 ∂ ln P v(k) ∂wij = M t v (k) i h (t) j P h(t) |v(k) − N r M t v (r) i h (t) j P h(t) , v(k) = M v (k) i hj data − M [vi hj ]model ∂ ln P v(k) ∂ai = v (k) i − M [vi ]model ∂ ln P v(k) ∂bj = M [hj ]data − M [hj ]model 47 / 60
  • 49. RBM, правила обновления ∆wij = η M v (k) i hj data − M [vi hj ]model ∆ai = η v (k) i − M [vi ]model ∆bj = η M [hj ]data − M [hj ]model 48 / 60
  • 50. Алгоритм Contrastive Divergence Цель: собрать достаточную статистику для оценки M[· · · ]data и M[· · · ]model Рис.: Процесс сбора достаточной статистики7 ∆wij = η M v (k) i hj (0) − M [vi hj ] (∞) M [· · · ] (0) - позитивная фаза M [· · · ] (∞) - негативная фаза 7https://class.coursera.org/neuralnets-2012-001/lecture 49 / 60
  • 51. Практические советы не семплировать видимый слой (семплирование замедляет сходимость, но математически это более корректно); не семплировать значения скрытого слоя при выводе из восстановленного образа; CD-k, уже при k = 1 качество не сильно уступает большим значениям, но выигрыш в скорости значительный; размер минибатча 10-100 экземпляров (почему?); кроссвалидаци восстановленных образов; использование момента сказывается крайне положительно на скорости сходимости; http://www.cs.toronto.edu/ hinton/absps/guideTR.pdf 50 / 60
  • 54. Визуализация признаков, #2 Рис.: Признаки на множестве рукописных цифр MNIST8 8http://deeplearning.net/ 53 / 60
  • 56. Визуализация признаков, #4 Рис.: RBM как базис9 9http://cs.stanford.edu/ 55 / 60
  • 57. Регуляризация в RBM, #1 (a) RBM, no reg (b) RBM, L2 reg Рис.: Иллюстрация эффекта регуляризации 56 / 60
  • 58. Регуляризация в RBM, #2 (a) RBM, L2 reg (b) RBM, L1 reg Рис.: Иллюстрация эффекта регуляризации 57 / 60
  • 60. Что дальше? Рис.: Глубокая нейронная сеть10 10Из предентации Scale Deep Learning, Jeff Dean 59 / 60