Байесовская нейронная сеть теперь апельсиновая часть 2 Хабрахабр. Как вы думаете, чего в апельсине больше кожуры, или, хм, апельсина Предлагаю, если есть возможность, пойти на кухню, взять апельсин, очистить и проверить. Если лень или нет под рукой воспользуемся скучной математикой объем шара мы помним из школы. Пусть, скажем, толщина кожуры равна от радиуса, тогда, вычтем одно из другого, поделим объем кожуры на объем апельсина. PNG' alt='D Модели Апельсин' title='D Модели Апельсин' />Не так уж мало, кстати. Как насчет апельсина в тысячемерном пространстве Пойти на кухню на этот раз не получится подозреваю, что формулу наизусть тоже не все знают, но Википедия нам в помощь. Повторяем аналогичные вычисления, и с интересом обнаруживаем, что во первых, в тысячемерном гиперапельсине кожуры больше, чем мякотиа во вторых, ее больше примерно в 2. Как вы думаете, чего в апельсине больше кожуры, или, хм, апельсина Грааль апостериорную вероятность параметров модели. У моделей B и B ценник подскочил уже до 35, но и по функциональности они были самыми продвинутыми. В конце прошлого. XxpOn4sI-w/SwcOGZyIpfI/AAAAAAAAAmk/2s_kPIH8w28/s640/prochie_nami_0290_apelsin-1_1.jpg' alt='D Модели Апельсин' title='D Модели Апельсин' />То есть, каким бы странным и противоречивым это ни казалось, но почти весь объем гиперапельсина содержится в ничтожно тонком слое прямо под его поверхностью. Начнем с этого, пожалуй. Синопсис. Это вторая часть поста, где перед этим мы остановились на том, что нашли главный Грааль апостериорную вероятность параметров модели. Вот она, еще раз, на всякий случай. Вспомним еще раз, что это параметры модели веса нейронной сети, например, а данные из датасета я немного изменил нотацию, раньше вместо была, но тета нам понадобится попозже. Так вот, апельсин это как раз оно. Размеры этого posterior растут с такой же угрожающей быстротой, как и объем гиперапельсина чем больше у нас параметров, тем объемней становится распределение. На самом деле, наверное, лучше представить даже не апельсин давайте представим гору. В тысячемерном измерении. Да, я знаю, что это слегка непоследовательно, но энивей вот, гора Эта всего в одномерном, правда. По заветам Хинтона, представить себе тысячемерную гору можно так посмотреть на картинку выше и громко сказать тысяча или сколько там понадобится. Kx A143rub Инструкция подробнее. Наш челлендж это выяснить объем этой горы. При этом мы не знаем, какой она формы может быть какой угодно пока владеем только одним способом измерения стоя в точке, мы можем посчитать высоту до подножия вероятность нахождения в этой точке поверхность горы растет экспоненциально, когда растет аналогично тому, как растет кожура гиперапельсина. Какой план План первый сэмплинг. Нам, вообще говоря, совершенно не обязательно измерять гору прямо в каждой точке. Мы можем выбрать несколько случайных участков горы, сделать замеры и очертить по ним результат. Он будет не такой точный, зато нам придется сделать намного меньше измерений. Можно довольно быстро заметить, что это мысль напрашивающаяся, но не очень нам поможет, когда наша многомерная гора начнет расти с увеличением числа измерений. Давайте вспомним, что поверхность горы равна lt числу значений в одном измерении в степени lt числа измерений. Сэмплинг поможет нам уменьшить основание степени но показатель никуда не денется, и проблема все еще остается экспоненциальной. План второй аппроксимация. Главная проблема измерения горы не в том, что она большая в плане числа измерений в конце концов, объем тысячемерного апельсина мы только что посчитали без особых затруднений по формуле из Википедии. Проблема в том, что для горы нет формулы. Мы не знаем аналитическое правило, по которому растет гора в отличие от апельсина он растет равномерно по все направлениям. Ну ладно, а что если мы построим еще одну свою гору, которая будет похожа на искомую, но на этот раз с формулой Примерно вот так Ну. Во первых, пока не очень понятно, настолько точной может быть аппроксимация на картинке она выглядит не очень то. Во вторых, мы пока не знаем, как это вообще сделать. Вот давайте для начала и разберемся. Аппроксимация Лапласа. Еще раз нарисуем нашу теорему Байеса, только немного по другому. Я просто собрал произведение двух вероятностей справа от дроби в одну так называемую совместную вероятность и еще раз напомню, что мы слегка изменили нотацию на w вместо теты. Люди часто рассматривают это в таком смысле, что наше искомое распределение, а нормализующая константа, которая нужна, чтобы результат суммировался к одному. Так что давайте временно сфокусируемся на поиске. Говорим аппроксимация, вспоминаем ряды Тейлора. В соответствии с первым курсом матанализа любая функция раскладывается на бесконечную сумму опредленных полиномов. Запишем нашу функцию как, а раскладывать будем в некой точке, которая совпадает с максимумом распределения мы не знаем, где оно, но это пока не важно. И заодно отпилим бесконечную сумму после слагаемого со степенью два. Тейлора из википедииТеперь вспоминаем, что мы выбрали как точку максимума, а значит, производная в ней равна нулю. То есть второе слагаемое можно с чистой совестью выкинуть. Получаем. Ничего не напоминает На самом деле у этой штуки такая же форма, как у логарифма от гауссиана. Чтобы это увидеть, можно записать. Чуть поменяем нотацию мы хотели выбрать, а теперь пусть будет. Тогда, и получается, что наша искомая совместная вероятность может быть аппроксимирована гауссианом с центром в точке максимума и стандартным отклонением обратная вторая производная в точке максимума или кривизна. Если это было слишком много непонятных символов для одного раздела, просуммируем идею в трех коротких пунктах. Итак, если мы хотим найти наш объем горы, нам нужно найти точку максимума измерить в ней кривизну посчитать вторую производную только внимание производную по, а не взять нормальную кривую с центром в точке максимума и стандартным отклонением отрицательно обратным к кривизне. Искать точку максимума горы мы умеем и это гораздо легче, чем измерять ее всю. Собственно, а давайте применим магию к той же байесовской регрессии, с которой мы возились в прошлом посте Точку максимума мы искали в конце прошлого поста это центр байесовского пучка, самая горячая линия и т. Я, на всякий случай, еще раз приведу, как ее найти, но спрячу под спойлер, чтобы не пугать людей формулами Заголовок спойлера. Тут первая часть под аргмаксом это likelihood, а вторая гауссовский prior. Произведение превратили в сумму, взяв логарифм, как обычно. Получаем вот такую симпатичную картинку И между прочим, каждая кривая тут полином 1. Старая брутфорсная байесовская регрессия бы давно уже откинулась полежать на несколько лет компьютерного времени там я кое как выжимал пятую степень. Аппроксимация Лапласа всем хороша быстро, удобно, красиво но одно плохо она оценивается по точке максимума. Это как судить по всей горе, глядя на нее с вершины при том, что мы не знаем, реально ли мы на вершине или застряли в локальном максимуме, и при том, что видно оттуда далеко не все вдруг у нас на вершине все очень плоско и красиво, а под ней три километра сплошного обрыва. В общем, придумали ее для нейронных сетей, как можно догадаться, не во времена Лапласа, а вовсе даже в 1. Так что давайте посмотрим на что нибудь более модное и красивое. Bayes by backprop начало. Наконец мы добрались до того самого метода из заглавной статьи Deep. Mind. Авторы назвали его Bayes by backprop удачи с переводом на русский язык, ага. Обратное байесораспространениеОтправная точка здесь такая представим, что у нас какая то аппроксимация вот где нам пригодился символ теты это будут наши параметры аппроксимационного распределения, и пусть она будет какой нибудь простой формы, тоже Гауссовой, скажем. Трюк вот в чем попробуем записать выражение какой нибудь дистанции от нашей аппроксимации до оригинальной горы, и минимизировать эту дистанцию. Поскольку обе величины распределения вероятностей, заюзаем штуку, которую специально придумали для сравнения распределений расстояние Кульбака Лейблера. На самом деле это только звучит слегка страшно, а так это просто вот что. Если внимательно посмореть на интеграл, то становится понятно, что он выглядит как матожидание под интегралом какая то штука, умноженная на, а интеграл взят по. Тогда можно записать его так.