Лекция 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
Вопросы

Лекция №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=0w (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) ijx (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
  • 21.
  • 22.
    Обучение без учителя Whenwe’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
  • 31.
  • 32.
  • 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
  • 52.
  • 53.
  • 54.
    Визуализация признаков, #2 Рис.:Признаки на множестве рукописных цифр MNIST8 8http://deeplearning.net/ 53 / 60
  • 55.
  • 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
  • 59.
  • 60.
    Что дальше? Рис.: Глубокаянейронная сеть10 10Из предентации Scale Deep Learning, Jeff Dean 59 / 60
  • 61.