搜索

pdf文档 深度学习与PyTorch入门实战 - 19.1 单一输出感知机

548.71 KB 8 页 1 下载 63 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档介绍了在PyTorch中实现单一输出感知机的过程,包括感知机的基本结构、前向传播公式、损失函数计算以及反向传播的梯度计算。通过公式推导和代码示例,展示了如何使用PyTorch进行感知机的训练和优化,特别是梯度的计算和更新过程。
AI总结
## 总结:单一输出感知机(PyTorch入门实战) ### 1. 感知机简介 感知机是一种简单的线性分类模型,其核心公式为: $$ y = XW + b $$ 其中: - $X$ 是输入数据 - $W$ 是权重矩阵 - $b$ 是偏置项 感知机通过线性组合输入数据并引入非线性激活函数(如sigmoid)进行分类。 --- ### 2. 感知机的前向传播 感知机的前向传播过程可以表示为: $$ O_0 = \sigma(x_0^0 \cdot W_{j0} + b) $$ 其中: - $\sigma$ 是激活函数(如sigmoid) - $x_0^0$ 是输入数据 - $W_{j0}$ 是权重 - $b$ 是偏置 输出$O_0$为模型的预测结果。 --- ### 3. 损失函数与反向传播 损失函数采用均方误差(MSE): $$ E = \frac{1}{2}(O_0 - t)^2 $$ 其中$t$是目标标签。 通过链式法则计算损失对权重的梯度: $$ \frac{\partial E}{\partial w_{j0}} = (O_0 - t)O_0(1 - O_0)x_j^0 $$ --- ### 4. PyTorch实现 在PyTorch中,感知机的实现步骤如下: 1. 生成输入数据: ```python x = torch.randn(1, 10) ``` 2. 初始化权重和偏置: ```python w = torch.randn(1, 10, requires_grad=True) ``` 3. 前向传播并计算输出: ```python o = torch.sigmoid(x @ w.t()) ``` 4. 计算损失: ```python loss = F.mse_loss(torch.ones(1, 1), 0) ``` 5. 反向传播并更新权重: ```python loss.backward() ``` --- ### 5. 实验结果 实验中,输出$O_0$的形状为$(1, 1)$,损失为标量。反向传播后,权重的梯度为: ```python w.grad = tensor([[−0.0107, −0.0021, 0.0047, 0.0092, −0.0091, −0.0030, 0.0069, −0.0105, −0.0061, −0.0051]]) ``` --- ### 6. 总结 本节介绍了感知机的基本原理及其在PyTorch中的实现。通过前向传播和反向传播,完成了模型的训练。下一课时将讲解多层感知机(MLP)及更复杂的梯度计算方法。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 1 页请下载阅读 -
文档评分
请文明评论,理性发言.
分享用户
copilot
文档
文章
码力
个性签名
暂无个性签名