Диссертация (1137108), страница 8
Текст из файла (страница 8)
Все слои соединены последовательно. Используемая функцияактивации последнего полносвязного слоя –– софтмакс, а всех остальных слоёв –– ReLU. После второго, четвёртого и пятого свёрточного слоя используется пулинг с операцией максимума, послепервого и второго свёрточного слоя применяется слой локальной нормализации контраста.
Дляуменьшения эффекта переобучения после первых двух полносвязных слоёв применяется дропаутс вероятностью 0,5. Во втором, третьем и пятом свёрточных слоях используется две группы фильтров, что снижает число параметров и объём вычислений, а также упрощает обучение модели надвух видеокартах.Для соединения свёрточной и полносвязной частей сети последний выход свёрточной частивытягивается в вектор, который подаётся в первый полновязный слой. Длина получаемого векторав данной модели равна 9216 = (6 ∗ 6) ∗ 256 (6 × 6 пространственных позиций, в каждой из которых56x56x256 28x28x512224x224x31⊕Ulёч ыё+ё-Ul-131я14x14x102423+ы7x7x20484Рисунок 1.3 — Остаточная сеть со 101 свёрточным слоем ResNet-101.присутствует 256 величин).
Число нейронов первого полносвязного слоя составляет 4096. Такимобразом, этот полносвязный слой содержит 9216 · 4096 = 37 748 736 параметров, то есть болееполовины всех параметров модели.VGG-16Сеть VGG-16 (Very Deep Network) [28] состоит из 13 свёрточных и 3 полносвязных слоёв.Как и в AlexNet, все слои соединены последовательно. Данную сеть отличает крайне простая архитектура. Все свёрточные слои используют пэддинг в режиме VALID и используют ядра размера3 × 3. Кроме того, свёрточные слои объединены в блоки.
Размеры выходов всех слоёв внутри одного блока равны. После каждого блока используется операция макс-пулинга с шагом 2 и ядромразмера 2×2, а первый свёрточный слой в блоке повышает число каналов в два раза. За счёт такоговыбора все свёрточные слои в сети имеют приблизительно равную вычислительную стоимость.Остаточная сетьОстаточная сеть (Residual Network, ResNet) [12; 70] –– одна из лучших на сегодняшний деньсвёрточных архитектур. Её отличительной особенностью является остаточных модулей (residualunit) видаU l = U l−1 + f (U l−1 ),(1.63)где первое слагаемое называется прямым соединением (shortcut connection), а второе слагаемое ––остаточной функцией (residual function). Мотивацией для их использования является то, что свёр-32точная сеть может не использовать «лишние» слои, просто выбрав тождественно нулевую остаточную функцию.
Как показывается в работе [12], использование остаточных функций позволяетобучать в десятки раз более глубокие сети, что существенно улучшает качество работы.Детально опишем архитектуру остаточной сети со 101 свёрточным слоем ResNet-101 длязадачи классификации изображений на выборке данных ImageNet, рис. 1.3. Эта же архитектураиспользуется для задачи детекции объектов [12; 99] и сегментации изображений [68].Первые два слоя ResNet-101 –– свёрточный слой и пулинг с операцией максимума, с суммарным шагом равным четырём. Затем последовательно применяются четыре блока, где каждый блоксостоит из цепочки остаточных модулей. В архитектуре ResNet-101 используются четыре блока с3, 4, 23 и 3 модулями, соответственно. Остаточная функция состоит из последовательности из трёхсвёрточных слоёв: слоя с ядром размера 1 × 1, который уменьшает числа каналов; слоя с ядромразмера 3 × 3 с равным числом входных и выходных каналов; слоя с ядром размера 1 × 1, восстанавливающего число каналов.
Первые модули блоков со второго по четвёртый имеют шаг дваи увеличивают число выходных каналов в два раза. Все остальные блоки имеют равные входныеи выходные размеры. Структура блоков аналогична VGG-16. За счёт такого выбора все модули всети имеют равную вычислительную стоимость (кроме первых модулей в блоках со второго почетвёртой с немного большей стоимостью).Наконец, полученный тензор пропускается через слой глобального пулинга с операциейусреднения, полносвязный слой и софтмакс.
Результатом является вероятностное распределениенад классами. За счёт использования глобального пулинга сеть является полносвёрточной, чтопозволяет применить её к изображениям различного разрешения без изменения параметров сети.Существует две основные разновидности модели ResNet: постактивационная и предактивационная. В первом случае, описанном в более ранней работе [12], слой батч-нормализации ифункция активации ReLU применяются после свёрточного слоя.
Во втором случае, предложенном в работе [70], эти два слоя идут перед свёрточным слоем.1.2Обучение параметров случайных переменныхВ настоящее время активно развивается область вероятностных нейросетевых моделей, тоесть нейронных сетей, использующих случайные переменные как часть графа вычислений. В данном разделе рассматриваются существующие способы настройки параметров параметров случайных переменных.Формализуем решаемую задачу. Для упрощения нотации рассмотрим один объект x, а также опустим зависимость функции потерь от метки y. Ранее мы рассматривали функцию потерьдля одного объекта L(x, θ), где θ –– вектор параметров модели. Теперь предположим, что функцияпотерь зависит также от значения d-мерной случайной величины z: L(x, z, θ), где z ∼ q(z|x, θ) ––распределение случайной величины.
Обозначим область значений z через Z. В случае дискрет∫∑ного z будем интерпретировать интеграл вида Z f (z)dz как сумму z∈Z f (z). Будем считать,что параметры распределения этой случайной величины задаются через функцию ν(x, θ), то есть33q(z|x, θ) = q(z|ν(x, θ)). Заметим, что мы использовали один и тот же вектор θ как для параметризации как рапределения, так и основной нейронной сети. За счёт этого появляется возможностьиспользовать общие части нейронной сети для задания функции потерь и распределения.Процесс вычисления функции потерь выглядит следующим образом:1.
Подсчитать параметры ν(x, θ) распределения q(z|x, θ).2. Сгенерировать точку из случайной величины z ∼ q(z|x, θ).3. Подсчитать функцию потерь L(x, z, θ).Решаемой задачей является минимизация среднего значения функции потерь по параметрамθ:L̄(x, θ) =E L(x, z, θ) → min .(1.64)θz∼q(z|x,θ)Как и раньше, задачу минимизации мы хотели бы решать при помощи стохастического градиентного спуска, для чего требуется подсчитать градиент среднего значения функции потерь:∇θ L̄(x, θ) = ∇θEL(x, z, θ).z∼q(z|x,θ)(1.65)Трудность задачи состоит в том, что мат.
ожидание берётся по распределению, зависящемуот параметров θ. Рассмотрим несколько путей решения.1.2.1 Метод REINFORCEНаиболее общим способом подсчёта градиента (1.64) является метод REINFORCE [23], также называемый методом градиента стратегии (policy gradient). Докажем теорему, лежащую в егооснове.Теорема 1.
Пусть c(x, ψ) –– вещественнозначная скалярная функция, не зависящая от z. Тогдавыражение (1.64) может быть подсчитано как∇θ L̄(x, θ) = ∇θ=Eq(z|x,θ)EL(x, z, θ) =z∼q(z|x,θ)[](L(x, z, θ) − c(x, ψ))∇θ log q(z|x, θ) + ∇θ L(x, z, θ) .(1.66)(1.67)Заметим, что мат. ожидание в выражении (1.67) может быть несмещённо оценено с помощьюметода Монте-Карло по K точками:K]1 ∑[∇θ L̄(x, θ) ≈(L(x, zi , θ) − c(x, ψ))∇θ log q(zi |x, θ) + ∇θ L(x, zi , θ) ,K i=1(1.68)zi ∼ q(z|x, θ).(1.69)Доказательство. Сначала покажем, что[]∇θ L̄(x, θ) = E L(x, z, θ)∇θ log q(z|x, θ) + ∇θ L(x, z, θ) .q(z|x,θ)(1.70)34Для этого воспользуемся так называемым трюком производной логарифма (log-derivativetrick), следующим из выражения для производной логарифма:f ′ (x) = f (x)(log f (x))′ .(1.71)Проведём доказательство:∫∫[]∇θ L̄(x, θ) = ∇θq(z|x, θ)L(x, z, θ)dz =∇θ q(z|x, θ)L(x, z, θ) dz =ZZ∫[]{=L(x, z, θ)∇θ q(z|x, θ) + q(z|x, θ)∇θ L(x, z, θ) dz = (1.71)} =∫Z[]=q(z|x, θ) L(x, z, θ)∇θ log q(z|x, θ) + ∇θ L(x, z, θ) dz =Z[]= E L(x, z, θ)∇θ log q(z|x, θ) + ∇θ L(x, z, θ) .q(z|x,θ)(1.72)(1.73)(1.74)(1.75)Для завершения доказательства теоремы покажем, чтоEq(z|x,θ)c(x, ψ))∇θ log q(z|x, θ) = 0.(1.76)Действительно,∫Ec(x, ψ)∇θ log q(z|x, θ) = c(x, ψ) q(z|x, θ)∇θ log q(z|x, θ)dzZ∫∫q(z|x, θ)dz = c(x, ψ)∇θ 1 = 0.= c(x, ψ) ∇θ q(z|x, θ)dz = c(x, ψ)∇θq(z|x,θ)Z(1.77)(1.78)ZФункция c(x, ψ) называется контролирующей величиной (control variate) либо базовой функцией награды (reward baseline).
Её введение не меняет среднее значение градиента ∇θ L̄(x, θ), номожет существенно снизить дисперсию первого слагаемого в выражении (1.67). Как правило, значение контролирующей величины выбирается одним из двух способов:1. Константа c, приближающая величину Eq(z|x,θ) L(x, z, θ). Для приближения обычно используется оценка величины, экспоненциально сглаженное среднее.2. Нейронная сеть c(x, ψ) с параметрами ψ [100]. В этом случае к функции потерь добавляется среднеквадратичная ошибка с коэффициентом ω:Eq(z|x,θ)ω · (c(x, ψ) − L(x, z, θ))2 → min .ψ(1.79)Рассмотрим пример, иллюстрирующий высокую дисперсию первого слагаемого выражения (1.67) и эффект снижения дисперсии при использовании контролирующей величины. Пусть35случайные величины из этого выражения заданы следующим образом:−100, с вероятностью 12L(x, z, θ) =,−110, с вероятностью 1(1.80)2E L(x, z, θ) = −105, D L(x, z, θ) = 25,z z1, с вероятностью 12∇θ log q(z|x, θ) =−1, с вероятностью(1.81)12,E ∇θ log q(z|x, θ) = 0, D ∇θ log q(z|x, θ) = 1zz110, с вероятностью 41100, с вероятностью 14ξ = L(x, z, θ)∇θ log q(z|x, θ) =−100, с вероятностью−110, с вероятностью(1.82)(1.83),1414E ξ = 0, D ξ = 11050.z(1.84)(1.85)zВ последнем выражении предполагается, что c(x, ψ) = 0.
Итак, произведение двух случайных величин с низкой дисперсией имеет крайне высокую дисперсию из-за высокого по модулювеличины L(x, z, θ). Выберем константную контролирующую величину c = Ez L(x, z, θ) = −105и убедимся, что мат. ожидание выражения не изменится, а дисперсия снизится:5, с вероятностью 12(1.86)ξˆ = (L(x, z, θ) − c)∇θ log q(z|x, θ) =,−5, с вероятностью 12E ξˆ = 0, D ξˆ = 25.z(1.87)zК сожалению, введение контролирующих величин не всегда позволяет достаточно сильноснизить дисперсию стохастического градиента. Существует ряд более продвинутых методов снижения дисперсии, среди которых следует отметить MuProp [101] и VIMCO [102].1.2.2Трюк репараметризацииНа сегодняшний день наиболее эффективным способом подсчёта градиента является репараметризационный трюк [103; 104] (reparameterization trick). Однако напрямую он применим лишьк ограниченному классу распределений.Определение 1. Распределение q(z|x, θ) непрерывной случайной величины z с параметрами ν(x, θ)называется репараметризуемым, если существует такое базовое распределение q(ε) и такоенепрерывно дифференцируемое преобразование g(ε, ν(x, θ)), чтоz ∼ q(z|x, θ)⇔ε ∼ q(ε), z = g(ε, ν(x, θ)).(1.88)36Теорема 2.