¿Por qué usamos unidades lineales rectificadas (ReLU) con redes neuronales? ¿Cómo mejora eso la red neuronal?
¿Por qué decimos que ReLU es una función de activación? ¿No es la función de activación softmax para redes neuronales? Supongo que usamos ambos, ReLU y softmax, así:
neurona 1 con salida softmax —-> ReLU en la salida de la neurona 1, que es la entrada de la neurona 2 —> neurona 2 con salida softmax -> …
de modo que la entrada de la neurona 2 es básicamente ReLU (softmax (x1)). ¿Es esto ¿correcto?
Responder
La función ReLU es $ f (x) = \ max (0, x). $ Por lo general, esto se aplica en forma de elementos a la salida de alguna otra función, como un producto matriz-vector. En los usos de MLP, las unidades rectificadoras reemplazan todas las demás funciones de activación excepto quizás la lectura Pero supongo que podría mezclarlos y combinarlos si lo desea.
Una forma en que los ReLU mejoran las redes neuronales es acelerando el entrenamiento. El cálculo del gradiente es muy simple (0 o 1 según el signo de $ x $ ). Además, el paso computacional de un ReLU es fácil: cualquier elemento negativo se establece en 0.0 – sin exponenciales, sin operaciones de multiplicación o división.
Los gradientes de redes tangentes logísticas e hiperbólicas son más pequeños que la parte positiva de el ReLU. Esto significa que la parte positiva se actualiza más rápidamente a medida que avanza el entrenamiento. Sin embargo, esto tiene un costo. El gradiente 0 en el lado izquierdo tiene su propio problema, llamado «neuronas muertas», en el que una actualización del gradiente establece los valores entrantes en un ReLU de modo que la salida siempre sea cero; las unidades ReLU modificadas como ELU (o Leaky ReLU, o PReLU, etc.) pueden mejorar esto.
$ \ frac {d} {dx} \ text { ReLU} (x) = 1 \ forall x > 0 $ . Por el contrario, el gradiente de una unidad sigmoidea es como máximo $ 0.25 $ ; por otro lado, $ \ tanh $ obtiene mejores resultados para las entradas en una región cercana a 0 desde $ 0.25 < \ frac {d} {dx} \ tanh (x) \ le 1 \ forall x \ in [-1.31, 1.31] $ (aproximadamente).
Comentarios
- No veo evidencia de que quisiera hacer una pregunta o de que participé en esta página. Francamente, ‘ me sorprende lo bien que funciona ReLU, pero ‘ he dejado de cuestionarlo :).
- @aginensky Parece que el comentario fue eliminado en el ínterin.
- El comentario no fue eliminado por mí ni fui informado. ‘ he dejado de responder preguntas y supongo que esto significa que ‘ también he terminado de comentar.
- @aginensky No ‘ no sé por qué esto haría que dejaras de comentar. Si tiene alguna pregunta sobre los comentarios y la moderación, puede hacer una pregunta en meta.stats.SE.
Responder
Una cosa importante a señalar es que ReLU es idempotente. Dado que ReLU es $ \ rho (x) = \ max (0, x) $ , es fácil ver que $ \ rho \ circ \ rho \ circ \ rho \ circ \ dots \ circ \ rho = \ rho $ es cierto para cualquier composición finita. Esta propiedad es muy importante para las redes neuronales profundas, porque cada capa en el La red aplica una no linealidad. Ahora, apliquemos dos funciones de la familia sigmoidea a la misma entrada repetidamente 1-3 veces:
Puede ver inmediatamente que las funciones sigmoideas» aplastan «sus entradas dando como resultado el problema del gradiente de desaparición: las derivadas se acercan a cero como $ n $ (el número de aplicaciones repetidas) se acerca al infinito.
Respuesta
ReLU es la función máxima (x, 0) con la entrada x p. ej. matriz de una imagen convolucionada. Luego, ReLU establece todos los valores negativos en la matriz x en cero y todos los demás valores se mantienen constantes.
ReLU se calcula después de la convolución y es una función de activación no lineal como tanh o sigmoide.
Softmax es un clasificador al final de la red neuronal. Esa es la regresión logística para normalizar las salidas a valores entre 0 y 1. (La alternativa aquí es un clasificador SVM).
CNN Forward Pass, por ejemplo: input-> conv-> ReLU-> Pool-> conv-> ReLU-> Pool-> FC-> softmax
Comentarios
- Downvoting. ¡Esta es una muy mala respuesta! ¡Softmax no es un clasificador! Es una función que normaliza (escala) las salidas al rango [0,1] y asegura que sumen 1. La regresión logística no » regulariza » ¡cualquier cosa!La oración » ReLU se calcula después de la convolución y, por lo tanto, una función de activación no lineal como tanh o sigmoide. » carece de un verbo o sentido.
- La respuesta no es tan mala. La oración sin el verbo debe ser » ReLU se calcula después de la convolución y IS , por lo tanto, una función de activación no lineal como tanh o sigmoide. » Pensar en softmax como un clasificador también tiene sentido. Puede verse como un clasificador probabilístico que asigna una probabilidad a cada clase. » regulariza » / » normaliza » las salidas al intervalo [0,1].
Respuesta
ReLU es un cambio literal. Con un interruptor eléctrico, 1 voltio de entrada da 1 voltio de salida, n voltios de entrada da n voltios de salida cuando está encendido. Encendido / apagado cuando decide cambiar a cero da exactamente el mismo gráfico que ReLU. La suma ponderada (producto escalar) de una serie de sumas ponderadas sigue siendo un sistema lineal. Para una entrada particular, los interruptores ReLU se activan o desactivan individualmente. Eso da como resultado una proyección lineal particular desde la entrada hasta la salida, ya que varias sumas ponderadas de suma ponderada de … están conectadas entre sí por los interruptores. Para una entrada particular y una neurona de salida particular, existe un sistema compuesto de sumas ponderadas que en realidad se pueden resumir en una única suma ponderada efectiva. Dado que ReLU cambia el estado en cero, no hay discontinuidades repentinas en la salida para cambios graduales en la entrada.
Hay otros algoritmos de suma ponderada (producto escalar) numéricamente eficientes como la FFT y la transformada de Walsh Hadamard. No hay ninguna razón por la que no pueda incorporarlos a una red neuronal basada en ReLU y beneficiarse de las ganancias computacionales (por ejemplo, redes neuronales de bancos de filtros fijos).
Respuesta
ReLU es probablemente una de las funciones no lineales más simples posibles. Una función de paso es más simple. Sin embargo, una función de paso tiene la primera derivada (gradiente) cero en todas partes menos en un punto, en el que tiene un gradiente infinito. ReLU tiene una derivada finita (gradiente) en todas partes. Tiene una segunda derivada infinita en un punto.
Las redes de alimentación hacia adelante se entrenan buscando un gradiente cero. Lo importante aquí es que hay muchas primeras derivadas para calcular en la rutina de retropropagación de una red grande, y ayuda que sean rápidas de calcular como ReLU. La segunda es que, a diferencia de la función escalonada, los gradientes de ReLU son siempre finitos y no ceros triviales en casi todas partes. Por último, necesitamos activaciones no lineales para que la red de aprendizaje profundo funcione bien l, pero ese es un tema diferente.