Аннотация:
Предлагается новый вычислительно простой метод построения нейронных сетей, строго удовлетворяющих ограничениям на выход. Ключевая идея метода заключается в отображении скрытого вектора сети в точку, которая гарантированно находится внутри допустимого множества, определяемого набором выпуклых ограничений. Отображение реализуется дополнительным слоем нейронной сети. Предлагаемый метод обобщается на случай, когда совместные ограничения накладываются на входные и выходные вектора. В рамках предлагаемого метода также реализуется модель проецирования в ограниченное выпуклое множество. Реализованы различные типы ограничений, в том числе линейные и квадратичные ограничения, ограничения равенства и динамические ограничения, а также возможность отображения на границу выпуклого множества. Важной особенностью метода является его вычислительная простота. Сложность прямого прохода предлагаемого слоя нейронной сети с линейными и квадратичными ограничениями равна $O(nm)$ и $O(n^2m)$, соответственно, где $n$ – количество переменных, $m$ – число ограничений. Численные эксперименты иллюстрируют метод путем решения задач оптимизации и классификации. Программный код, реализующий метод, находится в открытом доступе.
Ключевые слова:нейронные сети, жесткие ограничения, выпуклое множество, модель проекции, задача оптимизации, классификация.
УДК:
004.8
Статья представлена к публикации:А. Л. Семёнов Поступило: 09.08.2023 После доработки: 25.09.2023 Принято к публикации: 15.10.2023