Я хотел бы предложить, чтобы вы сначала получили хорошее представление о том, что лежит в основе вероятностной модели в традиционной байесовской нейронной сети. Далее некоторые термины будут написаны жирным шрифтом . Пожалуйста, попробуйте найти эти термины, чтобы найти более подробную информацию. Это просто базовый обзор. Я надеюсь, что это помогает.
Давайте рассмотрим случай регрессии в нейронных сетях с прямой связью и установим некоторые обозначения.
Пусть обозначают значения предикторов на входном слое , Значения единиц во внутренних слоях будут обозначаться как для . Наконец, у нас есть выходной слой .( z ( ℓ ) 1 , … , z ( ℓ ) N ℓ ) ℓ = 1 , … , L - 1 ( у 1 , … , у к )(x1,…,xp)=:(z(0)1,…,z(0)N0)(z(ℓ)1,…,z(ℓ)Nℓ)ℓ = 1 , … , L - 1 ( у1, ... , уК) = : ( z( Л )1, … , Z( Л )NL)
Эти веса и смещения узла в слое будем обозначать через и , соответственно, для , и .ℓ w ( ℓ ) i j b ( ℓ ) i ℓ = 1 , … , L i = 1 … , N ℓ j = 1 , … , N ℓ - 1яℓвес( ℓ )я жб( ℓ )яℓ = 1 , … , Lя = 1 … , Nℓj=1,…,Nℓ−1
Пусть будет функцией активации для модуля на слое , для и . i ℓ ℓ = 1 , … , L i = 1 … , N ℓg(ℓ)i:RNℓ−1→Riℓℓ=1,…,Li=1…,Nℓ
Обычно используемые функции активации - логистика , ReLU (также известная как положительная часть ) и tanh .
Теперь, для , определите функции перехода слоя
в котором
для .G ( ℓ ) : R N ℓ - 1 → R N ℓ : ( z ( ℓ - 1 ) 1 , … , z ( ℓ - 1 ) N ℓ - 1 ) ↦ ( z ( ℓ ) 1 , … , z ( ℓ ) N ℓ )ℓ = 1 , … , L
грамм( ℓ ): RNℓ - 1→ RNℓ: ( z( ℓ - 1 )1, … , Z( ℓ - 1 )Nℓ - 1) ↦ ( z( ℓ )1, … , Z( ℓ )Nℓ) ,
Z( ℓ )я= г( ℓ )я( ∑J = 1Nℓ - 1вес( ℓ )я жZ( ℓ - 1 )J+ б( ℓ )я) ,
я = 1 , … , Nℓ
Обозначим множество весов и смещений всех единиц во всех слоях через , то есть
наша нейронная сеть семейство функций полученное композицией функций перехода слоя:
θ
θ = { ш( ℓ )я ж, б( ℓ )я: ℓ = 1 , … , L;я = 1 … , Nℓ;j = 1 , … , Nℓ - 1} ,
граммθ: Rп→ RКграммθ= G( Л )∘ G( L - 1 )∘ ⋯ ∘ G( 1 ),
В приведенном выше описании нет вероятностей. Целью оригинального бизнеса нейронных сетей является подгонка функций .
«Глубокий» в Deep Learning означает существование многих внутренних слоев в рассматриваемых нейронных сетях.
Для данного обучающего набора мы стараемся свести к минимуму целевую функцию
сверх . Для некоторого вектора предикторов в тестовом наборе предсказанный ответ просто , в котором является решением нашел проблему минимизации. Золотой стандарт для этой минимизации - обратное распространение, реализованное библиотекой TensorFlow с использованием средств распараллеливания, доступных в современном графическом процессоре.{ ( хя, уя) ∈ Rп× RК: i = 1 , … , n }
Σя = 1N∥ уя- Gθ( хя) ∥2,
θИкс*граммθ^( х*)θ^(для ваших проектов, проверьте интерфейс
Keras ). Кроме того, теперь есть доступное оборудование, инкапсулирующее эти задачи (
TPU ). Поскольку нейронная сеть в целом более параметрироваться, чтобы избежать переобучения некоторой формы регуляризации добавляется в рецепт, например , суммирование
хребта , как штраф целевой функции, или с использованием
отсева в процессе обучения.
Джеффри Хинтон (aka Deep Learning Godfather) и соавторы изобрели многие из этих вещей. Истории успеха глубокого обучения есть везде.
Вероятности были введены в картину в конце 80-х и начале 90-х годов с предложением вероятности Гаусса
и простой (возможно, упрощенный) гауссовский априор, предполагающий априорную независимость всех весов и смещений в сети:
Lх , у( θ , σ2) ∝ σ- нехр( - 12 σ2Σя = 1N∥ уя- Gθ( хя) ∥2) ,
π( θ , σ2) ∝ exp( - 12 σ20Σℓ = 1LΣя = 1Nℓ( ( б( ℓ )я)2+ ∑J = 1Nℓ - 1( ш( ℓ )я ж)2) ) ×π( σ2) .
Следовательно, маргинальные априоры для весов и смещений - это нормальные распределения с нулевым средним и общей дисперсией . Эту оригинальную модель соединения можно сделать гораздо более сложной, с компромиссом, заключающимся в усложнении вывода.σ20
Байесовское глубокое обучение сталкивается с трудной задачей отбора проб из соответствующего апостериорного распределения. После того, как это выполнено, предсказания сделаны естественно с последующим предсказательным распределением , и неопределенности, вовлеченные в эти предсказания, полностью определены количественно. Священный Грааль в Bayesian Deep Learning - это построение эффективного и масштабируемого решения. Многие вычислительные методы были использованы в этом квесте: выборка Метрополиса-Гастингса и Гиббса , гамильтониан Монте-Карло и, совсем недавно, Вариационный вывод .
Посмотрите видео с конференций NIPS, чтобы узнать некоторые истории успеха: http://bayesiandeeplearning.org/