Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Появился способ обучать системы с оптимизационными слоями, не проводя обратное распространение ошибки через полную коническую задачу. dOPT сводит вычисление производных к одному симметричному линейному решению и не привязывает его к выбранному решателю. Препринт не рецензирован, а все численные результаты получили сами авторы, но подход может упростить замену решателя внутри обучаемой системы.
Оптимизационный слой решает формализованную задачу с ограничениями прямо внутри модели — например, выбирает допустимый план или распределяет ресурсы. Чтобы обучить остальные части системы, нужно вычислить, как решение этого слоя меняется вместе с входными параметрами. Для общих конических задач такой обратный проход может оказаться сложнее прямого решения.
dOPT не дифференцирует исходную постановку целиком. После того как прямой решатель находит прямое и двойственное решения, метод строит в этой точке квадратичную задачу с ограничениями-равенствами. Она сохраняет найденное решение и его чувствительность первого порядка, а также учитывает локальную геометрию конуса первого и второго порядков.
Такое сокращение остаётся определённым даже в сингулярных конфигурациях. Производные затем вычисляет отдельная линейная система, поэтому прямую задачу можно решать подходящим инструментом, не перестраивая под него обратный проход. В экспериментах градиенты совпали с проверочными значениями, а преимущество по скорости росло вместе с размером задачи; точного коэффициента ускорения в абстракте нет.
Авторы вывели сокращения для выпуклых нелинейных, квадратичных, конических второго порядка и полуопределённых задач. Численные эксперименты проверяли корректность градиентов и масштабирование обратного прохода относительно существующих методов дифференцируемой конической оптимизации; поскольку заметка опирается только на абстракт, устройство экспериментов и масштабы задач из него восстановить нельзя.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



