繁体   English   中英

我正在研究人工神经网络。 隐藏层在哪里?

[英]I am studying artificial neural networks. Where is the hidden layer?

class MLP(nn.Module):
  def __init__(self):
    super().__init__()

    self.in_dim = 28 * 28
    self.out_dim = 10

    self.fc1 =nn.Linear(self.in_dim,512)
    self.fc2=nn.Linear(512, 256)
    self.fc3 =nn.Linear(256, 128)
    self.fc4 =nn.Linear(128, 64)
    self.fc5 =nn.Linear(64, self.out_dim)

    self.relu = nn.ReLU()

  def forward(self, x):
      a1 = self.relu(self.fc1(x.view(-1,self.in_dim)))      
      a2 = self.relu(self.fc2(a1))
      a3 = self.relu(self.fc3(a2))
      a4 = self.relu(self.fc4(a3))
      logit = self.fc5(a4)

      return logit

这真的很基础,但听了解释后我很困惑,所以我问。 看上面的代码,

如果是隐藏层,a1,a2,a3,a4 是否正确?

x是输入值,我们认为a1是x乘以fc(权重)的结果,a2是对a1应用激活函数的结果。

考虑到隐藏层位于输入层和输出层之间。 我不得不说隐藏层,在这种情况下,它将是 a2 和 a3。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM