IDKiro / DehazeFormer

[IEEE TIP] Vision Transformers for Single Image Dehazing
MIT License
357 stars 34 forks source link

SoftReLU #2

Closed chenjiachengzzz closed 2 years ago

chenjiachengzzz commented 2 years ago

作者您好,你们的工作非常令人激动,但是你们文章中写道,提出了一种新的激活函数SoftReLU,但是我没有在你们的代码中发现有使用SoftReLU,希望能得到您的解答

IDKiro commented 2 years ago

因为并没有用SoftReLU,提出来只是为了做消融学习的,用来解释GELU效果不好的两个可能原因。

chenjiachengzzz commented 2 years ago

因为并没有用SoftReLU,提出来只是为了做消融学习的,用来解释GELU效果不好的两个可能原因。

感谢大佬的及时回复!

IDKiro commented 2 years ago

这里我还是给出消融用的代码

class SoftReLU(nn.Module):
    def __init__(self, alpha=0.1):
        super().__init__()
        self.alpha = alpha * 2
        self.a2 = self.alpha ** 2

    def forward(self, x):
        x = (x + torch.sqrt(x * x + self.a2) - self.alpha) / 2
        return x

如果真要使用,尝试alpha设置地小一点,比如0.01什么的。