当前位置:网站首页>Pytorch(二) —— 激活函数、损失函数及其梯度
Pytorch(二) —— 激活函数、损失函数及其梯度
2022-07-01 04:35:00 【CyrusMay】
Pytorch(二) —— 激活函数、损失函数及其梯度
1.激活函数
1.1 Sigmoid / Logistic
δ ( x ) = 1 1 + e − x δ ′ ( x ) = δ ( 1 − δ ) \delta(x)=\frac{1}{1+e^{-x}}\\\delta'(x)=\delta(1-\delta) δ(x)=1+e−x1δ′(x)=δ(1−δ)
import matplotlib.pyplot as plt
import torch.nn.functional as F
x = torch.linspace(-10,10,1000)
y = F.sigmoid(x)
plt.plot(x,y)
plt.show()

1.2 Tanh
t a n h ( x ) = e x − e − x e x + e − x ∂ t a n h ( x ) ∂ x = 1 − t a n h 2 ( x ) tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}\\\frac{\partial tanh(x)}{\partial x}=1-tanh^2(x) tanh(x)=ex+e−xex−e−x∂x∂tanh(x)=1−tanh2(x)
import matplotlib.pyplot as plt
import torch.nn.functional as F
x = torch.linspace(-10,10,1000)
y = F.tanh(x)
plt.plot(x,y)
plt.show()

1.3 ReLU
f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
import matplotlib.pyplot as plt
import torch.nn.functional as F
x = torch.linspace(-10,10,1000)
y = F.relu(x)
plt.plot(x,y)
plt.show()

1.4 Softmax
p i = e a i ∑ k = 1 N e a k ∂ p i ∂ a j = { p i ( 1 − p j ) i = j − p i p j i ≠ j p_i=\frac{e^{a_i}}{\sum_{k=1}^N{e^{a_k}}}\\ \frac{\partial p_i}{\partial a_j}=\left\{ \begin{array}{lc} p_i(1-p_j) & i=j \\ -p_ip_j&i\neq j\\ \end{array} \right. pi=∑k=1Neakeai∂aj∂pi={ pi(1−pj)−pipji=ji=j
import torch.nn.functional as F
logits = torch.rand(10)
prob = F.softmax(logits,dim=0)
print(prob)
tensor([0.1024, 0.0617, 0.1133, 0.1544, 0.1184, 0.0735, 0.0590, 0.1036, 0.0861,
0.1275])
2.损失函数
2.1 MSE
import torch.nn.functional as F
x = torch.rand(100,64)
w = torch.rand(64,1)
y = torch.rand(100,1)
mse = F.mse_loss(y,[email protected])
print(mse)
tensor(238.5115)
2.2 CorssEntorpy
import torch.nn.functional as F
x = torch.rand(100,64)
w = torch.rand(64,10)
y = torch.randint(0,9,[100])
entropy = F.cross_entropy([email protected],y)
print(entropy)
tensor(3.6413)
3. 求导和反向传播
3.1 求导
- Tensor.requires_grad_()
- torch.autograd.grad()
import torch.nn.functional as F
import torch
x = torch.rand(100,64)
w = torch.rand(64,1)
y = torch.rand(100,1)
w.requires_grad_()
mse = F.mse_loss([email protected],y)
grads = torch.autograd.grad(mse,[w])
print(grads[0].shape)
torch.Size([64, 1])
3.2 反向传播
- Tensor.backward()
import torch.nn.functional as F
import torch
x = torch.rand(100,64)
w = torch.rand(64,10)
w.requires_grad_()
y = torch.randint(0,9,[100,])
entropy = F.cross_entropy([email protected],y)
entropy.backward()
w.grad.shape
torch.Size([64, 10])
by CyrusMay 2022 06 28
人生 只是 须臾的刹那
人间 只是 天地的夹缝
——————五月天(因为你 所以我)——————
边栏推荐
- ThreeJS开篇
- Section 27 remote access virtual private network workflow and experimental demonstration
- The index is invalid
- 25.k sets of flipped linked lists
- 2022年化工自动化控制仪表操作证考试题库及答案
- 2. Use of classlist (element class name)
- 嵌入式系统开发笔记80:应用Qt Designer进行主界面设计
- LM小型可编程控制器软件(基于CoDeSys)笔记十九:报错does not match the profile of the target
- Recommend the best product development process in the Internet industry!
- Strategic suggestions and future development trend of global and Chinese vibration isolator market investment report 2022 Edition
猜你喜欢

TCP server communication flow

ThreeJS开篇

Question bank and answers for chemical automation control instrument operation certificate examination in 2022
![[pat (basic level) practice] - [simple simulation] 1064 friends](/img/37/0ef0f8aae15ae574be1d76c97497c9.jpg)
[pat (basic level) practice] - [simple simulation] 1064 friends

2022年G1工业锅炉司炉特种作业证考试题库及在线模拟考试

Daily algorithm & interview questions, 28 days of special training in large factories - the 13th day (array)

Registration of P cylinder filling examination in 2022 and analysis of P cylinder filling

One job hopping up 8K, three times in five years

TASK04|數理統計

离线安装wireshark2.6.10
随机推荐
Programs and processes, process management, foreground and background processes
js 图片路径转换base64格式
[deep learning] (4) decoder mechanism in transformer, complete pytoch code attached
JS image path conversion Base64 format
Tencent has five years of testing experience. It came to the interview to ask for 30K, and saw the so-called software testing ceiling
网站服务器:好用的网站服务器怎么选这五方面要关注
Ospfb notes - five messages [ultra detailed] [Hello message, DD message, LSR message, LSU message, lsack message]
How to ensure the idempotency of the high concurrency interface?
Web server: how to choose a good web server these five aspects should be paid attention to
2022年化工自动化控制仪表操作证考试题库及答案
嵌入式系統開發筆記80:應用Qt Designer進行主界面設計
Shell analysis server log command collection
(12) Somersault cloud case (navigation bar highlights follow)
Possible problems and solutions of using scroll view to implement slider view
CUDA development and debugging tool
MySQL function variable stored procedure
Recommend the best product development process in the Internet industry!
Question bank and answers for chemical automation control instrument operation certificate examination in 2022
OSPF notes [multiple access, two multicast addresses with OSPF]
The junior college students were angry for 32 days, four rounds of interviews, five hours of soul torture, and won Ali's offer with tears