Puede usar la capa LeakyRelu , como en la clase python, en lugar de solo especificar el nombre de la cadena como en su ejemplo. Funciona de manera similar a una capa normal.
Importe LeakyReLU e instancia un modelo
from keras.layers import LeakyReLU
model = Sequential()
# here change your line to leave out an activation
model.add(Dense(90))
# now add a ReLU layer explicitly:
model.add(LeakyReLU(alpha=0.05))
Ser capaz de escribir simplemente, por ejemplo, activation='relu'
es posible gracias a los alias simples que se crean en el código fuente.
Para su segunda pregunta:
¿Cuáles son los mejores ajustes generales para ajustar los parámetros de LeakyRelu? ¿Y cuando su rendimiento es significativamente mejor que Relu?
Me temo que no puedo darle configuraciones óptimas para LeakyReLU, serán dependientes del modelo / datos.
La diferencia entre ReLU y LeakyReLU es la capacidad de este último para retener cierto grado de los valores negativos que fluyen hacia él, mientras que el primero simplemente establece que todos los valores menores que 0 sean 0. En teoría, este rango de salida extendido ofrece un flexibilidad ligeramente superior al modelo que lo usa. Estoy seguro de que los inventores pensaron que era útil y tal vez demostraron que ese era el caso de algunos puntos de referencia. Sin embargo, en la práctica, las personas generalmente se adhieren al ReLU, ya que los beneficios del LeakyReLU no son consistentes y el ReLU es más económico de calcular y, por lo tanto, los modelos se entrenan un poco más rápido.