Может ли нейронная сеть (например, сверточная нейронная сеть) иметь отрицательные веса?

13

Можно ли иметь отрицательные веса (после достаточного количества эпох) для глубоких сверточных нейронных сетей, когда мы используем ReLU для всех уровней активации?

RockTheStar
источник
Я не вижу причин, почему они не могут быть отрицательными. Есть ли конкретная причина / наблюдение, которое вы имеете в виду?
Соби
Я просто представляю процесс SGD и думаю о том, является ли отрицательный вес распространенным и возможным.
RockTheStar
Он подумал об этом, потому что «вес» напоминает синапсы, связи между нейронами, так как мы можем иметь -2 синапса к нейрону? Я наткнулся здесь после поиска той же самой вещи в Google ... Я думаю, это могло бы быть возможно в любом случае, это могло бы означать, что в конечном итоге отсутствующий синапс или ссылка и "прыжки", чтобы достичь b с другой стороны, которые вычитаются из исчисления, но я не совсем уверен, просто думаю
попробуй

Ответы:

10

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

Вот две причины, о которых я могу думать прямо сейчас, которые обосновывают (интуитивно), почему некоторые параметры становятся отрицательными:

  1. регуляризация параметров (ака снижение веса); изменение значений параметров делает прогнозирование возможным, и если параметры сосредоточены вокруг нуля (т.е. их среднее значение близко к нулю), то их норма (которая является стандартным регуляризатором) является низкой.2

  2. хотя градиенты вывода уровня относительно параметров слоя зависят от входа в уровень (который всегда положителен, если предыдущий уровень передает свои выходы через ReLU), градиент ошибки (который возникает от слоев ближе к конечным выходным слоям) может быть положительным или отрицательным, что позволяет SGD сделать некоторые из значений параметров отрицательными после выполнения следующего шага градиента. Более конкретно, позвольте , , иO WIOw обозначают вход, выход и параметры слоя в нейронной сети. Кроме того, пусть будет последней ошибкой сети, вызванной некоторой обучающей выборкой. Градиент ошибки по отношению к ш вычисляется как Ew ; обратите внимание, чтоOk=O,k(см. рисунок ниже):Ew=(k=1KEOk)OkwOk=O,k

введите описание изображения здесь

Sobi
источник
1

Представьте, что у вас есть оптимальные веса, которые все неотрицательны.

xi=xi{xi,y}

nakajuice
источник
-3

Если вы не используете другую функцию активации, например, Leaky ReLU. Исправленные веса слоев после первого неотрицательны независимо от того, сколько эпох в тренировке.

pateheo
источник
1
Большое спасибо! Можете ли вы объяснить немного больше подробностей о том, как Leaky ReLU может привести к отрицательному весу?
RockTheStar
Похоже, иск не соответствует действительности. Я провел обучение по сети, активированной ReLU, матрицы аффинного преобразования («W») и смещения («b»), которые, как я полагаю, в этом вопросе указаны в качестве весов, действительно получают отрицательные значения.
их