A rede neural (por exemplo, rede neural convolucional) pode ter pesos negativos?

13

É possível ter pesos negativos (após épocas suficientes) para redes neurais convolucionais profundas quando usamos ReLU para todas as camadas de ativação?

RockTheStar
fonte
Não vejo nenhuma razão para que eles não possam ser negativos. Existe uma razão / observação específica que você tem em mente?
Sobi 08/12/2015
Estou apenas imaginando o processo da SGD e penso se o peso negativo é comum e possível.
RockTheStar
Ele pensou nisso porque "peso" se assemelha a sinapses, os elos entre os neurônios, então como podemos ter -2 sinapses em direção a um neurônio? Eu tropecei aqui depois de pesquisar exatamente a mesma coisa no google ... Acho que poderia ser possível de qualquer maneira, poderia significar eventualmente uma sinapse ou link ausente e os "saltos" para alcançar ob de outro lado que são subtraídos do cálculo, mas não tenho certeza, só de pensar
Tente

Respostas:

10

Unidades lineares retificadas (ReLUs) apenas tornam a saída dos neurônios não-negativa. Os parâmetros da rede, no entanto, podem e serão positivos ou negativos, dependendo dos dados de treinamento.

Aqui estão duas razões pelas quais posso pensar agora que justificam (intuitivamente) por que alguns parâmetros se tornam negativos:

  1. a regularização dos parâmetros (também conhecida como queda de peso); a variação nos valores dos parâmetros torna a previsão possível e, se os parâmetros estiverem centrados em torno de zero (ou seja, sua média é próxima de zero), então a norma (que é um regularizador padrão) é baixa.2

  2. embora os gradientes da saída de uma camada em relação aos parâmetros da camada dependam da entrada na camada (que são sempre positivos, supondo que a camada anterior passe suas saídas por uma ReLU), no entanto, o gradiente do erro (que vem das camadas mais próximas às camadas finais de saída) pode ser positivo ou negativo, possibilitando que o SGD torne negativos alguns dos valores dos parâmetros depois de dar o próximo passo do gradiente. Mais especificamente, deixe , e denotarem a entrada, saída e parâmetros de uma camada em uma rede neural. Além disso, seja o erro final da rede induzido por alguma amostra de treinamento. O gradiente do erro em relação a é calculado comoO w E w EIOwEw Ok=O,kEw=(k=1KEOk)Okw ; observe que (veja a figura abaixo):Ok=O,k

insira a descrição da imagem aqui

Sobi
fonte
1

Imagine que você tem pesos ideais, todos não negativos.

Agora inverta alguma variável de entrada . A rede ideal para essa configuração é com os pesos das invertidos, portanto os novos pesos não são positivos. { x i , y }xi=xi{xi,y}

nakajuice
fonte
-3

A menos que você use outra função de ativação, por exemplo, Leaky ReLU. Os pesos retificados das camadas após a primeira não são negativos, independentemente de quantas épocas no treinamento.

pateheo
fonte
11
Muito obrigado! Você pode explicar um pouco mais detalhes sobre como o Leaky ReLU pode levar a um peso negativo?
RockTheStar 5/12/15
Parece que a afirmação não é verdadeira. Fiz treinamento na rede ativada por ReLU, as matrizes na transformação afim ("Ws") e as compensações ("b's"), que presumo referenciadas nesta questão como pesos, obtêm valores negativos.
eles