ann
神经网络 ANN
-
代码定义
- 首先我们继承自 torch.nn.Module
- 我们定义每一层 Hide 都会用到 self.layer = nn.Linear(input_dim,output_dim)
-
正向传播 Forward Propagation
- 需要传入一个 torch.tensor 变量 x,然后使用 x = torch.sigmoid(self.layer1(x))
- 当然可以使用其它激活函数代替 sigmoid()
-
损失函数 Loss Function
- 常见的有 nn.MSELoss() 等
-
优化函数 Optim
- 采用 torch.optim 库的 SGD(随机梯度下降)
- SGD 参数是学习参数 model.parameters(), 和学习率 learning_rate=0.1
- 前者需要定义好 model 的层数
-
反向传播 Backward Propagation
- 总共分三步:清零梯度,计算本层梯度,执行
- optimizer.zero_grad() -> loss.backward() -> optimizer.step()
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
