簡體   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