Изменения

Перейти к: навигация, поиск

Сети глубокого доверия

370 байт добавлено, 23:59, 8 января 2021
См. также
'''Сети глубокого доверия''' {{---}} это вероятностные [[Порождающие модели|генеративные модели]], которые состоят из нескольких слоев стохастических скрытых переменных. Скрытые переменные обычно имеют двоичные значения и часто называются скрытыми узлами или детекторами признаков. Два верхних слоя имеют ненаправленные, симметричные связи между ними и образуют ассоциативную память. Нижние слои действуют сверху вниз, Между оставшимися парами соседних слоёв есть только направленные соединения связи от слоя вышеверхнего к нижнему. Состояния узлов в нижнем слое представляют вектор данных.
Два наиболее значимых свойства сетей глубокого доверия:
# Существует эффективная послойная процедура для обучения нисходящих генеративных весов, которая определяет, как переменные в одном слое зависят от переменных в слое выше.# После обучения скрытых переменных в каждом слое могут быть выведены значения за один проход снизу вверх, который начинается с наблюдаемого вектора данных в нижнем слое и использует генеративные веса в обратном направлении.
Сети глубокого доверия обучаются по одному слою за раз, обрабатывая значения скрытых переменных в одном слое в тот момент, когда они выводятся из данных для обучения следующего слоя. Это эффективное, жадное обучение может сопровождаться или сочетаться с другими процедурами обучения, которые точно настраивают все веса для улучшения генеративных или дискриминационных характеристик всей сети.
== Композиция простых обучающих модулей ==
[[Файл:Rbmimage4.png |400px|thumb| right| Рис. 1 Распределение restricted Boltzmann machine]]
Глубокая сеть доверия может рассматриваться как набор простых обучающих модулей, каждый из которых представляет собой ограниченную машину Больцмана<ref>[https://ru.wikipedia.org/wiki/%D0%9E%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%91%D0%BE%D0%BB%D1%8C%D1%86%D0%BC%D0%B0%D0%BD%D0%B0 ограниченную машину Больцмана (restricted Boltzmann machine, RBM)]</ref>, которая содержит слой видимых узлов, представляющий данные, и слой скрытых узлов, которые обучаются представлению особенностей, которые захватывают более высокие порядки корреляции в данных. Ограниченные машины Больцмана могут быть сложены и обучены [[Теорема Радо-Эдмондса (жадный алгоритм)|жадным алгоритмом]], чтобы сформировать так называемые глубокие сети доверия, которые моделируют совместное распределение между наблюдаемым вектором <math>x</math> и скрытыми слоями <math>h^{k}</math> следующим образом:
<center><tex>P(x, h^1, \ldots, h^l)=\left( \prod\limits_{k = 0}^{l - 2}P(h^k|h^{k + 1}) \right) P(h^{l - 1}|h^l)</tex>,</center>
где $x=h^0$, $P(h^{k-1}|h^{k})$ {{---}} условное распределение для видимых узлов, обусловленных скрытыми узлами RBM на уровне <math>k</math>, и $P(h^{l - 1}|h^l)$ {{---}} это видимое-скрытое совместное распределение в RBM верхнего уровня. Это показано на рисунке 1.
== Реализация ==
Мы начнем с определения класса для глубокой сети доверия, который назовем DBN(Deep belief network), который будет хранить уровни многослойного перцептрона MLP (Multilayer perceptron) вместе со связанными с ними RBM. Поскольку мы используем RBM для инициализации MLP, код будет отражать эту идею, насколько это возможно. Далее будут приведены RBM, используемые для инициализации сети, и MLP, используемый для классификации.
from __future__ import print_function, division
import os
end_time = timeit.default_timer()
 
==См. также==
*[[Глубокое обучение]]
*[[Метод опорных векторов (SVM)]]
 
== Примечания ==
<references/>
==Источники информации==
#[http://deeplearning.net/tutorial/DBN.html Статья Deeplearning о применении DBN]
174
правки

Навигация