Intuición matemática para el uso de Re-Lu's en Machine Learning

10

Por lo tanto, actualmente las funciones de activación más utilizadas son las de Re-Lu. Entonces respondí a esta pregunta ¿Cuál es el propósito de una función de activación en Redes Neuronales? y mientras escribía la respuesta me llamó la atención, ¿cómo puede exactamente la función no lineal aproximada de Re-Lu?

Por definición matemática pura, claro, es una función no lineal debido a la curva cerrada, pero si nos limitamos a la porción positiva o negativa del eje x solamente, entonces es lineal en esas regiones. Digamos que también tomamos todo el eje x, entonces también es un poco lineal (no en sentido matemático estricto) en el sentido de que no puede aproximar satisfactoriamente funciones curvilíneas como onda sinusoidal ( 0 --> 90) con una capa oculta de un solo nodo como es posible por un sigmoide función de activación

Entonces, ¿cuál es la intuición detrás del hecho de que los Re-Lu se usan en los NN, lo que brinda un rendimiento satisfactorio (no estoy preguntando el propósito de los Re-Lu) a pesar de que son algo lineales? ¿O a veces se lanzan funciones no lineales como sigmoide y tanh en el medio de la red?

EDITAR: Según el comentario de @ Eka, Re-Lu deriva su capacidad de la discontinuidad que actúa en las capas profundas de la red neuronal. ¿Significa esto que los Re-Lu son buenos siempre que lo usemos en Deep NN y no en un NN superficial?

DuttaA
fuente
2
No soy un experto, pero encontré este enlace quora.com/…
Eka
1
@Eka buen enlace ... pero están afirmando hechos concretos sin dar una buena intuición
DuttaA
3
Esto es una suposición; La capacidad del relu para aproximar funciones no lineales puede ser el resultado de su propiedad de discontinuidad, es decir, max(0,x)actuar en capas profundas de la red neuronal. Hay una investigación de openai en la que calcularon funciones no lineales usando redes lineales profundas. Aquí está el enlace blog.openai.com/nonlinear-computation-in-linear-networks
Eka

Respuestas:

2

Las salidas de una red ReLU son siempre "lineales" y discontinuas. Pueden aproximar curvas, pero podría tomar muchas unidades ReLU. Sin embargo, al mismo tiempo, sus salidas a menudo se interpretarán como una salida curva continua.

Imagina que entrenaste una red neuronal que toma x 3 y produce | x 3 | (que es similar a una parábola). Esto es fácil para que la función ReLU funcione perfectamente. En este caso, la salida es curva.

Pero en realidad no es curva. Las entradas aquí están 'linealmente' relacionadas con las salidas. Todo lo que hace la red neuronal es tomar la entrada y devolver el valor absoluto de la entrada. Realiza una función 'lineal', no curva. Solo puede ver que la salida no es lineal cuando la grafica con los valores x originales (la x en x 3 ).

Entonces, cuando trazamos la salida en un gráfico y se ve curvada, generalmente es porque asociamos diferentes valores de x con la entrada, y luego trazamos la salida como la coordenada y en relación con esos valores de x.

Bien, entonces quieres saber cómo modelarías sin (x) usando ReLU. El truco es que no quieres poner x como entrada. En su lugar, coloque algo curvo en relación con x como entrada, como x 3 . Entonces la entrada es x 3 y la salida es sin (x). La razón por la que esto funcionaría es que no está calculando el seno de la entrada, sino que está calculando el seno de la raíz cúbica de la entrada. Nunca podría calcular sin problemas el seno de la entrada en sí. Para graficar la salida sin (x), coloque la x original como la coordenada x (no ponga la entrada) y ponga la salida como la coordenada y.

Foto por defecto
fuente
Supongo que el enfoque que está dando requeriría muchos relus ... Está discretizando la curva ... Entonces, para curvas más finas necesitamos más relus ... ¿Correcto?
DuttaA
No del todo, OMI. Si toma un montón de diferentes combinaciones lineales de la entrada en la primera capa, entonces tendrá muchos tipos diferentes de curvas disponibles para juntar en la siguiente capa, nuevamente con más combinaciones lineales. Esto puede generar una salida impecable. Imagine, por ejemplo, si corta y pega las curvas juntas solo en sus extremos locales. Entonces las curvas resultantes serían casi perfectamente continuas. También depende exactamente de qué tan bien desea que sea la salida. Sin embargo, es cierto que hay mejores funciones de activación que ReLU debido a su excesiva linealidad (por ejemplo, ELU)
Imagen predeterminada
No podía entender cómo lo haremos, tendremos muchas curvas diferentes disponibles por un simple Re-lu ... será solo una combinación de 2 líneas rectas
DuttaA
@DuttaA Las líneas rectas son solo la función de mapeo. Puede asignar una curva a una curva usando un mapeo Relu. Todo lo que necesita es tener una curva como sus datos de entrada.
Imagen predeterminada
@DuttaA La línea del número de entrada es una línea recta y la línea del número de salida es una línea recta, pero eso no dice nada sobre la forma de los datos en la línea numérica. El plano xy es un espacio euclidiano rectangular, pero puede tener curvas dentro del espacio rectangular.
Imagen predeterminada