Тензор потока Адама с переменными границами - PullRequest
0 голосов
/ 21 января 2019

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

Как вообще можно добавить границы для методов, основанных на стохастическом градиентном спуске?Есть ли уже реализованные решения чего-то, что, на мой взгляд, является довольно распространенной проблемой?

1 Ответ

0 голосов
/ 21 января 2019

Вы можете добавить фиктивные переменные, чтобы установить границы. Например, предположим, что вы хотите, чтобы a был положительным, вы можете ввести переменную b и вычислить

a = log(1 + exp(b))

Другой пример, если вы хотите, чтобы c находилось в пределах a и b, вы можете ввести d и вычислить

c = a + (b - a) / (1 + exp(-d))
...