我正在使用GAT模型,我发现GAT模型中的许多代码都在使用增益值为1.414的xavier_uniform。
我很奇怪他们会使用这个特定值。
self.W = nn.Parameter(torch.zeros(size=(in_features, out_features))) nn.init.xavier_uniform_(self.W.data, gain=1.414)
发布于 2021-07-17 23:14:42
gain是哈维尔均匀初始化中的比例因子。
gain
root(2)是ReLU的建议增益值。所以如果你使用的是ReLU激活函数,那么在初始化时最好使用1.41作为增益值。阅读更多here。
root(2)
gain = nn.init.calculate_gain('relu') print(gain) 1.4142135623730951
由于非线性会影响激活的std dev,因此可能会遇到一些问题,例如渐变消失。相对于非线性的增益应该给你提供激活的“良好”统计信息。-- source
https://stackoverflow.com/questions/68421473
相似问题