Диссертация (1137108), страница 9
Текст из файла (страница 9)
Пусть распределение q(z|x, θ) репараметризуемо, а L(x, z, θ) непрерывно дифференцируемо по z и θ. Тогда выражение (1.64) может быть подсчитано как∇θ L̄(x, θ) = ∇θEL(x, z, θ) =z∼q(z|x,θ)= E ∇θ L(x, g(ε, ν(x, θ)), θ).ε∼q(ε)(1.89)(1.90)Доказательство. По определению репараметризуемой случайной величины,Ez∼q(z|x,θ)L(x, z, θ) = E L(x, g(ε, ν(x, θ)), θ).ε∼q(ε)(1.91)Поскольку распределение q(ε), по которому берётся мат. ожидание, не зависит от параметровθ, градиент по θ можно внести под мат. ожидание, пользуясь интегральной формулой Лейбница.Репараметризация позволяет рассмотреть случайную величину как элемент графа вычислений, через который можно провести обратное распространение ошибки. Полученные стохастические оценки на градиент имеют на порядки меньшую дисперсию, чем при использованииREINFORCE. Это принципиально упрощает обучение моделей с большим числом стохастическихпеременных.Заметим, что если распределение на z факторизуется на независимые случайные величины,∏q(z|x, θ) = di=1 q(zi |x, θ), то достаточно независимо репараметризовать каждую из случайныхвеличин zi .Покажем, что одномерное нормальное распределение является репараметризуемым.
Пустьq(z|x, θ) = N (z|m(x, θ), s2 (x, θ)), z ∈ R, где вектор параметров ν(x, θ) = (m(x, θ), s(x, θ)) ∈R2 , s(x, θ) > 0. Базовым распределением можно выбрать стандартное нормальное, q(ε) =N (z|0, 1), а преобразование выполняет сдвиг и масштаб точки из стандартного нормального распределения: g(ε, ν(x, θ)) = m(x, θ)+εs(x, θ). По свойствам нормального распределения при сдвигмасштабном преобразовании распределение преобразованной случайной величины будет равноискомому.Многомерное нормальное распределение с диагональной матрицей ковариации факторизуется на независимые одномерные нормальные распределения.
Поэтому для его репараметризации достаточно репараметризовать каждую из независимых компонент. Репараметризация можетбыть выполнена и в случае многомерного нормального распределения с недиагональной матрицей ковариации, q(z|x, θ) = N (z|µ(x, θ), Σ(x, θ)), z ∈ Rd . Здесь вектор параметров ν(x, θ) =(µ(x, θ), Σ(x, θ)), µ(x, θ) ∈ Rd , Σ(x, θ) ∈ RD×D , где Σ(x, θ) ≻ 0 –– положительноопределённая матрица ковариации. Базовое распределение выберем факторизованным стандартным нормальным,∏то есть q(ε) = di=1 N (εi |0, 1).
Обозначив через Σ(x, θ) = A(x, θ)A(x, θ)T разложение Холецкого для матрицы ковариации, определим следующую функцию преобразования: g(ε, ν(x, θ)) =µ(x, θ) + A(x, θ)ε.Репараметризацию можно провести лишь для очень ограниченного класса распределений.Во-первых, данная техника неприменима к дискретным распределениям. Во-вторых, для большинства непрерывных распределений также не удаётся провести репараметризацию. Например, такие37распространённые распределения, как Бета-распределение, распределение Дирихле, распределение Стьюдента, могут быть выражены через точки, сгенерированные из Гамма-распределения сβ α α−1плотностью Gamma(z|α, β) = Γ(α)zexp(−βz), z > 0.
Однако Гамма-распределение репараметризуется лишь по параметру β, но не по параметру α:z ∼ Gamma(z|α, β)⇔ε ∼ Gamma(ε|α, 1),z=1ε.β(1.92)В последнее время были предложены методы, позволяющие провести репараметризациюширокого класса непрерывных распределений. Они основаны на комбинации трюка репараметризации с методом REINFORCE. В работе [105] предлагается вместо распределения q(ε) использовать распределение q(ε|θ), «слабо зависящее» от параметров θ.
В последующей работе [106] рассматриваются непрерывные распределения, для которых известны эффективные методы выборкис отклонением (например, Гамма-распределение), в которых предложное распределение репараметризуемо. В обоих случаях REINFORCE позволяет обеспечить несмещённость градиентов, арепараметризация обеспечивает низкую дисперсию градиентов.1.2.3 Обучение параметров дискретных распределенийВысокую актуальность имеет задача обучения графов вычислений со стохастическими дискретными переменными.
Например, таким образом можно обучать нейронные сети с дискретными величинами весов и выходами нейронов. Подобные сети крайне ресурсоэффективны [107]. Ксожалению, применение несмещённого метода REINFORCE приводит к слишком большой дисперсии градиентов для эффективного обучения практически полезных нейронных сетей.Для обучения параметров дискретной переменной методом обратного распространенияошибки требуется подсчитать производную сгенерированного значения переменной по параметрам распределения. Существует два основных подхода к этой задаче.
Первый метод, straightthrough estimator [108; 109], предлагает во время прямого распространения сети выполнять генерацию дискретного значения, а при обратном распространении заменять генерацию, например, натождественную функцию. Это приводит к систематическому смещению в оценке градиента функции потерь по параметрам, однако принципиально снижает дисперсию градиентов. В работе [110]данный подход был успешно применён к рекуррентным моделям. Второй метод предлагает на этапе обучения заменить дискретные переменные на их непрерывную релаксацию. Данный подходможет быть реализован разными способами, например, путём генерации случайного вектора изнормального распределения и применения к ней операции софтмакс [111]. Мы рассмотрим наиболее теоретически обоснованный подход, релаксацию Гумбель-Софтмакс, одновременно предложенную в двух работах [112; 113].Сначала опишем трюк Гумбель-Макс [114] –– способ генерации точек из дискретного вероятного распределения.
Пусть z ∼ Discrete(α1 , . . . , αd ). Будем представлять точки из дискретныхраспределений распределений как векторы с одной единицой в позиции, соответствующей значе-38нию дискретной случайной величины, и всеми остальными нулями (one-hot vector), то естьz ∼ Discrete(α1 , . . . , αd ),zi ∈ {0, 1},d∑zi = 1,z = (z1 , . . . , zd ),(1.93)P(zi = 1) = αi .(1.94)i=1Определение 2. Распределение Гумбеля со средним µ ∈ R и масштабом β ∈ R, β > 0 имеетплотность( (()))1x−µGumbel(x|µ, β) = exp − x + exp −, x ∈ R.(1.95)ββРаспределение Gumbel(0, 1) называется стандартным распределением Гумбеля.Трюк Гумбель-Макс состоит в генерации точки из дискретной случайной величины следующим образом:k = argmaxi∈{1,...,d} (log αi + Gi ),z = (z1 , . . . , zd ),zk = 1,Gi ∼ Gumbel(0, 1),i = 1, .
. . , dzj = 0, j ̸= k.(1.96)(1.97)Доказательство корректности процедуры проводится через маргинализацию распределения получаемой дискретной случайной величины z по точкам распределения Гумбеля G1 , . . . Gd .Итак, генерация случайных дискретных величин может быть представлена как генерациязначений Gi , не зависящих от параметров, и их преобразование, включающее недифференцируемую функцию argmax. Релаксация Гумбель-Софтмакс состоит в замене этой операции на софтмаксс температурой λ > 0.Определение 3. Случайная величина ẑ распределена как Гумбель-Софтмакс с вероятностями(α1 , .
. . , αd ), αi ∈ (0; 1] и температурой λ > 0, если её реализации могут быть получены следующей процедурой:Gi ∼ Gumbel(0, 1), i = 1, . . . , d,(1.98)exp((− log αk + Gk )/λ), k = 1, . . . ,d.ẑk = ∑dexp((−logα+G)/λ)iii=1(1.99)Из определения следует, что распределение Гумбель-Софтмакс репараметризуемо, а точкииз него лежат на единичном симплексе.
Приведём без доказательства несколько фактов из работы [113].Теорема 3. [113] Пусть случайная величина ẑ распределена как Гумбель-Софтмакс с вероятностями (α1 , . . . , αd ) и температурой λ > 0. Тогда:1. Плотность распределения имеет вид()D−λ−1∏αẑkp(ẑ|α1 , . . . , αd , λ) = (d − 1)!λd−1(1.100)∑d k −λ−1 .αziii=1k=12. Вероятность того, что максимальным элементом будет k-й, равна αk : P(ẑk > ẑi ) =αk , i ̸= k.393. При стремлении температуры к нулю распределение сходится к соответствующемудискретному: P(limλ→0 zk = 1) = αk .14.
При достаточно низкой температуре λ ⩽ d−1плотность распределения p(ẑ|λ) логвыпукла по ẑ, то есть функция log p(ẑ|λ) является выпуклой по ẑ. Отсюда также следует и выпуклость по ẑ исходной плотности p(ẑ|λ).Из последнего свойства следует, что при достаточно низкой температуре у плотности нетмаксимумов внутри единичного симплекса. Это означает, что наиболее типичными будут точки,лежащие близко к краям симплекса, что обеспечивает «схожесть» этих точек с точками из дискретного распределения.Рассмотрим бинарный случай, в котором процедура генерации точек будет иметь особеннопростой вид.
Пусть z ∼ Bernoulli(α), где α ∈ (0, 1) –– вероятность за единицу, а (1 − p) –– вероятность за ноль. Введём параметр температуры λ > 0. Релаксированная случайная величинаẑ ∼ RelaxedBernoulli(p|λ) задаётся следующей процедурой генерации:( −1)σ (α) + σ −1 (ε)ε ∼ Uniform(0, 1), ẑ = σ.(1.101)λОтметим, что если вероятность α стремится к нулю или единице, то распределениеRelaxedBernoulli приближается к дельта-функции в нуле или единице, соответственно. Это означает, что для экстремальных значений вероятности зазор между релаксированным и нерелаксированным распределением пропадает, независимо от температуры λ.Релаксация Гумбель-Софтмакс применяется к нейронной сети на этапе обучения. На этапетестирования, как правило, релаксированные случайные величины заменяются на дискретные. Гиперпараметром метода является температура: чем она выше, тем ниже дисперсия градиентов, нотем больше зазор между дискретным распределением и релаксированным распределением.40Глава 2.
Перфорация свёрточных нейронных сетей2.1 ВведениеЗадача ускорения вычислений за счёт снижения точности хорошо известна в сообществепрограммной инженерии. Один из наиболее успешных методов носит названия перфорации циклов [115—117]. Его идея состоит в анализе исходного кода и пропуске части итераций циклов,которые не критичны для исполнения программы. Например, если цикл реализует итеративныйметод, то пропуск части итераций цикла снизит точность результата работы программы, но неприведёт к её аварийному завершению.