Chainer:Custome Sigmoid激活函数



我想用自定义斜率参数k。

实现以下sigmoid函数
y = f(x)= 1/ ( 1+exp(-1*k*x))
gradient gy = k * f(x)*(1-f(x))

我想在自动编码器中使用它。我如何在Chainer中实现?

如果k是常数(即超参数(,则F.sigmoid(k * x)应该只能工作。

如果 k是一个应与其他权重相同的参数,则可能需要为l.prelu之类的链接子类,并像其他链接一样使用它,例如L.LinearL.Convolution2D。您仍然可以像上述简单表达式一样实现链接的forward方法。

激活函数应为 Chainer.FunctionNode的子类(functionNode docs(。一个例子是Chainer库提供的SWISH函数。您可以在此处观察其源,并克隆它(或任何其他功能(例如Tanh((,以对其前进和向后操作声明进行必要的更改,以满足您的需求。

相关内容

  • 没有找到相关文章

最新更新