【发布时间】:2020-03-25 01:35:17
【问题描述】:
我想为每个 Keras 激活函数添加一个特定于节点的变量。我希望每个节点使用不同的值 (alpha) 计算激活值(输出)。
这可以全局完成,例如使用alpha relu 激活函数的参数 (link):
# Build Model
...
model.add(Dense(units=128))
model.add(Activation(lambda x: custom_activation(x, alpha=0.1)))
...
我也可以写自定义激活函数,不过alpha参数也是全局的。 (link)
# Custom activation function
def custom_activation(x, alpha=0.0):
return (K.sigmoid(x + alpha))
# Build Model
...
model.add(Dense(units=128))
model.add(Activation(lambda x: custom_activation(x, alpha=0.1)))
...
在自定义函数中,我目前只能访问以下变量:
(Pdb) locals()
{'x': <tf.Tensor 'dense/Identity:0' shape=(None, 128) dtype=float32>, 'alpha': 0.1}
我想使用自定义激活函数,但 alpha 对于网络中的每个节点都是唯一的。例如,如果层中有 128 个单元,那么我希望也有 128 个 alpha 值,每个单元/节点一个。然后我想激活函数来
如何创建一个层中每个单元/节点唯一的alpha 值?
【问题讨论】:
标签: python tensorflow keras layer activation