提问人:Jasper Rou 提问时间:10/26/2023 更新时间:10/26/2023 访问量:28
为什么我的神经网络函数近似对种子敏感?
Why is my neural network function approximation sensitive to seed?
问:
我想使用以下代码近似神经网络对看涨期权的终端收益:
import torch
import DGM_torch as DNM
torch.manual_seed(12)
# Terminal pay-off call option
def Phi(S):
return torch.max(torch.tensor(0.0), S - 1.0)
DNM_model = DNM.DGMNet(layer_width=50, input_dim=1) # Set up network
nSim = 600 # Number of samples
S_high = 2.0
# Train network
optimizer = torch.optim.Adam(DNM_model.parameters(), 1e-3) # Define the optimizer with an initial learning rate
for j in range(100):
S = torch.rand([nSim,1]) * S_high
optimizer.zero_grad()
loss = torch.mean((DNM_model(S) - Phi(S))**2)
loss.backward()
optimizer.step()
其中 DNM_model 是具有三层的长短期记忆模型。不知何故,将种子设置为 12 有效,但将其设置为 11 网络总是返回 0,但为什么呢?我认为网络学习这样的函数并不是很困难,而网络返回零会给人很大的损失。
答: 暂无答案
评论