Автоматическое дифференцирование по Гессе
В прикладной математике автоматическое дифференцирование по Гессе — это методы, основанные на автоматическом дифференцировании (AD).которые вычисляют вторую производную -мерная функция, известная как матрица Гессе .
При исследовании функции в окрестности точки можно отбросить многие сложные глобальные аспекты функции и точно аппроксимировать ее более простыми функциями. Квадратичная аппроксимация является наиболее подходящим квадратичным приближением в окрестности точки и часто используется в технике и науке. Для расчета квадратичного приближения необходимо сначала вычислить его градиент и матрицу Гессе.
Позволять , для каждого матрица Гессе является производной второго порядка и является симметричной матрицей.
Обратные векторные произведения Гессе
[ редактировать ]Для данного , этот метод эффективно вычисляет произведение вектора Гессе . Таким образом, его можно использовать для расчета всего гессиана путем расчета , для . [1]
Этот метод работает, сначала используя прямой AD для выполнения , впоследствии метод вычисляет градиент использование Reverse AD для получения . Оба этих двух шага требуют временных затрат, пропорциональных оценке функции, поэтому весь гессиан может быть оценен по затратам, пропорциональным n оценок функции.
Обратный гессиан: Edge_Pushing
[ редактировать ]Алгоритм, который вычисляет весь гессиан с помощью одного прямого и одного обратного прохода вычислительного графа, называется Edge_Pushing. Edge_Pushing — это результат применения обратного градиента к вычислительному графу градиента. Естественно, этот граф имеет n выходных узлов, поэтому в некотором смысле необходимо применить метод обратного градиента к каждому исходящему узлу. Edge_Pushing делает это, принимая во внимание перекрывающиеся вычисления. [2]

Входными данными алгоритма является вычислительный график функции. После предыдущего прямого сканирования, в ходе которого вычисляются все промежуточные значения в вычислительном графике, алгоритм инициирует обратный просмотр графика. При обнаружении узла, имеющего соответствующую нелинейную элементарную функцию, между предшественниками узла создается новое нелинейное ребро, указывающее на наличие нелинейного взаимодействия между ними. См. рисунок примера справа. К этому нелинейному ребру добавляется вес ребра, который является частной производной второго порядка нелинейного узла по отношению к его предшественникам. Это нелинейное ребро впоследствии передается последующим предшественникам таким образом, что когда оно достигает независимых узлов, его вес ребра является частной производной второго порядка двух независимых узлов, которые оно соединяет. [2]
Методы раскраски графов для гессенцев
[ редактировать ]Методы раскраски графов исследуют закономерности разреженности матрицы Гессе и дешевые векторные произведения Гессе для получения всей матрицы. Таким образом, эти методы подходят для больших и разреженных матриц. Общая стратегия любой такой техники окрашивания заключается в следующем.
- Получите глобальную картину разреженности
- Примените алгоритм раскраски графа, который позволяет нам сжать структуру разреженности.
- Для каждой желаемой точки вычислить числовые элементы компактной матрицы.
- Восстановите матрицу Гессе из компактной матрицы.
Первый и второй шаги необходимо выполнить только один раз, и они, как правило, являются дорогостоящими. Если нужно вычислить гессиан в нескольких точках (например, в программе оптимизации), шаги 3 и 4 повторяются.
![]() | ![]() |
В качестве примера на рисунке слева показан шаблон разреженности матрицы Гессе, где столбцы были соответствующим образом окрашены таким образом, чтобы обеспечить возможность объединения столбцов одного цвета без возникновения конфликта между элементами.
Существует несколько техник окрашивания, каждая из которых предполагает определенную технику восстановления. Подробное обследование см. [3] Такие методы получили успешные численные результаты. [4]
Ссылки
[ редактировать ]- ^ Брюс Кристиансон. Автоматические гессианы методом обратного накопления, http://imajna.oxfordjournals.org/content/12/2/135.abstract .
- ^ Перейти обратно: а б Р. Гауэр, М. Мелло. Новая основа для расчета гессианов. В кн.: Методы оптимизации и программное обеспечение. дои: http://www.tandfonline.com/doi/full/10.1080/10556788.2011.580098 .
- ^ А. Х. Гебремедин, А. Тарафдар, А. Потен и А. Вальтер. Эффективное вычисление разреженных гессианов с использованием раскраски и автоматического дифференцирования». В: INFORMS J. on Computing 21.2 (2009), стр. 209–223. два : 10.1287/ijoc.1080.0286
- ^ А. Вальтер. Вычисление разреженных гессианов с автоматическим дифференцированием». В: ACM Trans. Math. Softw. 34.1 (2008), стр. 1–15. ISSN 0098-3500 . дои: http://doi.acm.org/10.1145/1322436.1322439 .