Keras-использование функции активации с параметром
Как можно использовать leaky ReLUs в новейшей версии keras? Функция relu () принимает необязательный параметр "alpha", который отвечает за отрицательный наклон, но я не могу понять, как передать THS paramtere при построении слоя.
эта строка, как я пытался сделать это,
model.add(Activation(relu(alpha=0.1))
но тогда я получаю ошибку
TypeError: relu() missing 1 required positional argument: 'x'
Как я могу использовать протекающий ReLU или любую другую функцию активации с некоторым параметром?
2 ответов
relu
является функцией, а не классом, и он принимает вход в функцию активации в качестве параметра x
. Слой активации принимает функцию в качестве аргумента, поэтому вы можете инициализировать ее с помощью лямбда-функции через input x
например:
model.add(Activation(lambda x: relu(x, alpha=0.1)))
Ну, из этого источника (keras doc), и этот вопрос на GitHub, вы используете линейную активацию, а затем помещаете дырявый relu в качестве другого слоя сразу после.
from keras.layers.advanced_activations import LeakyReLU
model.add(Dense(512, 512, activation='linear')) # Add any layer, with the default of an identity/linear squashing function (no squashing)
model.add(LeakyReLU(alpha=.001)) # add an advanced activation
это поможет?