ReLU é uma função de ativação definida como onde .
Normalmente, treinamos redes neurais com métodos de primeira ordem, como SGD, Adam, RMSprop, Adadelta ou Adagrad. A retropropagação em métodos de primeira ordem requer derivada de primeira ordem. Portanto é derivado de .
Mas se usarmos métodos de segunda ordem, a derivada de ReLU seria ? Porque é derivado de e é derivado novamente para . Seria um erro? Por exemplo, com o método de Newton, você dividirá por . (Ainda não entendo realmente a otimização sem Hessian. IIRC, é uma questão de usar um Hessian aproximado em vez do real).
Qual é o efeito deste ? Ainda podemos treinar a rede neural com ReLU com métodos de segunda ordem? Ou seria não treinável / erro (nan / infinito)?
Para maior clareza, é ReLU como :