Диссертация (1137108), страница 20
Текст из файла (страница 20)
(4.42)Поскольку максимальное число итераций ограничено Lk , проведём усечение распределения. Полученное распределение будем использовать как априорное для латентной переменной zk90одного блока:TruncatedGeometric(zk |τk , Lk ) =exp(τk ) − 1exp(−τk zk ),1 − exp(−τk Lk )zk ∈ {1, . . . , Lk }.(4.43)В результате мы получаем следующую вероятностную модель:p(y, z|x, θ) = p(y|x, z, θ)p(z),p(z) =K∏(TruncatedGeometric(zk |τk , Lk ) =k=1K∏exp(τk ) − 11 − exp(−τk Lk )k=1)(exp −K∑(4.44))τk zk.(4.45)k=1Будем выполнять MAP-оценивание латентной переменной z при помощи вариационной оптимизации со следующим вспомогательным распределением:q(z|x, ϕ) =K∏q(zk |z<k , x, ϕ),(4.46)k=1где распределение q(zk |z<k , x, ϕ) задаётся уравнением (4.17). Зависимость от входа x и предыдущих латентных переменных z<k появляется через входы блока. Будем называть данную вероятностную модель дискретной.
Целевая функция для максимизации по параметрам θ и ϕ имеет следующий вид:()K∑L(ϕ, θ) = E log p(y, z|x, θ) = Elog p(y|z, x, θ) +log p(zk ) .(4.47)q(z|x,ϕ)q(z|x,ϕ)k=1Для снижения дисперсии стохастической оценки целевой функции аналитически подсчитаем мат. ожидание логарифма априорного распределения:Eq(z|x,ϕ)log p(zk ) = −τkEq(z<k |x,ϕ)Lk∑l=1|lhlkl−1∏(1 − hik ) +const.i=1{z(4.48)}NkЗдесь Nk –– ожидаемое число итераций в k-м блоке. Игнорируя аддитивную константу, которая невлияет на результат оптимизации, получаем()K∑L(ϕ, θ) = Elog p(y|z, x, θ) −τk Nk .(4.49)q(z|x,ϕ)k=1Аналитическое вычисление мат.
ожидания в полученной целевой функции, как правило,невозможно, потому что его сложность растёт экспоненциально с числом блоков. Возможной эвристикой для решения этой проблемы является замена всех случайных переменных zk на их мат.ожидание Nk . Однако этот подход не работает для глубинных нейронных сетей, поскольку они«обманывают» целевую функцию [24] следующим образом. Вероятность остановки на первыхитерациях увеличивается, а вероятность остановки на последних уменьшается. Таким образом,штраф за число итераций отражает использование лишь нескольких итераций. Одновременно сэтим норма выходов U l на последних итерациях сильно возрастает, за счёт чего выход блока определяется именно последними итерациями.91Алгоритм 4.1 Дискретный адаптивный блок вычислений.Вход: максимальное число итераций LВыход: число выполненных итераций zВыход: выход блока1: для l = 1, .
. . , L2:Вычислить U l3:если l < L тогда4:h = H l (U l )5:иначе6:h=17:конец условия8:ξ ∼ Bernoulli(h)9:если ξ тогда10:выход = U l11:z=l12:вернуть выход, z13:конец условия14: конец циклаВместо этого будем выполнять стохастическую оптимизацию целевой функции (4.49) двумяспособами: методом REINFORCE и при помощи описанной выше релаксации.В первом подходе будем напрямую применять метод REINFORCE к целевой функции, чтоприводит к следующему выражению для градиента по параметрам ϕ:)(K∑τk ∇ϕ Nk ,(4.50)∇ϕ L(ϕ, θ) = E(log p(y|z, x, θ) − c)∇ϕ log q(z|ϕ) −q(z|x,ϕ)k=1где c –– скаляр, называемый базовой величиной.
Заметим, что в данном случае мы проигнорировали зависимость Nk от z<k для снижения дисперсии градиентов.Во втором подходе заменим каждый дискретный блок адаптивных вычислений на релаксированный блок, а соответствующее распределение q(z|ϕ) на релаксированное распределениеq(ẑ|ϕ, λ). Назовём эту модель релаксированной.
Целевая функция этой модели может быть стохастически оптимизирована с помощью трюка репараметризации:()K∑L̂(ϕ, θ|λ) = Elog p(y|ẑ, x, θ) −τk Nk .(4.51)q(ẑ|x,ϕ,λ)k=1Алгоритм дискретного адаптивного блока вычислений представлен в алг. 4.1, порогового ––в алг. 4.2, а релаксированного –– в алг.
4.3. Заметим, что алгоритм дискретного и порогового блоковпроще, чем алгоритм 3.1 метода АВВ.92Алгоритм 4.2 Пороговый адаптивный блок вычислений.Вход: максимальное число итераций LВыход: число выполненных итераций zВыход: выход блока1: для l = 1, . . . , L2:Вычислить U l3:если l < L тогда4:h = H l (U l )5:иначе6:h=17:конец условия8:если h > 0,5 тогда9:выход = U l10:z=l11:вернуть выход, z12:конец условия13: конец цикла4.4.5 Применение к остаточным сетямКратко опишем свёрточные архитектуры ResNet-32 и ResNet-110 для классификации выборки данных CIFAR [135], которые далее будут использоваться в экспериментах. Они состоят из трёхпоследовательных блоков, каждый из которых содержит несколько остаточных модулей, а именно, 5 для ResNet-32 и 18 для ResNet-110.
Вычислительная итерация остаточной сети –– это остаточный модуль вида Fkl (Ukl−1 ) = Ukl−1 + fkl (Ukl−1 ), где fkl –– подсеть, состоящая из двух свёрточныхслоёв. Входом блока Uk0 является выход предыдущего блока остаточных модулей. Выходы всехостаточных модулей в блоке имеют одинаковую размерность. Первые модули во втором и третьем блоке применяются с шагом 2, что приводит к снижению пространственного разрешения, атакже увеличивают число выходных каналов в два раза. Таким образом, пространственная размерность первого блока –– 32×32 (такая же, как у изображений выборки CIFAR-10), у второго блока ––16 × 16, а у третьего блока –– 8 × 8. Снижение размерности и увеличение каналов сбалансированы таким образом, что объёмы вычислений остаточных модулей во всех блоках примерно равны.Выходы последнего блока пропускаются через слой глобального пулинга с операций среднего иполносвязный слой, который выдаёт логиты вероятностей за классы.Метод ПАВВ, представленный в главе 3, применяет метод АВВ к каждой пространственной позиции блока остаточной сети.
Мы предлагаем аналогично интерпретировать каждую пространственную позицию остаточного блока как блок адаптивных вычислений. Полученный методбудем называть методом вероятностного пространственного-адаптивного времени вычислений(ВПАВВ).93Алгоритм 4.3 Релаксированный адаптивный блок вычислений.Вход: максимальное число итераций LВход: температура релаксации λ > 0Выход: ожидаемое число итераций NВыход: выход блока1: Sξ̂ = 12: Sh = 13: N = 04: выход\ =05: для l = 1, .
. . , L6:Вычислить U l7:если l < L тогда8:h = H l (U l )9:иначе10:h=111:конец условия12:ξˆ ∼ RelaxedBernoulli(h|λ)13:ẑ = Sξ̂ · ξˆ14:выход\ += ẑ · U l15:N += l · Sh · hˆ16:S += (1 − ξ)▷ Остаток длины палки для ξˆ▷ Остаток длины палки для hξ̂Sh ∗= (1 − h)18: конец цикла19: вернуть выход, N17:Опишем вероятностную модель подробнее.
Её латентные переменные –– zk,ij , где k –– номеростаточного блока, а i и j –– пространственные координаты позиции в блоке. Карта вероятностейостановки подсчитывается какfkl ∗ U + Wkl pool(U ) + blk ),Hkl (U ) = σ(W(4.52)где ∗ обозначает свёртку с ядром размера 3 × 3, а pool –– глобальный пулинг с операцией среднего.Штраф за время вычислений в блоке устанавливается равным X τ′ Y ′ , где τ –– штраф, гиперпараметрмодели, а X ′ и Y ′ –– высота и ширина, соответственно, выходов остаточного блока. Для того чтобыдоопределить невычисляемые промежуточные значения, зададим остаточный модуль какFkl (Ukl−1 ) = Ukl−1 + fkl (Ukl−1 ) · a(ξk<l ),(4.53)где a(ξk<l ) –– маска активных позиций.Для дискретной и пороговой модели выберем следующую маску:a(ξk<l )l−1∏=(1 − ξkt ),t=1(4.54)94где все операции выполняются поэлементно. Таким образом, если позиция больше не выполняется, то есть zk < 1, значение маски равно нулю и признаки копируются с предыдущей итерации.
Впротивном случае значение маски равно единице.Для релаксированной модели выберем следующую маску активных позиций:â(ξˆk<l ) = r · [r > δ],r=l−1∏(1 − ξˆkt ),(4.55)t=1где δ > 0 –– скалярный гиперпараметр. За счёт отсечения значений r на этапе обучения удаётсяполучить точные нули в маски и полностью пропустить подсчёт части значений на этапе обучения.4.4.6 Применение к рекуррентным нейронным сетямПредложенный метод также может быть применён для динамического варьирования объёма вычислений в рекуррентных нейронных сетях, например, в нейронных сетях с долгой краткосрочной памятью (LSTM) [9]. Обозначим входную последовательность через (x1 , .
. . , xT ), где T ––число шагов времени. На каждом шаге времени будем использовать блок адаптивных вычислений.Таким образом каждый шаг по времени будет обрабатываться адаптивным числом итераций. Выберем одинаковый штраф за время вычислений τ для всех блоков. Итерация вычислений состоитв применении функции перехода рекуррентной сети для получения нового состояния сети:Ukl = F (xk , [l = 1], Ukl−1 ).(4.56)Здесь Uk0 –– выходное состояние предыдущего шага по времени.