Pytorch-单层感知机讲解

上节介绍了loss函数的定义及多种激活函数的用法,为在后续能够构建成一个全连接层的神经网络,本文继续对pytorch相关知识进行讲解。

本文介绍pytorch中的感知机

对于单层感知机模型,其激活函数为阶梯函数,不可导。

左侧为输入层,对于所有元素,上标0代表为输入层,下标1~N表示有(N-1)个元素。左面由输入层到加和符号,再到σ为一个连接层。加和符号代表了一个节点。Wij中,i代表了上一层的节点编号,j代表了这一层的节点编号。其中加和符号上的x代表了第一层上的0号单层输出感知机,经过激活函数后,得到了第1层的第0号输出值。

后面的E代表了error,将输出值与error进行了对比。

这里不要求记忆整个过程,但要求了解x、w、σ上的符号意义。

由该结果可看出,输出值只与输出节点O0和输入节点的x有关

import torch
import torch.nn.functional as F

x = torch.randn(1, 10)
# 令x具有19个特征
w = torch.randn(1, 10, requires_grad=True)

O = torch.sigmoid(x@w.t())
# 进行转置运算
# [1, 10] * [1, 10]T => [1, 10] * [10, 1] => [1, 1]
print('O:', O)

loss = F.mse_loss(torch.ones(1, 1), O)
# 将shapa为[1, 1]的计算结果与全为1的[1, 1]矩阵进行mse计算
print('loss', loss)
print('loss shape:', loss.shape)
# 得到的loss为标量

# 再对loss进行backward()
# loss具有10个标量
loss.backward()
print('w.grad:', w.grad)

输出为

O: tensor([[0.9644]], grad_fn=<SigmoidBackward>)
loss tensor(0.0013, grad_fn=<MeanBackward0>)
loss shape: torch.Size([])
w.grad: tensor([[ 0.0022, -0.0006,  0.0007,  0.0014,  0.0004,  0.0007,  0.0009, -0.0016,
0.0034, -0.0023]])

下次课对多层感知机进行讲解

本文分享自微信公众号 - python pytorch AI机器学习实践(gh_a7878fd5de90)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PyTorch专栏(二十):高级:制定动态决策和BI-LSTM CRF

    【磐创AI 导读】:查看关于本专栏历史文章,请点击文末[阅读全文]。查看本章历史文章,请点击下方蓝色字体进入相应链接阅读。

    磐创AI
  • 主流的深度学习开源框架

    TensorFlow最初由谷歌的Machine Intelligence research organization 中Google Brain Team的研究...

    用户6021899
  • 深度学习哪家强?用数据来一较高下吧

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    blmoistawinde
  • Texar-PyTorch:在PyTorch中集成TensorFlow的最佳特性

    Texar-PyTorch 对各类不同的机器学习任务有着广泛的支持,尤其是自然语言处理(NLP)和文本生成任务。

    磐创AI
  • 开发 | Facebook 开源增强版 LASER 库:可实现 93 种语言的零样本迁移

    为了加速 NLP 应用在更多语言上的部署,Facebook 对 LASER (Language-Agnostic SEntence Representation...

    AI科技评论
  • PyTorch Tricks 集锦

    设置当前使用的GPU设备仅为0号设备,设备名称为 /gpu:0: os.environ["CUDA_VISIBLE_DEVICES"] = "0"

    用户2769421
  • PyTorch专栏(十八): 词嵌入,编码形式的词汇语义

    【磐创AI 导读】:查看关于本专栏历史文章,请点击文末[阅读全文]。查看本章历史文章,请点击下方蓝色字体进入相应链接阅读。

    磐创AI
  • Texar-PyTorch:在PyTorch中集成TensorFlow的最佳特性

    Texar-PyTorch 对各类不同的机器学习任务有着广泛的支持,尤其是自然语言处理(NLP)和文本生成任务。

    OpenCV学堂
  • Texar-PyTorch:在PyTorch中集成TensorFlow的最佳特性

    Texar-PyTorch 对各类不同的机器学习任务有着广泛的支持,尤其是自然语言处理(NLP)和文本生成任务。

    机器之心
  • 又有免费GPU资源了:可直接跑Jupyter Notebook,还支持断点续命

    福利来自一家叫做Paperspace的云计算公司,他们提供了名叫Gradient的服务:大家都可以用云端GPU,直接跑Jupyter Notebook,不需要付...

    代码医生工作室

扫码关注云+社区

领取腾讯云代金券