É possível ter pesos negativos (após épocas suficientes) para redes neurais convolucionais profundas quando usamos ReLU para todas as camadas de ativação?
É possível ter pesos negativos (após épocas suficientes) para redes neurais convolucionais profundas quando usamos ReLU para todas as camadas de ativação?
Respostas:
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:
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.
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 ∂ E Ok=O,∀k ; observe que (veja a figura abaixo):
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.