当前位置:网站首页>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
人生 只是 须臾的刹那
人间 只是 天地的夹缝
——————五月天(因为你 所以我)——————
边栏推荐
- The index is invalid
- JVM栈和堆简介
- 嵌入式系统开发笔记80:应用Qt Designer进行主界面设计
- How to choose the right server for website data collection?
- Tcp/ip explanation (version 2) notes / 3 link layer / 3.4 bridge and switch / 3.4.2 multiple registration protocol (MRP)
- Redis (VII) optimization suggestions
- Codeforces Round #721 (Div. 2)B1. Palindrome Game (easy version)B2. Palindrome game (hard version)
- JS image path conversion Base64 format
- Day 52 - tree problem
- Measurement of quadrature axis and direct axis inductance of three-phase permanent magnet synchronous motor
猜你喜欢

In the innovation community, the "100 cities Tour" of the gold warehouse of the National People's Congress of 2022 was launched

283. move zero

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

Programs and processes, process management, foreground and background processes

LM small programmable controller software (based on CoDeSys) note 20: PLC controls stepping motor through driver

2022年煤气考试题库及在线模拟考试

Tip of edge browser: enter+ctrl can automatically convert the address bar into a web address

2022危险化学品生产单位安全生产管理人员题库及答案

Odeint et GPU
![[recommended algorithm] C interview question of a small factory](/img/ae/9c83efe86c03763710ba5e4a2eea33.jpg)
[recommended algorithm] C interview question of a small factory
随机推荐
Collect the annual summary of laws, regulations, policies and plans related to trusted computing of large market points (national, ministerial, provincial and municipal)
Annual inventory review of Alibaba cloud's observable practices in 2021
尺取法:有效三角形的个数
Codeforces Round #721 (Div. 2)B1. Palindrome Game (easy version)B2. Palindrome game (hard version)
2022 t elevator repair question bank and simulation test
MySQL advanced -- you will have a new understanding of MySQL
MySQL function variable stored procedure
网站服务器:好用的网站服务器怎么选这五方面要关注
Tcp/ip explanation (version 2) notes / 3 link layer / 3.4 bridge and switch / 3.4.2 multiple registration protocol (MRP)
Simple implementation of slf4j
Shell之Unix运维常用命令
Browser top loading (from Zhihu)
LM small programmable controller software (based on CoDeSys) note 19: errors do not match the profile of the target
(12) Somersault cloud case (navigation bar highlights follow)
Maixll-Dock 快速上手
Why is Hong Kong server most suitable for overseas website construction
2022年上海市安全员C证考试题模拟考试题库及答案
Tencent has five years of testing experience. It came to the interview to ask for 30K, and saw the so-called software testing ceiling
OSPF notes [dr and bdr]
Account sharing technology enables the farmers' market and reshapes the efficiency of transaction management services