Поняв все основы, мы можем приступить к применению их к глубокому обучению. Если вы не можете выполнить мои шаги здесь, вернитесь к моим предыдущим сообщениям или прокомментируйте это, и я отвечу вам. У нас будут несколько примеров, вопросы и аккуратная графика, так что это не будет слишком сухо.

Мы не будем объяснять, что такое глубокое обучение или нейронные сети, но если вы не чувствуете, что у вас есть четкое понимание, прочитайте Пост Шридхара в качестве введения или посетите Курс Эндрю Нг для получения более подробной информации.

Сама основа вероятностного глубокого обучения заключается в понимании нейронной сети как условной модели p, которая параметризуется параметрами или весами θ сети и выводится y , когда задан некоторый ввод x. Математически это можно записать следующим образом:

Пример:
Мы загружаем в сеть изображение красной Tesla Model S, и она показывает «красную машину».

Вопрос: Предположим, у нас есть десять возможных выходных классов, можете ли вы угадать, какое из распределений вероятностей, представленных в Основах 2, является тем, которое будет иметь тогда наша модель p?
Ответ дан внизу этой страницы.

Но как получить этот результат y? Как определяется вышеупомянутое распределение вероятностей p?

Для изучения этого p используется теорема Байеса, и мы пересмотрим ее здесь. Как и в моем предыдущем посте, общая формула выглядит так:

Интересующее распределение вероятностей - это распределение p параметров θ после просмотра данных D. p (D | θ) - вероятность появления данных D для модели с параметрами θ, p (θ) предыдущее и p (D) распределение данных . Включение априорной веры в исследование апостериорного состояния - центральная характеристика байесовского мышления. Таким образом, этот приоритет часто называют знанием предметной области.

Давайте пока назовем нейронную сеть с ее параметрами θ моделью. Поскольку модель - это не что иное, как набор предположений, мы можем рассматривать параметры θ модели как гипотезу лежащей в основе истинной функции, которая всегда давала бы нам правильный выход для любого заданного входа. Это эквивалентно 100% точности, и мы хотим узнать параметры θ, чтобы максимально приблизиться к этим 100%. Мы можем записать это как:

Наше намерение состоит в том, чтобы оценить гипотезу на основе данных, т. Е. Мы вычисляем апостериорное распределение вероятностей p (гипотеза | данные), оценивая вероятность того, что оно дает данные на основе гипотезы, т. Е. Вероятность р (данные | гипотеза); мы умножаем его на априорное убеждение p (гипотеза) и нормализуем его распределением данных p (данные). Насколько хорошо гипотеза представляет данные, является решающим аспектом, поскольку ее можно интерпретировать как степень соответствия модели данным и, следовательно, является наиболее распространенной целью любой вероятностной модели.

Байесовский вывод

Построенный на этом, байесовский вывод позволяет, в качестве второго примера, предсказать результат y * для новой точки данных x * путем интегрирования по всем параметрам θ , как в

К сожалению, сейчас мы должны иметь дело с интегралом, и, как вы понимаете, вычисление этого интеграла может занять годы из-за очень сложной формы распределения вероятностей p. В таких случаях мы говорим о неразрешимости и должны найти подходящие методы аппроксимации.

Байесовский метод Backprop

Бланделл и др. (2015) представили Bayes by Backprop, который, скорее всего, через некоторое время станет прорывом в вероятностном глубоком обучении. Он символизирует практическое решение вопроса о том, как проблема вышеупомянутой неразрешимости может быть адекватно решена.

Наш последующий процесс подкреплен предложениями Грейвса (2011) и Хинтона и Ван Кэмпа (1993), основанными на скорости вычислений, использовать вариационную, а не схему Монте-Карло, чтобы найти приблизительное байесовское апостериорное распределение. Прежде всего, это означает, что мы определяем упрощенное приближенное распределение q с его вариационными параметрами θ, которое должно быть максимально похоже на лежащее в основе истинное распределение p, которое может быть введено:

Это достигается за счет минимизации расхождения Кульбака-Лейблера (KL) между p и q, что можно рассматривать как проблему оптимизации:

Хорошо объясняющая графическая интуиция для этой процедуры дана Graves (2011):

Итак, давайте теперь рассмотрим KL-дивергенцию и то, как она определяется:

И тут мы сталкиваемся с другой жалостью: у нас есть еще один интеграл, и это символизирует еще одну несговорчивость. Итак, что теперь делать? Снова приближаемся. Мы уже аппроксимировали базовое истинное распределение p с помощью вариационного распределения q и знаем, что всегда можем сделать выборку, то есть использовать методы Монте-Карло, из любого трудноразрешимого распределения. Итак, почему мы не делаем выборку из вариационного распределения q, когда видим крошечные кусочки истинного распределения p, что происходит, когда мы видим данные? Этот точный шаг является квинтэссенцией Байеса от Backprop: сначала мы аппроксимируем лежащее в основе истинное распределение p с приблизительным распределением q, форма которого представлена по параметрам θ, которые можно изучить, и второй выборке из этого q при просмотре данных.

Следовательно, мы приходим к управляемой целевой функции:

Уловка локальной репарамеризации

Еще раз вспомним, что мы хотим реализовать описанную выше процедуру в нейронной сети, и поэтому должны вычислять производные от обучаемых параметров, то есть для нас производные от распределений. Для этого используется трюк с локальной репараметризацией (Kingma et al., 2015), который «перемещает» изучаемые параметры, а именно среднее значение µ и стандартное отклонение σ в случае гауссова распределения вне функции распределения для любого веса w. Мы определяем это ϵ как образец стандартного распределения Гаусса, умножаем его на стандартное отклонение σ и добавляем среднее значение µ.

Таким образом, мы включаем эти два интересующих параметра в каждое значение веса и можем вычислить его производную и переписать в распределение вероятностей.

Затем наши параметры обновляются, то есть изучаются, в соответствии с:

____

Это все, что вам нужно знать, чтобы применить теорему Байеса к любой глубокой нейронной сети. Байесовский метод Backprop изначально применялся только к нейронной сети с прямой связью, но в дальнейшей работе был также реализован в рекуррентной и сверточной нейронной сети Фортунато и др. (2017) и мной и коллегами из Shridhar et al. (2018) соответственно.

NeuralSpace планирует использовать Bayes by Backprop в своих будущих продуктах. Ознакомьтесь с его последними новостями или попробуйте его демонстрации существующих продуктов.

использованная литература

Бланделл, К., Корнебис, Дж., Кавукчуоглу, К., и Виерстра, Д. (2015). Неопределенность веса в нейронных сетях. Препринт arXiv arXiv: 1505.05424.

Фортунато М., Бланделл К. и Виньялс О. (2017). Байесовские рекуррентные нейронные сети. Препринт arXiv arXiv: 1704.02798.

Грейвс, А. (2011). Практический вариационный вывод для нейронных сетей. В книге Достижения в области нейронных систем обработки информации (стр. 2348–2356).

Хинтон, Г. Э., и Ван Кэмп, Д. (1993). Сохранение простоты нейронных сетей за счет минимизации длины описания весов. В Труды шестой ежегодной конференции по теории вычислительного обучения (стр. 5–13). ACM.

Кингма, Д. П., Салиманс, Т., и Веллинг, М. (2015). Вариационный отсев и трюк с локальной репараметризацией. В книге Достижения в системах обработки нейронной информации (стр. 2575–2583).

Шридхар К., Лауманн Ф., Ллопарт Маурин А., Олсен М., Ливицки М. (2018). Байесовские сверточные нейронные сети с вариационным выводом. Препринт arXiv arXiv: 1806.05978

Ответ: категориальное распределение

Особая благодарность Кумару Шридхару и Джесперу Велерту за их ценные комментарии. Следуйте за ними обоими, они делают феноменальную работу!