Трюк с репараметризацией

Метод, используемый в стохастическом градиентном вариационном выводе

Трюк репараметризации (он же «оценщик градиента репараметризации») — это метод, используемый в статистическом машинном обучении , в частности в вариационном выводе , вариационных автоэнкодерах и стохастической оптимизации . Он позволяет эффективно вычислять градиенты через случайные величины , что позволяет оптимизировать параметрические вероятностные модели с использованием стохастического градиентного спуска и уменьшать дисперсию оценщиков .

Он был разработан в 1980-х годах в исследовании операций под названием «путевые градиенты» или «стохастические градиенты». [1] [2] Его использование в вариационном выводе было предложено в 2013 году. [3]

Математика

Пусть — случайная величина с распределением , где — вектор, содержащий параметры распределения. з {\displaystyle z} д ϕ ( з ) {\displaystyle q_{\phi}(z)} ϕ {\displaystyle \phi }

Оценщик REINFORCE

Рассмотрим целевую функцию вида: Без трюка с репараметризацией оценка градиента может быть сложной, поскольку параметр появляется в самой случайной величине. Более подробно, мы должны статистически оценить: Оценщик REINFORCE, широко используемый в обучении с подкреплением и особенно в градиенте политики , [4] использует следующее равенство: Это позволяет оценить градиент: Оценщик REINFORCE имеет высокую дисперсию, и было разработано много методов для уменьшения его дисперсии . [5] L ( ϕ ) = E z q ϕ ( z ) [ f ( z ) ] {\displaystyle L(\phi )=\mathbb {E} _{z\sim q_{\phi }(z)}[f(z)]} ϕ L ( ϕ ) {\displaystyle \nabla _{\phi }L(\phi )} ϕ L ( ϕ ) = ϕ d z q ϕ ( z ) f ( z ) {\displaystyle \nabla _{\phi }L(\phi )=\nabla _{\phi }\int dz\;q_{\phi }(z)f(z)} ϕ L ( ϕ ) = d z q ϕ ( z ) ϕ ( ln q ϕ ( z ) ) f ( z ) = E z q ϕ ( z ) [ ϕ ( ln q ϕ ( z ) ) f ( z ) ] {\displaystyle \nabla _{\phi }L(\phi )=\int dz\;q_{\phi }(z)\nabla _{\phi }(\ln q_{\phi }(z))f(z)=\mathbb {E} _{z\sim q_{\phi }(z)}[\nabla _{\phi }(\ln q_{\phi }(z))f(z)]} ϕ L ( ϕ ) 1 N i = 1 N ϕ ( ln q ϕ ( z i ) ) f ( z i ) {\displaystyle \nabla _{\phi }L(\phi )\approx {\frac {1}{N}}\sum _{i=1}^{N}\nabla _{\phi }(\ln q_{\phi }(z_{i}))f(z_{i})}

Оценщик репараметризации

Трюк с репараметризацией выражается как: Здесь, — детерминированная функция, параметризованная , а — шумовая переменная, взятая из фиксированного распределения . Это дает: Теперь градиент можно оценить как: z {\displaystyle z} z = g ϕ ( ϵ ) , ϵ p ( ϵ ) {\displaystyle z=g_{\phi }(\epsilon ),\quad \epsilon \sim p(\epsilon )} g ϕ {\displaystyle g_{\phi }} ϕ {\displaystyle \phi } ϵ {\displaystyle \epsilon } p ( ϵ ) {\displaystyle p(\epsilon )} L ( ϕ ) = E ϵ p ( ϵ ) [ f ( g ϕ ( ϵ ) ) ] {\displaystyle L(\phi )=\mathbb {E} _{\epsilon \sim p(\epsilon )}[f(g_{\phi }(\epsilon ))]} ϕ L ( ϕ ) = E ϵ p ( ϵ ) [ ϕ f ( g ϕ ( ϵ ) ) ] 1 N i = 1 N ϕ f ( g ϕ ( ϵ i ) ) {\displaystyle \nabla _{\phi }L(\phi )=\mathbb {E} _{\epsilon \sim p(\epsilon )}[\nabla _{\phi }f(g_{\phi }(\epsilon ))]\approx {\frac {1}{N}}\sum _{i=1}^{N}\nabla _{\phi }f(g_{\phi }(\epsilon _{i}))}

Примеры

Для некоторых распространенных распределений прием репараметризации принимает особые формы:

Нормальное распределение : Для мы можем использовать: z N ( μ , σ 2 ) {\displaystyle z\sim {\mathcal {N}}(\mu ,\sigma ^{2})} z = μ + σ ϵ , ϵ N ( 0 , 1 ) {\displaystyle z=\mu +\sigma \epsilon ,\quad \epsilon \sim {\mathcal {N}}(0,1)}

Экспоненциальное распределение : Для мы можем использовать: Дискретное распределение может быть перепараметризовано с помощью распределения Гумбеля (прием Гумбеля-softmax или «конкретное распределение»). [6] z Exp ( λ ) {\displaystyle z\sim {\text{Exp}}(\lambda )} z = 1 λ log ( ϵ ) , ϵ Uniform ( 0 , 1 ) {\displaystyle z=-{\frac {1}{\lambda }}\log(\epsilon ),\quad \epsilon \sim {\text{Uniform}}(0,1)}

В общем случае любое распределение, дифференцируемое по своим параметрам, может быть репараметризовано путем инвертирования функции CDF с несколькими переменными, а затем применения неявного метода. См. [1] для описания и применения к распределениям Гамма- Бета , Дирихле и фон Мизеса .

Приложения

Вариационный автоэнкодер

Схема трюка репараметризации. Случайная переменная вводится в скрытое пространство как внешний вход. Таким образом, можно осуществить обратное распространение градиента без вовлечения стохастической переменной во время обновления. ε {\displaystyle {\varepsilon }} z {\displaystyle z}
Схема вариационного автоэнкодера после трюка с репараметризацией.

В вариационных автоэнкодерах (VAE) целевая функция VAE, известная как нижняя граница доказательств (ELBO), определяется следующим образом:

ELBO ( ϕ , θ ) = E z q ϕ ( z | x ) [ log p θ ( x | z ) ] D KL ( q ϕ ( z | x ) | | p ( z ) ) {\displaystyle {\text{ELBO}}(\phi ,\theta )=\mathbb {E} _{z\sim q_{\phi }(z|x)}[\log p_{\theta }(x|z)]-D_{\text{KL}}(q_{\phi }(z|x)||p(z))}

где — кодер (модель распознавания), — декодер (генеративная модель), а — априорное распределение по скрытым переменным. Градиент ELBO относительно — это просто, но градиент относительно требует трюка. Выразим операцию выборки как: где и — это выходы сети кодера, а обозначает поэлементное умножение . Тогда имеем где . Это позволяет нам оценить градиент с помощью выборки Монте-Карло: где и для . q ϕ ( z | x ) {\displaystyle q_{\phi }(z|x)} p θ ( x | z ) {\displaystyle p_{\theta }(x|z)} p ( z ) {\displaystyle p(z)} θ {\displaystyle \theta } E z q ϕ ( z | x ) [ θ log p θ ( x | z ) ] 1 L l = 1 L θ log p θ ( x | z l ) {\displaystyle \mathbb {E} _{z\sim q_{\phi }(z|x)}[\nabla _{\theta }\log p_{\theta }(x|z)]\approx {\frac {1}{L}}\sum _{l=1}^{L}\nabla _{\theta }\log p_{\theta }(x|z_{l})} ϕ {\displaystyle \phi } z q ϕ ( z | x ) {\displaystyle z\sim q_{\phi }(z|x)} z = μ ϕ ( x ) + σ ϕ ( x ) ϵ , ϵ N ( 0 , I ) {\displaystyle z=\mu _{\phi }(x)+\sigma _{\phi }(x)\odot \epsilon ,\quad \epsilon \sim {\mathcal {N}}(0,I)} μ ϕ ( x ) {\displaystyle \mu _{\phi }(x)} σ ϕ ( x ) {\displaystyle \sigma _{\phi }(x)} {\displaystyle \odot } ϕ ELBO ( ϕ , θ ) = E ϵ N ( 0 , I ) [ ϕ log p θ ( x | z ) + ϕ log q ϕ ( z | x ) ϕ log p ( z ) ] {\displaystyle \nabla _{\phi }{\text{ELBO}}(\phi ,\theta )=\mathbb {E} _{\epsilon \sim {\mathcal {N}}(0,I)}[\nabla _{\phi }\log p_{\theta }(x|z)+\nabla _{\phi }\log q_{\phi }(z|x)-\nabla _{\phi }\log p(z)]} z = μ ϕ ( x ) + σ ϕ ( x ) ϵ {\displaystyle z=\mu _{\phi }(x)+\sigma _{\phi }(x)\odot \epsilon } ϕ ELBO ( ϕ , θ ) 1 L l = 1 L [ ϕ log p θ ( x | z l ) + ϕ log q ϕ ( z l | x ) ϕ log p ( z l ) ] {\displaystyle \nabla _{\phi }{\text{ELBO}}(\phi ,\theta )\approx {\frac {1}{L}}\sum _{l=1}^{L}[\nabla _{\phi }\log p_{\theta }(x|z_{l})+\nabla _{\phi }\log q_{\phi }(z_{l}|x)-\nabla _{\phi }\log p(z_{l})]} z l = μ ϕ ( x ) + σ ϕ ( x ) ϵ l {\displaystyle z_{l}=\mu _{\phi }(x)+\sigma _{\phi }(x)\odot \epsilon _{l}} ϵ l N ( 0 , I ) {\displaystyle \epsilon _{l}\sim {\mathcal {N}}(0,I)} l = 1 , , L {\displaystyle l=1,\ldots ,L}

Эта формулировка позволяет осуществлять обратное распространение ошибки через процесс выборки, что позволяет проводить сквозное обучение модели VAE с использованием стохастического градиентного спуска или его вариантов.

Вариационный вывод

В более общем смысле, этот прием позволяет использовать стохастический градиентный спуск для вариационного вывода . Пусть вариационная цель (ELBO) имеет вид: Используя прием репараметризации, мы можем оценить градиент этой цели относительно : ELBO ( ϕ ) = E z q ϕ ( z ) [ log p ( x , z ) log q ϕ ( z ) ] {\displaystyle {\text{ELBO}}(\phi )=\mathbb {E} _{z\sim q_{\phi }(z)}[\log p(x,z)-\log q_{\phi }(z)]} ϕ {\displaystyle \phi } ϕ ELBO ( ϕ ) 1 L l = 1 L ϕ [ log p ( x , g ϕ ( ϵ l ) ) log q ϕ ( g ϕ ( ϵ l ) ) ] , ϵ l p ( ϵ ) {\displaystyle \nabla _{\phi }{\text{ELBO}}(\phi )\approx {\frac {1}{L}}\sum _{l=1}^{L}\nabla _{\phi }[\log p(x,g_{\phi }(\epsilon _{l}))-\log q_{\phi }(g_{\phi }(\epsilon _{l}))],\quad \epsilon _{l}\sim p(\epsilon )}

Выбывать

Трюк репараметризации был применен для уменьшения дисперсии в dropout , метод регуляризации в нейронных сетях. Исходный dropout может быть репараметризован с помощью распределений Бернулли : где — весовая матрица, — вход, а — (фиксированные) показатели dropout. y = ( W ϵ ) x , ϵ i j Bernoulli ( α i j ) {\displaystyle y=(W\odot \epsilon )x,\quad \epsilon _{ij}\sim {\text{Bernoulli}}(\alpha _{ij})} W {\displaystyle W} x {\displaystyle x} α i j {\displaystyle \alpha _{ij}}

В более общем смысле, могут использоваться и другие распределения, отличные от распределения Бернулли, например, гауссовский шум: где и , причем и являются средним значением и дисперсией -го выходного нейрона. Прием репараметризации может быть применен ко всем таким случаям, что приводит к вариационному методу выпадения . [7] y i = μ i + σ i ϵ i , ϵ i N ( 0 , I ) {\displaystyle y_{i}=\mu _{i}+\sigma _{i}\odot \epsilon _{i},\quad \epsilon _{i}\sim {\mathcal {N}}(0,I)} μ i = m i x {\displaystyle \mu _{i}=\mathbf {m} _{i}^{\top }x} σ i 2 = v i x 2 {\displaystyle \sigma _{i}^{2}=\mathbf {v} _{i}^{\top }x^{2}} m i {\displaystyle \mathbf {m} _{i}} v i {\displaystyle \mathbf {v} _{i}} i {\displaystyle i}

Смотрите также

Ссылки

  1. ^ ab Фигурнов, Михаил; Мохамед, Шакир; Мних, Андрей (2018). «Неявные градиенты репараметризации». Достижения в области нейронных систем обработки информации . 31. Curran Associates, Inc.
  2. ^ Фу, Майкл С. «Оценка градиента». Справочники по исследованию операций и науке управления 13 (2006): 575-616.
  3. ^ Кингма, Дидерик П.; Веллинг, Макс (10 декабря 2022 г.). «Автокодирование вариационного Байеса». arXiv : 1312.6114 [stat.ML].
  4. ^ Уильямс, Рональд Дж. (1992-05-01). «Простые статистические алгоритмы следования градиенту для коннекционистского обучения с подкреплением». Машинное обучение . 8 (3): 229–256. doi :10.1007/BF00992696. ISSN  1573-0565.
  5. ^ Гринсмит, Эван; Бартлетт, Питер Л.; Бакстер, Джонатан (2004). «Методы снижения дисперсии для оценок градиента в обучении с подкреплением». Журнал исследований машинного обучения . 5 (ноябрь): 1471–1530. ISSN  1533-7928.
  6. ^ Мэддисон, Крис Дж.; Мних, Андрей; Тех, Йи Уай (2017-03-05). «Конкретное распределение: непрерывная релаксация дискретных случайных величин». arXiv : 1611.00712 [cs.LG].
  7. ^ Кингма, Дюрк П.; Салиманс, Тим; Уэллинг, Макс (2015). «Вариационное выпадение и трюк с локальной репараметризацией». Достижения в области нейронных систем обработки информации . 28. arXiv : 1506.02557 .

Дальнейшее чтение

  • Ruiz, Francisco R.; AUEB, Titsias RC; Blei, David (2016). «Градиент обобщенной репараметризации». Достижения в области нейронных систем обработки информации . 29. arXiv : 1610.02287 . Получено 23 сентября 2024 г.
  • Чжан, Ченг; Бутепаж, Джудит; Кьельстром, Хедвиг; Мандт, Стефан (01.08.2019). «Достижения в вариационном выводе». Труды IEEE по анализу шаблонов и машинному интеллекту . 41 (8): 2008–2026. doi :10.1109/TPAMI.2018.2889774. ISSN  0162-8828. PMID  30596568.
  • Мохамед, Шакир (29 октября 2015 г.). «Машинное обучение: трюк дня (4): трюки репараметризации». The Spectator . Получено 23 сентября 2024 г. .
Retrieved from "https://en.wikipedia.org/w/index.php?title=Reparameterization_trick&oldid=1251079420"