提问人:Diep Luong 提问时间:11/8/2023 更新时间:11/8/2023 访问量:9
神经网络权重初始化相互妥协
Neural network weights initialization that compromise each other
问:
第一层权重非常大、第二层权重非常小的神经网络权重初始化能很好地工作吗?
我试图研究如果第一层的权重被初始化为非常大,而第二层的权重被初始化为非常小,模型的性能会受到怎样的影响。该模型似乎无法学习正确的梯度使其收敛。为什么第一层和第二层权重可以相互妥协?
class Net(nn.Module):
def __init__(self) -> None:
super().__init__()
self.conv1 = torch.nn.Conv1d(141,100,5)
self.conv2 = torch.nn.Conv1d(100,1,1)
self.relu = nn.ReLU()
def forward(self,X):
X = X.transpose(2,1)
X = self.conv1(X)
X = self.relu(X)
X = self.conv2(X)
return X.transpose(2,1)
model = Net()
model.conv1.weight.data *= 1000
model.conv1.bias.data *= 1000
model.conv2.weight.data /= 1000
# start training here
答: 暂无答案
评论