0

如何从头开始实现 Leaky ReLU 并将其用作 Keras 中的自定义函数,我有一个粗略的片段,但不确定我与正确定义有多接近。我的问题分为两部分:

1-我的实施是否正确?

2-如果没有,我做错了什么?

该实现正在使用:

from keras import backend as K 
from keras.layers import Conv3D

def leaky_relu(x):
   alpha = 0.1
   return K.maximum(alpha*x, x)

和用法:

x = Conv3D(64, kernel_size=(3, 3, 3), activation=leaky_relu, padding='same', name='3D_conv')(x)

任何帮助将不胜感激。

4

1 回答 1

1

是的,这是正确的。我对该函数进行了轻微修改,使其更易于重用:

def LeakyReLU(alpha = 1):
    return lambda x : tf.keras.backend.maximum(alpha * x, x)

这样,您可以使用不同的 alpha 值调用激活:

x = Conv3D(64, kernel_size=(3, 3, 3), activation=LeakyReLU(0.1), padding='same', name='3D_conv')(x)
于 2020-10-06T01:49:50.723 回答