Spec-Zone.ru › TensorFlow 1.15

tf.contrib.constrained_optimization.MultiplicativeSwapRegretOptimizer

Оптимизатор, основанный на минимизации сожаления от перестановки.

Этот оптимизатор использует заданные оптимизаторы tf.compat.v1.train.Optimizer для совместной минимизации по параметрам модели и максимизации по весовой матрице ограничений/цели (аналог множителей Лагранжа), при этом последняя максимизация выполняется с помощью мультипликативных обновлений и алгоритма, минимизирующего сожаление от перестановки.

Для получения более подробной информации, пожалуйста, обратитесь к:

Cotter, Jiang и Sridharan. "Игры двух игроков для эффективной оптимизации невыпуклых ограниченных задач". https://arxiv.org/abs/1804.06500

Формулировка, используемая этим оптимизатором, представлена в определении 2 и обсуждается в разделе 4. Она наиболее похожа на алгоритм 2 в разделе 4, за исключением того, что для внутренних обновлений используются оптимизаторы tf.compat.v1.train.Optimizer, а не SGD.

Аргументы
optimizer tf.compat.v1.train.Optimizer, используемый для оптимизации цели и части proxy_constraints в ConstrainedMinimizationProblem. Если constraint_optimizer не указан, он также будет использоваться для оптимизации аналогов множителей Лагранжа.
constraint_optimizer необязательный tf.compat.v1.train.Optimizer, используемый для оптимизации аналогов множителей Лагранжа.
minimum_multiplier_radius число с плавающей точкой, каждый элемент матрицы будет ограничен снизу значением minimum_multiplier_radius , делённым на единицу плюс количество ограничений.
initial_multiplier_radius число с плавающей точкой, начальное значение каждого элемента матрицы, связанной с ограничением (т.е. за исключением элементов, связанных с целевой функцией), будет равно initial_multiplier_radius , делённому на единицу плюс количество ограничений. По умолчанию принимает значение minimum_multiplier_radius.
Исключения
ValueError Если два параметра радиуса несовместимы.
Атрибуты
constraint_optimizer Возвращает оптимизатор tf.compat.v1.train.Optimizer, используемый для матрицы.
optimizer Возвращает оптимизатор tf.compat.v1.train.Optimizer, используемый для оптимизации.

Методы

minimize

Просмотреть исходный код

Возвращает операцию Operation для минимизации ограниченной задачи.

Этот метод объединяет функциональность minimize_unconstrained и minimize_constrained. Если global_step < unconstrained_steps, выполняется неограниченное обновление, а если global_step >= unconstrained_steps, выполняется ограниченное обновление.

Это сделано для того, чтобы было целесообразно инициализировать оптимизатор ограничений приблизительным оптимумом неограниченной задачи.

Аргументы
minimization_problem ConstrainedMinimizationProblem, задача для оптимизации.
unconstrained_steps целое число, количество шагов, для которых необходимо выполнить неограниченные обновления перед переходом к ограниченным обновлениям.
global_step как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
var_list как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
gate_gradients как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
aggregation_method как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
colocate_gradients_with_ops как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
name как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
grad_loss как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
Возвращаемое значение
Operation, операция train_op.
Исключения
ValueError Если unconstrained_steps указан, но global_step не указан.

minimize_constrained

Просмотреть исходный код

Возвращает операцию Operation для минимизации ограниченной задачи.

В отличие от minimize_unconstrained, эта функция пытается найти решение, которое минимизирует часть objective задачи минимизации, удовлетворяя части constraints.

Аргументы
minimization_problem ConstrainedMinimizationProblem, задача для оптимизации.
global_step как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
var_list как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
gate_gradients как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
aggregation_method как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
colocate_gradients_with_ops как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
name как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
grad_loss как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
Возвращаемое значение
Operation, операция train_op.

minimize_unconstrained

Просмотреть исходный код

Возвращает операцию Operation для минимизации неограниченной задачи.

В отличие от minimize_constrained, эта функция игнорирует часть constraints (и proxy_constraints) задачи минимизации целиком и минимизирует только objective.

Аргументы
minimization_problem ConstrainedMinimizationProblem, задача для оптимизации.
global_step как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
var_list как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
gate_gradients как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
aggregation_method как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
colocate_gradients_with_ops как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
name как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
grad_loss как в методе minimize оптимизатора tf.compat.v1.train.Optimizer.
Возвращаемое значение
Operation, операция train_op.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/constrained_optimization/MultiplicativeSwapRegretOptimizer

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API