Регуляризатор активности софтмакс? - PullRequest
0 голосов
/ 21 мая 2018

У меня есть l1 activity_regularizer = l1 в последнем слое моей генеративной нейронной сети:

outputs = Dense(200, activation='softmax', activity_regularizer=l1(1e-5))(x)

Это улучшает мои результаты, но я не понимаю, почему это что-то изменит для активации softmax.Сумма выходов = 1, причем все положительные значения всегда, поэтому регуляризатор должен давать точно такие же потери, несмотря ни на что

Что activity_regularizer=l1(1e-5) делает на моих тренировках?

1 Ответ

0 голосов
/ 23 мая 2018

Благодаря Softmax, вклад регуляризации L1 в общую стоимость фактически постоянен.

Однако градиент члена регуляризации не равен нулю и равен числу ненулевых активаций (градиент abs равен знак , поэтому мы имеем сумму знак с активаций, которые являются положительными из-за softmax).

Вы можете попробовать запустить с и без L1-члена и проверить, сколько ненулевых элементов у вас получится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...