Esta es la razón por la que probablemente sea una mejor idea usar PReLU, ELU u otras activaciones similares a ReLU con fugas que no solo mueren a 0, sino que caen a algo así como 0.1 * x cuando x se vuelve negativo para seguir aprendiendo. Durante mucho tiempo me pareció que las ReLU son historia como sigmoideas, aunque por alguna razón la gente todavía publica artículos con estas. ¿Por qué? No lo sé.
Dmytro Mishkin y otros muchachos realmente probaron una red con muchos tipos de activación diferentes, debería ver sus hallazgos sobre el rendimiento de diferentes funciones de activación y otras cosas. Sin embargo, algunas funciones, como XOR, se aprenden mejor con ReLU simple. No pienses en cosas neuronales en términos de dogma, porque las redes neuronales son mucho trabajo en progreso. Nadie en el mundo realmente los conoce y entiende lo suficiente como para decir la verdad divina. Nadie. Pruebe cosas, haga sus propios descubrimientos. Tenga en cuenta que el uso de ReLU en sí es un desarrollo muy reciente y durante décadas todos los diferentes doctores en el campo han utilizado funciones de activación demasiado complicadas de las que ahora solo podemos reír. Demasiado a menudo "saber" demasiado puede obtener malos resultados. Es importante comprender que las redes neuronales no son una ciencia exacta. Nada en matemáticas dice que las redes neuronales realmente funcionen tan bien como lo hacen. Es heurístico Y entonces es muy maleable.
Para su información, incluso la activación de valor absoluto obtiene buenos resultados en algunos problemas, por ejemplo, problemas de tipo XOR. Las diferentes funciones de activación se adaptan mejor a diferentes propósitos. Intenté Cifar-10 con abs () y parecía funcionar peor. Sin embargo, no puedo decir que "es una peor función de activación para el reconocimiento visual", porque no estoy seguro, por ejemplo, si mi preinicialización fue óptima, etc. El hecho de que estaba aprendiendo relativamente bien me sorprendió
Además, en la vida real, los "derivados" que pasa al backprop no necesariamente tienen que coincidir con los derivados matemáticos reales.
Incluso iría tan lejos como para decir que deberíamos prohibir llamarlos "derivados" y comenzar a llamarlos de otra manera, por ejemplo, error activation functions
no cerrar nuestras mentes a las posibilidades de jugar con ellos. En realidad, puede, por ejemplo, usar la activación ReLU, pero proporcionar un 0.1, o algo así en lugar de 0 como derivado para x <0. En cierto modo, entonces tienes un ReLU simple, pero las neuronas no pueden "morir por adaptabilidad". Yo llamo a esto NecroRelu, porque es un ReLU que no puede morir. Y en algunos casos (definitivamente no en la mayoría), eso funciona mejor que LeakyReLU simple, que en realidad tiene 0.1 derivada en x <0 y ReLU mejor de lo habitual. Sin embargo, no creo que muchos otros hayan investigado dicha función, esto o algo similar podría ser una función de activación generalmente genial que nadie consideró solo porque están demasiado concentrados en las matemáticas.
En cuanto a lo que generalmente se usa, para la función de activación de tanH (x) es habitual pasar 1 - x² en lugar de 1 - tanH (x) ² como derivada para calcular las cosas más rápido.
Además, tenga en cuenta que ReLU no es tan "obviamente mejor" que, por ejemplo, TanH. TanH probablemente puede ser mejor en algunos casos. Simplemente, por lo que parece, no en reconocimiento visual. Sin embargo, ELU, por ejemplo, tiene un poco de suavidad sigmoidea y es una de las funciones de activación más conocidas para el reconocimiento visual en este momento. Realmente no lo he intentado, pero apuesto a que uno puede configurar varios grupos con diferentes funciones de activación en el mismo nivel de capa para una ventaja. Porque, una lógica diferente se describe mejor con diferentes funciones de activación. Y a veces probablemente necesite varios tipos de evaluación.
Tenga en cuenta que es importante tener una inicialización que corresponda al tipo de su función de activación. Las ReLU con fugas necesitan otro init que las ReLU simples, por ejemplo.
EDITAR: En realidad, el ReLU estándar parece menos propenso al sobreajuste frente a los que tienen fugas con arquitecturas modernas. Al menos en reconocimiento de imágenes. Parece que si está buscando una red de muy alta precisión con una gran carga de parámetros, podría ser mejor quedarse con opciones simples de ReLU frente a fugas. Pero, por supuesto, prueba todo esto por ti mismo. Tal vez, algunas cosas con fugas funcionarán mejor si se da más regularización.