Как интерпретировать градиентные нормы в свертках нейронных сетей? - PullRequest
0 голосов
/ 30 октября 2018

Это может быть простой вещью, но я не могу понять интерпретацию вычисления норм градиента.

Например, я работаю над бинарной сегментацией, используя архитектуру, стекируя несколько U-сетей с каждой сетью, имеющей кодер, подобный Resnet34. Я обучил эту сеть и получаю среднее значение градиента и нормы, как показано ниже:

  • conv1 имеет средний градус -1,77767194275e-14

  • conv1 имеет норму 2.57230658463e-05

  • layer1 имеет средний градус 1.27381299952e-11

  • layer1 имеет норму 0,000390226632589

  • layer2 имеет средний градус -2,3107595698e-11

  • layer2 имеет норму 0,000265486567514

Все значения кажутся очень низкими. Я не могу понять, считаю ли я их проблемой исчезновения градиента, или градиенты могут быть действительно низкими в зависимости от проблемы.

Если градиенты могут быть действительно низкими, каков наилучший способ проверить исчезающую проблему градиента?

Любой совет приветствуется для анализа данных градиентов. Заранее спасибо!

1 Ответ

0 голосов
/ 30 октября 2018

Низкие средние значения не являются проблематичными. Конечно, некоторая проблема может вызвать низкие значения, но низкие значения не означают проблему сами по себе. Более того, я думаю, что нормы градиентов не слишком низкие.

Мы должны переосмыслить, что вызывает исчезающую проблему градиента в этом случае. Когда мы используем ReLU в качестве функции активации, градиенты не исчезают (но они могут быть нулевыми).

...