Pytorch_3.8_多层感知机
3.8.1 隐藏层
3.8.2 激活函数
import torch
import matplotlib.pylab as plt
import numpy as np
import xiaobei_pytorch as xb
def xyplot(x_vals,y_vals,name):
xb.set_figsize(figsize=(5, 2.5))
xb.plt.plot(x_vals.detach().numpy(), y_vals.detach().numpy())
xb.plt.xlabel('x')
xb.plt.ylabel(name + '(x)')
ReLU函数
- ReLU = max(x,0)
x = torch.arange(-8,8,0.1,requires_grad=True)
y = x.relu()
xyplot(x,y,'relu(x)')
# print(y)
# 只允许标量对张量求导 所以这里将y转换车才能够标量,求和不改变梯度
y.sum().backward()
xyplot(x,x.grad,'grad of relu')
sigmoid函数
- sigmoid = $\frac{1}{1+exp(-x)}$
y = x.sigmoid()
xyplot(x,y,'sigmoid')
x.grad.zero_() #先将之前的梯度清零 否则梯度会累加
y.sum().backward()
xyplot(x,x.grad,'sigmoid grad')
Tanh 函数
- tanh = $\frac{1-exp(-2x)}{1+exp(-2x)}$
y = x.tanh()
xyplot(x,y,'tanh')
x.grad.zero_()
y.sum().backward()
xyplot(x,x.grad,'tanh grad')
3.8.3 多层感知机
- 隐藏层的层数和各隐藏层的隐藏单元的个数都称作感知机
- 分类问题 输出结果利用softmax + 交叉熵损失函数
- 回归问题 输出结果个数为1 利用平方损失函数
分类:
Pytorch
posted on 2020-05-20 13:28 wangxiaobei2019 阅读(194) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界