Сдерживающий нейрон net во время тренировки - PullRequest
0 голосов
/ 07 марта 2020

У меня есть простые «похожие на изображения» объекты, которые содержат нелинейно закодированную информацию о реальных изображениях. Каждое реальное изображение равно нулю, за исключением двух пикселей, чьи значения с плавающей запятой суммируются в единицу.

Я создал простой нейронный net в pytorch и начал тренироваться с 1000 «подобными изображению» объектами. Это работает без каких-либо ограничений (два пикселя с плавающей точкой, суммирующие до единицы, остальные ноль), но не очень хорошо. В конечном итоге функция потерь и скорость обучения достигают своего пика примерно через 200 эпох. Поэтому я подумал, что попробую использовать ограничения.

Сначала я попытался сделать это в прямом методе моего нейронного net. Я не был оптимистом c, но все равно попробовал, потому что это было легко. Эта попытка не разочаровала, она была действительно ужасна.

Очевидно, я должен использовать ограничения множителей Лагранжа в функции потерь. Я видел множество веб-статей о том, как создавать пользовательские функции потерь, но я понятия не имею, как реализовать в них такие ограничения. Любая помощь будет принята с благодарностью.

Q'apla!

...