当前位置: 首页 > wzjs >正文

做网站为什么需要购买域名网站开发维护招聘

做网站为什么需要购买域名,网站开发维护招聘,邯郸网络教研平台登录,重庆一家和兴装饰设计有限公司全连接神经网络3.3.1 特点3.3.2 计算步骤3.3.3 基本组件认知激活函数组件损失函数组件优化器3.3.3 创建全连接神经网络前馈神经网络(Feedforward Neural Network,FNN)是一种最基本的神经网络结构,其特点是信息从输入层经过隐藏层单…

全连接神经网络

      • 3.3.1 特点
      • 3.3.2 计算步骤
      • 3.3.3 基本组件认知
        • 激活函数组件
        • 损失函数组件
        • 优化器
        • 3.3.3 创建全连接神经网络

前馈神经网络(Feedforward Neural Network,FNN)是一种最基本的神经网络结构,其特点是信息从输入层经过隐藏层单向传递到输出层,没有反馈或循环连接

全连接神经网络(Fully Connected Neural Network,FCNN)是前馈神经网络的一种,每一层的神经元与上一层的所有神经元全连接,常用于图像分类、文本分类等任务。
在这里插入图片描述
在这里插入图片描述
如上图,网络中每个神经元:
z1=x1∗w1+x2∗w2+b1z2=x1∗w1+x2∗w2+b2z3=x1∗w1+x2∗w2+b3z_1 = x_1*w_1 + x_2*w_2+b_1 \\ z_2 = x_1*w_1 + x_2*w_2+b_2 \\ z_3 = x_1*w_1 + x_2*w_2+b_3 z1=x1w1+x2w2+b1z2=x1w1+x2w2+b2z3=x1w1+x2w2+b3
说明:三个等式中的w1和w2在这里只是为了方便表示对应x1和x2的权重,实际三个等式中的w值是不同的。

向量x为:[x1,x2][x_1,x_2][x1,x2]

向量w:(w1,w2w1,w2w1,w2)\begin{pmatrix}w_1,w_2\\w_1,w_2\\w_1,w_2 \end{pmatrix}w1,w2w1,w2w1,w2,其形状为(3,2),3是神经元节点个数,2是向量x的个数

向量z:[z1,z2,z3][z_1,z_2,z_3][z1,z2,z3]

向量b:[b1,b2,b3][b_1,b_2,b_3][b1,b2,b3]

所以用向量表示为:
z=(z1,z2,z3)=(x1,x2)(w1,w1,w1w2,w2,w2)+(b1,b2,b3)=(x1,x2)(w1,w2w1,w2w1,w2)T+(b1,b2,b3)=xwT+bz = \begin{pmatrix}z_1,z_2,z_3 \end{pmatrix}=\begin{pmatrix}x_1,x_2 \end{pmatrix}\begin{pmatrix}w_1,w_1,w_1\\w_2,w_2,w_2\end{pmatrix}+\begin{pmatrix}b_1,b_2,b_3 \end{pmatrix}=\begin{pmatrix}x_1,x_2 \end{pmatrix}\begin{pmatrix}w_1,w_2\\w_1,w_2\\w_1,w_2 \end{pmatrix}^T + \begin{pmatrix}b_1,b_2,b_3 \end{pmatrix}=xw^T+b z=(z1,z2,z3)=(x1,x2)(w1,w1,w1w2,w2,w2)+(b1,b2,b3)=(x1,x2)w1,w2w1,w2w1,w2T+(b1,b2,b3)=xwT+b

  • x是输入数据,形状为 (batch_size, in_features)。
  • W是权重矩阵,形状为 (out_features, in_features)。
  • b是偏置项,形状为 (out_features,)。
  • z是输出数据,形状为 (batch_size, out_features)。、

batch_size:数据或者样本的数量,即数据的条数

in_features:一条数据中x的数量(x的特征数量)

out_features:一个y的特征数量

3.3.1 特点

  • 全连接层: 层与层之间的每个神经元都与前一层的所有神经元相连。
  • 权重数量: 由于全连接的特点,权重数量较大,容易导致计算量大、模型复杂度高。
  • 学习能力: 能够学习输入数据的全局特征,但对于高维数据却不擅长捕捉局部特征(如图像就需要CNN)。

3.3.2 计算步骤

  1. 数据传递: 输入数据经过每一层的计算,逐层传递到输出层。
  2. 激活函数: 每一层的输出通过激活函数处理。
  3. 损失计算: 在输出层计算预测值与真实值之间的差距,即损失函数值。
  4. 反向传播(Back Propagation): 通过反向传播算法计算损失函数对每个权重的梯度,并更新权重以最小化损失。

3.3.3 基本组件认知

先初步认知,他们用法基本一样的,后续在学习深度神经网络和卷积神经网络的过程中会很自然的学到更多组件!

官方文档:https://pytorch.org/docs/stable/nn.html
线性层组件

nn.Linear是 PyTorch 中的一个非常重要的模块,用于实现全连接层(也称为线性层)。它是神经网络中常用的一种层类型,主要用于将输入数据通过线性变换映射到输出空间。

torch.nn.Linear(in_features, out_features, bias=True)

参数说明:

in_features:

  • 输入特征的数量(即输入数据的维度)。
  • 例如,如果输入是一个长度为 100 的向量,则 in_features=100。

out_features:

  • 输出特征的数量(即输出数据的维度)。
  • 例如,如果希望输出是一个长度为 50 的向量,则 out_features=50。

bias:

  • 是否使用偏置项(默认值为 True)。
  • 如果设置为 False,则不会学习偏置项。
    线性层使用代码:
 '''线性层的使用'''x=torch.tenor([1,2,3,4,5],dtype=torch.float).view(-1,1)y=torch.tensor([3,5,7,9,11], dtype=torch.float).view(-1,1)model=nn.Linear(x.size(1),y.size(1))
  • 使用nn.Linear(in_features,out_features)
  • 注意Linear的参数与x,y的特征值有关,x,y维度要进行处理不能是一维

如果模型中线性层按顺序叠加,也可以使用nn.Sequential构建模型。nn.Sequential 是一个顺序容器,内置了自动的前向传播逻辑,它会自动将输入数据依次传递给其中的每一层,并执行前向传播,不需要显式定义 forward() 方法。

import torch
from torch import nninput_size = 32
# 定义全连接神经网络模型
model = nn.Sequential(nn.Linear(input_size, 64),nn.Linear(64, 32),nn.Linear(32, 1)
)
print(model)
激活函数组件

激活函数的作用是在隐藏层引入非线性,使得神经网络能够学习和表示复杂的函数关系,使网络具备非线性能力,增强其表达能力。

常见激活函数

sigmoid函数:

import torch.nn.functional as F
sigmoid = F.sigmoid()

tanh函数:

tanh = F.tanh

ReLU函数:

import torch.nn as nn
relu = nn.ReLU()

LeakyReLU函数:

leaky_relu = nn.LeakyReLU(negative_slope=0.01)

softmax函数:

softmax = F.softmax
损失函数组件

损失函数的主要作用是量化模型预测值(y^)与真实值(y)之间的差异。通常,损失函数的值越小,表示模型的预测越接近真实值。训练过程中,通过优化算法(如梯度下降)最小化损失函数,从而调整模型的参数。

PyTorch已内置多种损失函数,在构建神经网络时随用随取!

文档:https://pytorch.org/docs/stable/nn.html#loss-functions

根据任务类型(如回归、分类等),损失函数可以分为以下几类:

回归任务的损失函数

1.均方误差损失(MSE Loss)

  • 函数: torch.nn.MSELoss

    import torch.nn as nn
    loss_fn = nn.MSELoss()
    

2.L1 损失(L1 Loss)

也叫做MAE(Mean Absolute Error,平均绝对误差)

  • 函数: torch.nn.L1Loss

    import torch.nn as nn
    loss_fn = nn.L1Loss()
    

分类任务的损失函数

1.交叉熵损失(Cross-Entropy Loss)

  • 函数: torch.nn.CrossEntropyLoss

    cross_entropy_loss = nn.CrossEntropyLoss()
    
  • 参数:reduction:mean-平均值,sum-总和

  • 适用场景: 用于多分类任务。

2.二元交叉熵损失(Binary Cross-Entropy Loss)

  • 函数: torch.nn.BCELoss 或 torch.nn.BCEWithLogitsLoss

    bce_loss = nn.BCELoss()
    bce_with_logits_loss = nn.BCEWithLogitsLoss()
    
  • 适用场景: 用于二分类任务。

  • 特点: BCEWithLogitsLoss 更稳定,因为它结合了 Sigmoid 激活函数和 BCE 损失。

  • 注意:使用 nn.BCELoss 时,需要确保预测值经过 sigmoid 函数处理。如果预测值是 logits(即未经 sigmoid 处理的预测值),可以使用 nn.BCEWithLogitsLoss,它内部会自动应用 sigmoid 函数。

优化器

官方文档:https://pytorch.org/docs/stable/optim.html

在PyTorch中,优化器(Optimizer)是用于更新模型参数以最小化损失函数的核心工具。

PyTorch 在 torch.optim 模块中提供了多种优化器,常用的包括:

  • SGD(随机梯度下降)
  • Adagrad(自适应梯度)
  • RMSprop(均方根传播)
  • Adam(自适应矩估计)

核心方法有:

zero_grad():清空模型参数的梯度(将梯度置零)。必须在loss.backward()之前调用zero_grad(),避免梯度累积。

step():参数更新;是优化器的核心方法,用于根据计算得到的梯度更新模型参数。优化器会根据梯度和学习率等参数,调整模型的权重和偏置。

3.3.3 创建全连接神经网络

创建一个最基本的全连接神经网络(也称为多层感知机,MLP)通常需要以下:步骤和方法

http://www.dtcms.com/wzjs/582600.html

相关文章:

  • 做零售外贸网站有哪些聚搜济南网站建设公司
  • 用别人服务器做网站wordpress 1核2g的服务器卡
  • 建网站要多少钱维护制作投票网站
  • 外贸建设网站公司哪家好学做app
  • wordpress网站如何播放视频播放器工程建设股票龙头
  • 创新的江苏网站建设wordpress不同内容
  • 企业英文网站网站模版的软件
  • 届毕业设计代做网站动易网站模版的制作
  • 网站目录 自动wordpress获取tags
  • 邯郸建设企业网站营销课程培训都有哪些
  • 做pc端网站要多少钱网站备案归
  • 传奇游戏谷歌seo专员
  • 广州网站建设优化方案企业形象网站解决方案
  • 环保网站设计建设论文石家庄建设银行河北分行招聘网站
  • 如何请人做网站大型企业网络设计方案
  • 兴化住房和城乡建设局网站浏览器大全列表
  • 易网官方网站网站建设申请表
  • 免费开网站网博士自助建站系统下载
  • 南宁网站建设活动网站建设公司包括哪些方面
  • 网站开发策划案国际电商平台排名
  • 做网站优化需要做哪些事项河北网站建设备案
  • 电子商务网站开发时间进度表网站建设调研提纲
  • 做1688网站需要懂英语吗wordpress优化软件
  • php 网站开发工程师湖北网站建设哪家好
  • 织梦企业网站源码广东省建设教育协会网站
  • 微网站模板 餐饮沈阳网约车公司
  • 推广网站案例一个人怎么开贸易公司
  • 电子商务做网站设计梧州市建设局网站
  • 行业网站建设的书公司网站建设宣传话语
  • 申请完域名如何建网站Wordpress建立空白页面