Spec-Zone.ru › TensorFlow 1.15

tf.contrib.constrained_optimization.AdditiveSwapRegretOptimizer

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

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

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

Коттер, Цзянь и Сридхаран. «Игры двух лиц для эффективной оптимизации невыпуклых ограниченных задач». https://arxiv.org/abs/1804.06500

Формулировка, используемая этим оптимизатором, приведена в определении 2 и обсуждается в разделе 4. Она наиболее похожа на алгоритм 2 в разделе 4, с отличием, что она использует оптимизаторы, а не SGD, для «внутренних» обновлений и выполняет аддитивные (а не мультипликативные) обновления стохастической матрицы.

Аргументы
optimizer tf.compat.v1.train.Optimizer, используемый для оптимизации целевой функции и части ограничений proxy_constraints в ConstrainedMinimizationProblem. Если constraint_optimizer не предоставлен, он также будет использован для оптимизации аналогов множителей Лагранжа.
constraint_optimizer необязательный tf.compat.v1.train.Optimizer, используемый для оптимизации аналогов множителей Лагранжа.
Атрибуты
constraint_optimizer Возвращает оптимизатор, используемый для матрицы.
optimizer Возвращает оптимизатор, используемый для оптимизации.

Методы

minimize

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

minimize(
    minimization_problem, unconstrained_steps=None, global_step=None, var_list=None,
    gate_gradients=train_optimizer.Optimizer.GATE_OP, aggregation_method=None,
    colocate_gradients_with_ops=False, name=None, grad_loss=None
)

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

Этот метод объединяет функциональность 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

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

minimize_constrained(
    minimization_problem, global_step=None, var_list=None,
    gate_gradients=train_optimizer.Optimizer.GATE_OP, aggregation_method=None,
    colocate_gradients_with_ops=False, name=None, grad_loss=None
)

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

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

Аргументы
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

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

minimize_unconstrained(
    minimization_problem, global_step=None, var_list=None,
    gate_gradients=train_optimizer.Optimizer.GATE_OP, aggregation_method=None,
    colocate_gradients_with_ops=False, name=None, grad_loss=None
)

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

В отличие от minimize_constrained, эта функция полностью игнорирует часть ограничения (и 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/AdditiveSwapRegretOptimizer

Spec-Zone.ru

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