Необходим ли узел смещения в очень больших нейронных сетях?


Я понимаю роль узла смещения в нейронных сетях и почему он важен для смещения функции активации в малых сетях. Мой вопрос заключается в следующем: является ли смещение все еще важным в очень больших сетях (более конкретно, сверточная нейронная сеть для распознавания изображений с использованием функции активации ReLu, 3 сверточных слоя, 2 скрытых слоя и более 100 000 соединений), или его влияние теряется из-за большого числа происходящих активаций?

Причина, по которой я ask-это потому, что в прошлом я строил сети, в которых я забыл реализовать узел смещения, однако при добавлении одного увидел незначительную разницу в производительности. Могло ли это быть случайностью, поскольку набор данных specifit не требовал смещения? Нужно ли инициализировать смещение с большим значением в больших сетях? Любой другой совет был бы очень признателен.

3 7

3 ответа:

Узел смещения / терм существует только для того, чтобы гарантировать, что прогнозируемый результат будет несмещенным. Если ваш вход имеет динамику (диапазон), которая идет от -1 до +1, а ваш выход - это просто перевод входного сигнала на +3, нейронная сеть с членом смещения будет просто иметь нейрон смещения с ненулевым весом, в то время как другие будут равны нулю. Если у вас нет нейрона смещения в этой ситуации, все функции активации и взвешивания будут оптимизированы таким образом, чтобы имитировать в лучшем случае простое сложение, используя сигмоиды / тангенсы и умножение.

Если оба ваших входа и выхода имеют одинаковый диапазон, скажем, от -1 до +1, то термин смещения, вероятно, не будет полезен.

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

Смещение

Эквивалентно добавлению константы типа 1 к входным данным каждого слоя. Тогда вес этой константы эквивалентен вашему смещению. Это действительно просто добавить.

Теоретически это не обязательно, так как сеть может "научиться" создавать свой собственный узел смещения на каждом слое. Один из нейронов может установить свой вес очень высоко, чтобы он всегда был 1, или на 0, чтобы он всегда выводил постоянную 0,5 (для сигмоидных единиц.) Для этого требуется, по крайней мере, 2 слоя.

Почему в нейронной сети требуется смещение:

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

Если нейронная сеть не имеет узла смещения в данном слое, она не сможет произвести Вывод в следующем слое, который отличается от 0 когда значения объектов являются 0

Вот почему нам потребовалось значение смещения в нейронной сети.