Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №12 "Ограниченная машина Больцмана"
Лектор - Павел Нестеров
Нейросетейвой автоэнкодер. Стохастические и рекурентные нейронные сети. Машина Больцмана и ограниченная машина Больцмана. Распределение Гиббса. Алгоритм contrastive divergence для обучения РБМ. Сэмплирование данных из РБМ. Бинарная РБМ и гауссово-бинарная РБМ. Влияние регуляризации, нелинейное сжатие размерности, извлечение признаков. Semantic hashing.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №8 "Методы снижения размерности пространства" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №8 "Методы снижения размерности пространства"
Лектор - Владимир Гулин
Проблема проклятия размерности. Отбор и выделение признаков. Методы выделения признаков (feature extraction). Метод главных компонент (PCA). Метод независимых компонент (ICA). Методы основанные на автоэнкодерах. Методы отбора признаков (feature selection). Методы основанные на взаимной корреляции признаков. Метод максимальной релевантность и минимальной избыточности (mRMR). Методы основанные на деревьях решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №10 "Алгоритмические композиции. Завершение" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №10 "Алгоритмические композиции. Завершение"
Лектор - Владимир Гулин
Ключевые идеи бустинга. Отличия бустинга и бэггинга. Алгорим AdaBoost. Градиентный бустинг. Мета-алгоритмы над алгоритмическими композициями. Алгоритм BagBoo.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №9 "Алгоритмические композиции. Начало"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №9 "Алгоритмические композиции. Начало"
Лектор - Владимир Гулин
Комбинации классификаторов. Модельные деревья решений. Смесь экспертов. Stacking. Стохастические методы построения ансамблей классификаторов. Bagging. RSM. Алгоритм RandomForest.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лектор - Николай Анохин
Постановка задачи кластеризации. Функции расстояния. Критерии качества кластеризации. EM-алгоритм. K-means и модификации.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №5 "Обработка текстов, Naive Bayes"
Лектор - Николай Анохин
Условная вероятность и теорема Байеса. Нормальное распределение. Naive Bayes: multinomial, binomial, gaussian. Сглаживание. Генеративная модель NB и байесовский вывод. Графические модели.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №7 "Машина опорных векторов" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №7 "Машина опорных векторов"
Лектор - Николай Анохин
Разделяющая поверхность с максимальным зазором. Формулировка задачи оптимизации для случаев линейно-разделимых и линейно-неразделимых классов. Сопряженная задача. Опорные векторы. KKT-условия. SVM для задач классификации и регрессии. Kernel trick. Теорема Мерсера. Примеры функций ядра.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №4 "Задача классификации"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №4 "Задача классификации"
Лектор - Николай Анохин
Постановка задач классификации и регрессии. Теория принятия решений. Виды моделей. Примеры функций потерь. Переобучение. Метрики качества классификации. MDL. Решающие деревья. Алгоритм CART.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №6 "Линейные модели для классификации и регрессии"
Лектор - Николай Анохин
Обобщенные линейные модели. Постановка задачи оптимизации. Примеры критериев. Градиентный спуск. Регуляризация. Метод Maximum Likelihood. Логистическая регрессия.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №11 "Основы нейронных сетей" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №11 "Основы нейронных сетей"
Лектор - Павел Нестеров
Биологический нейрон и нейронные сети. Искусственный нейрон Маккалока-Питтса и искусственная нейронная сеть. Персептрон Розенблатта и Румельхарта. Алгоритм обратного распространения ошибки. Момент обучения, регуляризация в нейросети, локальная скорость обучения, softmax слой. Различные режимы обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №3 "Различные алгоритмы кластеризации"
Лектор - Николай Анохин
Иерархическая кластеризация. Agglomerative и Divisive алгоритмы. Различные виды расстояний между кластерами. Stepwise-optimal алгоритм. Случай неэвклидовых пространств. Критерии выбора количества кластеров: rand, silhouette. DBSCAN.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №13 "Глубокие нейронные сети" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №13 "Глубокие нейронные сети"
Лектор - Павел Нестеров
Трудности обучения многослойного персептрона. Предобучение используя РБМ. Глубокий автоэнкодер, глубокая многослойная нейросеть. Deep belief network и deep Boltzmann machine. Устройство человеческого глаза и зрительной коры головного мозга. Сверточные сети.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №1 "Задачи Data Mining" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №1 "Задачи Data Mining"
Лектор - Николай Анохин
Обзор задач Data Mining. Стандартизация подхода к решению задач Data Mining. Процесс CRISP-DM. Виды данных. Кластеризация, классификация, регрессия. Понятие модели и алгоритма обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Сверточные нейронные сетиIvan KavalerovОсновы машинного обучения, базовые понятия (например переобучение и способы его предотвращения), различные архитектуры сетей, и, в частности, сверточные сети. Так же рассмотрены методы оптимизации вычислений в подобных архитектурах: quantization, binary-net и другие.
Метод искусственной пчелиной колонии, алгоритм пчёлKirill NetrebaA new population-based search algorithm called the Bees Algorithm (BA) is presented. The algorithm mimics the food foraging behaviour of swarms of honey bees. In its basic version, the algorithm performs a kind of neighbourhood search combined with random search and can be used for both combinatorial optimisation and functional optimisation.
Лекция №11 "Основы нейронных сетей" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №11 "Основы нейронных сетей"
Лектор - Павел Нестеров
Биологический нейрон и нейронные сети. Искусственный нейрон Маккалока-Питтса и искусственная нейронная сеть. Персептрон Розенблатта и Румельхарта. Алгоритм обратного распространения ошибки. Момент обучения, регуляризация в нейросети, локальная скорость обучения, softmax слой. Различные режимы обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №3 "Различные алгоритмы кластеризации"
Лектор - Николай Анохин
Иерархическая кластеризация. Agglomerative и Divisive алгоритмы. Различные виды расстояний между кластерами. Stepwise-optimal алгоритм. Случай неэвклидовых пространств. Критерии выбора количества кластеров: rand, silhouette. DBSCAN.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №13 "Глубокие нейронные сети" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №13 "Глубокие нейронные сети"
Лектор - Павел Нестеров
Трудности обучения многослойного персептрона. Предобучение используя РБМ. Глубокий автоэнкодер, глубокая многослойная нейросеть. Deep belief network и deep Boltzmann machine. Устройство человеческого глаза и зрительной коры головного мозга. Сверточные сети.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №1 "Задачи Data Mining" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №1 "Задачи Data Mining"
Лектор - Николай Анохин
Обзор задач Data Mining. Стандартизация подхода к решению задач Data Mining. Процесс CRISP-DM. Виды данных. Кластеризация, классификация, регрессия. Понятие модели и алгоритма обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Сверточные нейронные сетиIvan KavalerovОсновы машинного обучения, базовые понятия (например переобучение и способы его предотвращения), различные архитектуры сетей, и, в частности, сверточные сети. Так же рассмотрены методы оптимизации вычислений в подобных архитектурах: quantization, binary-net и другие.
Метод искусственной пчелиной колонии, алгоритм пчёлKirill NetrebaA new population-based search algorithm called the Bees Algorithm (BA) is presented. The algorithm mimics the food foraging behaviour of swarms of honey bees. In its basic version, the algorithm performs a kind of neighbourhood search combined with random search and can be used for both combinatorial optimisation and functional optimisation.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.Anton KonushinКурс "Введение в компьютерное зрение", читаемый на
ВМК МГУ имени М.В. Ломоносова в весеннем семестре 2015 года. Лектор - Конушин Антон.
Задача выделения объекта на изображении: хаотично-фазовая синхронизация и аси...Semen MartynovПрименение осцилляторных нейронных сетей позволяет выделить все объекты на фотоснимке (путём группировки осцилляторов по частоте синхронизации) и переключать внимание между ними. Известны и более простые способы выделения объекта, однако данный метод максимально близко моделирует процесс распознавания, который происходит в человеческом мозгу.
Методы машинного обучения в физике элементарных частицAndrey Ustyuzhaninрассмотрим основные этапы обработки данных физики высоких энергий на примере одного из экспериментов Большого Адронного Коллайдера — LHCb; мы увидим насколько похожими оказываются решения отдельных задач LHCb на решения, используемые в Яндексе.
Предлагаемый угол зрения на проблемы физики элементарных частиц позволяет увидеть возможности, открывающиеся от взаимного расширения спектра методов и технологий, а также возможность проведении междисциплинарных исследований, способных усилить каждую из этих областей.
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Positive Hack DaysАлгоритмы решения задачи о
булевой выполнимости (SAT)
и их применение в
криптоанализе
Мастер-класс: Особенности создания продукта для мобильного вебTechnosphere114.05.14
Мастер-класс: Особенности создания продукта для мобильного веб
Спикер: Александр Лысков
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
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
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
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
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
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