如何从零开始在 Keras 中实现 Leaky ReLU? [关闭]

Posted

技术标签:

【中文标题】如何从零开始在 Keras 中实现 Leaky ReLU? [关闭]【英文标题】:How implement Leaky ReLU in Keras from scratch? [closed] 【发布时间】:2021-01-20 20:25:41 【问题描述】:

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

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)

任何帮助将不胜感激。

【问题讨论】:

【参考方案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)

【讨论】:

以上是关于如何从零开始在 Keras 中实现 Leaky ReLU? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 Keras 中实现模型。如何解释填充/步幅值?

如何在 Keras 中实现 Salt&Pepper 层?

如何在 keras 模型中实现汉明损失作为自定义指标

如何在 Keras 中实现高斯模糊层?

如何在 keras 层中实现 GlobalMinPool2D 函数?

如何在 Keras 中实现分层 Transformer 用于文档分类?