版权声明:本文为博主的文章,未经博主禁止可以随意转载。 https://blog.csdn.net/ONE_SIX_MIX/article/details/88994272
不知是否有前人想过这个激活函数,我没找到。。。
做GAN的实验,发现很多实现都是在生成器最后一层使用Tanh函数,不过Tanh不是和Sigmod一样存在饱和问题吗?
然后想用不会饱和Log函数来实现。
TwiceLog曲线跟Tanh曲线类似,不过没有上下界
class TwiceLog(torch.jit.ScriptModule):
__constants__ = ['scale']
def __init__(self, scale=1.):
super().__init__()
self.scale = scale
@torch.jit.script_method
def forward(self, x):
"""
:type x: torch.Tensor
"""
x = torch.where(x != 0, torch.log(torch.abs(x)+1) * torch.sign(x), x)
x = x * self.scale
return x