Pytorch最最适合研究生的入门教程
Q2 网络模型建立
2.1 什么是全连接层
全连接层(Fully Connected Layer,简称FC层)是神经网络中的一种特殊层,其特点是该层的每个神经元都与前一层的所有神经元相连,即实现了一个完全连接的矩阵乘法操作
人话版:全连接层时最基本的参数层,特征张量通过n个参数层后转换为目标张量
以下为创建一个全连接层
import torch
layer = torch.nn.Linear(
in_features=10,
out_features=32,
bias=True
)
print(layer)
Linear(in_features=10, out_features=32, bias=True)
| 参数名 | 解释 | 默认值 |
|---|---|---|
| in_features | 输入特征向量的维度 | 必填 |
| out_features | 输出向量的维度 | 必填 |
| bias | 是否使用偏置向量 | true |
| 使用例程 | ||
| Linear(in_features=10, out_features=32, bias=True) |
input = torch.rand(16, 10) # 一组16个10维度的向量
output = layer(input) # 进行推理计算
print(input.shape, output.shape)
torch.Size([16, 10]) torch.Size([16, 32])
2.2 什么是激活函数
激活函数是一种非线性函数,它被用来引入非线性特性到神经网络中。
在神经网络中,激活函数被应用在每个神经元的输出上,它将输入的加权和转换成输出值。
人话版:为网络引入非线性,至于效果如何且如何配置,全靠实验和讲故事
常见激活函数
- Sigmoid:将输入压缩到0和1之间,适合表示概率。
σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+e−x1 - ReLU:将负值置为0,正值保持不变,计算简单,且不易受到梯度消失的影响。
R e L U ( x ) = max ( 0 , x ) ReLU(x) = \max(0, x) ReLU(x)=max(0,x) - Leaky ReLU:对ReLU函数的改进,允许在负值上有一个小的斜率,解决了死亡神经元问题。
L e a k y R e L U ( x ) = max ( 0.01 x , x ) Leaky ReLU(x) = \max(0.01x, x) LeakyReLU(x)=max(0.01x,x) - Tanh:将输入压缩到-1和1之间。
t a n h ( x ) = e x − e − x e x + e − x tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} tanh(x)=ex+e−xex−e−x - Softmax:常用于多分类问题,将一组值转换为概率分布。
s o f t m a x ( x i ) = e x i ∑ j e x j softmax(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}} softmax(xi

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



