Ответы:
Вы хотели бы выполнить отсечение градиента, когда вы сталкиваетесь с проблемой исчезновения градиентов или взрыва градиентов. Однако для обоих сценариев есть лучшие решения:
Взрыв градиента происходит, когда градиент становится слишком большим, и вы получаете числовое переполнение. Это может быть легко исправлено путем инициализации весов сети меньшими значениями. Если это не работает, вероятно, в коде есть ошибка.
Исчезающий градиент происходит, когда оптимизация застревает в седловой точке, градиент становится слишком маленьким, чтобы оптимизация могла прогрессировать. Это можно исправить с помощью градиентного спуска с импульсом или среднеквадратичным значением или обоими (также известными как оптимизатор Адама).
Начальные значения для верхней границы градиентного отсечения будут чем-то меньшим, чем наибольшее число, которое может принимать переменная. Что касается нижней границы, я бы сказал, что это специфическая проблема, но, возможно, начнем с чего-то вроде 1e-10.