SPSA (Алгоритм стохастической аппроксимации одновременных возмущений)
SPSA — это метод стохастической оптимизации нулевого порядка, предназначенный для минимизации целевой функции в условиях, когда доступны только зашумлённые измерения её значений, а вычисление градиента невозможно или чрезвычайно затратно. Алгоритм аппроксимирует градиент на основе всего двух измерений функции при одновременном случайном возмущении всех параметров.
Определение и происхождение
Алгоритм стохастической аппроксимации одновременных возмущений (SPSA) — это итеративный метод оптимизации, разработанный Джеймсом Споллом в 1992 году для решения задач, где целевая функция является зашумлённой, а вычисление её градиента аналитически или с помощью конечных разностей нецелесообразно. Он возник как развитие методов стохастической аппроксимации, в частности алгоритма Роббинса-Монро, и предназначен для работы в высокоразмерных пространствах параметров, где классические методы конечных разностей требуют непомерно большого числа измерений.
Механика алгоритма
Механизм SPSA основан на аппроксимации градиента с помощью одновременного случайного возмущения всех компонент вектора параметров. На каждой итерации k алгоритм генерирует случайный вектор возмущения Δₖ, обычно состоящий из независимых случайных величин, распределённых по закону Радемахера (±1 с равной вероятностью). Градиент g(θₖ) аппроксимируется по формуле:
ĝ(θₖ) = [L(θₖ + cₖΔₖ) - L(θₖ - cₖΔₖ)] / (2cₖΔₖ),
где L(·) — измеренное (зашумлённое) значение целевой функции, θₖ — текущая оценка параметров, а cₖ — малая положительная скалярная последовательность, убывающая до нуля. Затем параметры обновляются по правилу стохастического градиентного спуска: θₖ₊₁ = θₖ - aₖ ĝ(θₖ), где aₖ — убывающая последовательность коэффициентов обучения. Ключевая особенность — независимо от размерности пространства параметров n, для оценки градиента требуется всего два измерения функции.
Практическое применение в современной индустрии
SPSA нашёл применение в областях, где система является «чёрным ящиком» или физическим устройством, а прямое вычисление производных невозможно. В машинном обучении он используется для настройки гиперпараметров и обучения моделей в условиях сильного шума. В инженерии управления — для калибровки сложных систем. Особенно актуальным алгоритм стал в оптимизации параметров физических устройств, таких как фотонные нейронные сети. Как показано в работе arXiv:2604.02429v1, SPSA применяется для точной in-situ настройки фазовых сдвигателей в фотонном чипе после первоначального ex-situ обучения на цифровом двойнике. Это позволяет компенсировать физические неидеальности и кросс-влияния (например, теповые), минимизируя необходимость в дорогостоящих и медленных пошаговых измерениях градиента для каждого параметра.
Ограничения и перспективы развития
Основное ограничение SPSA — относительно медленная скорость сходимости по сравнению с методами первого порядка (использующими точный градиент) в условиях слабого шума. Сходимость гарантируется при определённых условиях на последовательности aₖ и cₖ и свойства функции, но на практике их выбор требует эмпирической настройки. Алгоритм чувствитетельен к уровню шума в измерениях. Перспективы развития связаны с созданием адаптивных версий алгоритма, автоматически подбирающих коэффициенты, а также с гибридизацией с другими методами оптимизации. В контексте фотонных и других аналоговых вычислительных систем SPSA остаётся ключевым инструментом для «дообучения» физических устройств, что открывает путь к созданию энергоэффективных специализированных процессоров, не требующих полного цифрового моделирования всех физических эффектов на этапе финальной настройки.
Хотите знать больше?
Мы постоянно пополняем нашу Википедию будущего новыми терминами из передовых исследований.