Chainer:custome sigmoid激活功能

2024-05-16 19:20:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用一个自定义的斜率参数k实现下面的sigmoid函数

y = f(x)= 1/ ( 1+exp(-1*k*x))
gradient gy = k * f(x)*(1-f(x))

我想在我的自动编码器中使用它。如何在Chainer中实现这一点


Tags: 函数参数编码器chainergygradient斜率sigmoid
2条回答

如果k是常量(即超参数),F.sigmoid(k * x)应该可以正常工作

如果k是一个应该以与其他权重相同的方式学习的参数,那么您可能希望像L.PReLU这样的链接子类化,并像其他链接一样使用它,例如L.LinearL.Convolution2D。您仍然可以像上面的简单表达式一样实现链接的forward方法

激活函数应该是Chainer.FunctionNodeFunctionNode docs)的子类。chainer库提供的Swish函数就是一个例子。您可以观察它的源代码here并克隆它(或任何其他函数,如tanh),以对其向前和向后操作声明进行必要的更改,使其符合您的需要

相关问题 更多 >