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

视频生成链接网站seminar

视频生成链接网站,seminar,企业网站为什么做优化,专门做悬疑推理小说的阅读网站PyTorch模型训练相关要素 全连接神经⽹络模型结构补全激活函数归一化正则化模型结构和⽅法在这里插入图片描述优化器 Optimizer带动量的随机梯度下降 神经⽹络输出层与模型任务回归任务相关损失函数 分类任务相关损失函数交叉熵 ) 全连接神经⽹络模型结构补全 激活函数 Sigm…

PyTorch模型训练相关要素

  • 全连接神经⽹络模型结构补全
    • 激活函数
    • 归一化
    • 正则化
    • 模型结构和⽅法
    • 在这里插入图片描述
    • 优化器 Optimizer
      • 带动量的随机梯度下降
    • 神经⽹络输出层与模型任务
      • 回归任务相关损失函数
    • 分类任务相关损失函数
      • 交叉熵

)

全连接神经⽹络模型结构补全

激活函数

  • Sigmoid
    提出时间:1943年(McCulloch和Pitts在⼈⼯神经元模型中⾸次使⽤)。
    特点:输出压缩在0到1之间,具有⾮线性特性,但梯度在两端趋近于零,容易导致梯度消失问题,且输出均值不为零,可能影响训练稳定性。
    应⽤⽹络模型:早期常⽤于逻辑回归、浅层神经⽹络的分类任务,以及⽣成对抗⽹络(GANs)的输出层(⽣成概率分布)。
    使⽤普遍性:在深度学习中逐渐被ReLU等替代,但在需要概率解释的任务(如⼆分类、语⾔模型)中仍有应⽤。
  • tanh
    提出时间:1940年代(作为Sigmoid的变体被提出)。
    特点:输出范围为-1到1,均值为零,⽐Sigmoid更易训练,但仍存在梯度消失问题。
    应⽤⽹络模型:常⽤于循环神经⽹络(RNN)、⻓短期记忆⽹络(LSTM)的⻔控机制,以及早期深度神经⽹络的中间层。
    使⽤普遍性:在现代模型中逐渐被ReLU取代,但在序列建模(如⾃然语⾔处理)和某些强化学习场景中仍有使⽤。
  • ReLU
    提出时间:2012年(由Hinton团队在ImageNet竞赛中推⼴)。
    特点:计算⾼效,缓解梯度消失问题,但存在“神经元死亡ˮ现象(输⼊负时梯度为零,导致权重⽆法更新)。
    应⽤⽹络模型:⼴泛⽤于卷积神经⽹络(CNN)、残差⽹络(ResNet)、循环神经⽹络(RNN)等,是深度学习的主流激活函数。
    使⽤普遍性:⽬前最常⽤的激活函数,适⽤于⼤多数视觉、语⾔和序列任务。
  • Leaky ReLU
    提出时间:2013年(由Maas等⼈提出)。
    特点:改进ReLU的“死亡ˮ问题,当输⼊为负时保留⼩梯度(如斜率0.01),保持神经元活性。
    应⽤⽹络模型:在⽣成对抗⽹络(DCGAN)、超分辨率模型中表现良好,常⽤于替代ReLU以提升训练稳定性。
    使⽤普遍性:在需要避免ReLU缺陷的场景中普遍使⽤,是ReLU的常⻅改进版本。
  • Swish
    提出时间:2017年(由Google团队提出)。
    特点:公式为 ,结合平滑性和⾃⻔控机制,⽐ReLU更灵活,适合深层⽹络。
    应⽤⽹络模型:在Google的EfficientNet、神经架构搜索(NAS)模型中被采⽤,显著提升图像分类和⽬标检测性能。
    使⽤普遍性:近年来在⼯业界和学术界的⾼性能模型中逐渐普及,尤其在需要⾼精度的视觉任务中。
    在这里插入图片描述

归一化

归⼀化也是⼀种带有参数的归⼀化计算公式。但主要⽬的是为了稳定训练过程,加速模型收敛并减少过拟合。
在这里插入图片描述

在这里插入图片描述

#定义一个简单的BatchNorm层
class SimpleNet(nn.Module):def __init__(self):super(SimpleNet,self).init()self.fc1 = nn.Linear(10,20)self.bn1 = nn.BatchNorm1d(20)self.relu = nn.ReLU()self.fc2 = nn.Liner(20,1)def forward(self,x):x = self.fc1(x)x = self.bn1(x)x = self.relu(x)x = self.fc2(x)return x# 创建模型实例
model = SimpleNet()
  • 其它归⼀化⽅法
    除 BatchNorm 外,还有以下归⼀化操作运算
    LayerNorm:适合⻓序列数据(如 NLP),或批量较⼩的任务。
    GroupNorm:平衡 BN 和 LN,适合中等批量场景。
    SwitchableNorm:⾃适应选择归⼀化⽅式,适合动态批量场景。

正则化

正则化是⼀种数据筛选⽅法,作⽤是抑制过拟合,提升模型泛化能⼒。

  • Dropout:
    Dropout 是由 Geoffrey Hinton 等⼈在 2012 年提出的⼀种正则化技术,⽤于缓解神经⽹络的过拟合问题。
  • 原理:Dropout 的核⼼思想是在训练过程中随机“关闭(ˮ 置零)神经⽹络中的部分神经元,使得⽹络⽆法过度依赖某些特定特征。具体步骤如下:
    在这里插入图片描述
  • 作⽤
    减少过拟合:通过随机失活神经元,Dropout 迫使⽹络学习更鲁棒的特征,避免对特定神经
    元的过度依赖。
    近似模型集成:每次训练时随机失活神经元相当于训练不同的⼦⽹络,测试时将这些⼦⽹络
    的预测结果平均,类似于集成学习的效果。
    计算效率⾼:Dropout 的计算成本较低,⽆需存储额外参数,且易于在现有⽹络中实现。
import torch
import torch.nn as nn
class DropoutNet(nn.Module):def __init__(self):super(DropoutNet, self).__init__()self.fc1 = nn.Linear(10, 20)self.dropout = nn.Dropout(p=0.5) # 随机失活50%的神经元self.relu = nn.ReLUself.fc2 = nn.Linear(20, 1def forward(self, x):x = self.fc1(x)x = self.dropout(x)x = self.relu(x)x = self.fc2(x)return x
model = DropoutNet()

模型结构和⽅法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

优化器 Optimizer

在 PyTorch 中,优化器(optimizer)是⽤于更新神经⽹络参数的⼯具,它会根据计算得到的损失函数的梯度来调整模型的参数,通常是以最⼩化损失函数来改进模型的性能 。

  • 梯度下降GD - Gradient Descent
    在这里插入图片描述

  • 批量梯度下降BGD - Batch Gradient Descent
    批量梯度下降法是最原始的形式,就是指在每⼀次训练迭代时使⽤所有样本来进⾏梯度的更新。参数的更新⽅式和GD⼀样。
    特点:
    理想状态下经充分训练,梯度可以达到全局最优,缺点是不适合⼤样本和⼤模型。

  • ⼩批量梯度下降(Mini-batch Gradient Descent,MBGD)
    在这里插入图片描述
    在这里插入图片描述

  • 随机梯度下降SGD - Stochastic Gradient Descent
    在这里插入图片描述
    在这里插入图片描述

  • 输⼊参数说明
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    5.参数更新:
    在这里插入图片描述

带动量的随机梯度下降

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • ⾃适应矩估计Adam - Adaptive Moment Estimation
    Adam算法,通过计算梯度的⼀阶矩和⼆阶矩估计来调整学习率,对不同参数设置⾃适应学习率。
    具体的我们可以看一下这个官方的介绍
    https://pytorch.org/docs/stable/generated/torch.optim.Adam.html

神经⽹络输出层与模型任务

神经⽹络模型的输出层,通常会根据训练任务的不同,⽽分为两种情况:单⼀节点的输出和多节点输出。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

回归任务相关损失函数

  • 均⽅误差(Mean Squared Error,MSE)
    在这里插入图片描述
  • 平均绝对误差(Mean Absolute Error,MAE)
    在这里插入图片描述
  • Huber损失函数
    在这里插入图片描述

分类任务相关损失函数

交叉熵

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import numpy as np
arr = np.array([[0.5,1.5,0.1 
def softmax(x):exp = np.exp(x)sum_exp = np.sum(np.exp(x), axis=1, keepdims=True)softmax = exp / sum_expreturn softmax
print(softmax(arr))
import torch
tensor = torch.tensor([[0.5,1.5,0.1 
print(tensor.softmax(1).numpy())

2.计算交叉熵
在这里插入图片描述

tensor = torch.tensor([[0.5,1.5,0.1 
print(tensor.log_softmax(dim=1.numpy())
# 或m = nn.LogSoftmax(dim=1print(m(tensor).numpy())
http://www.dtcms.com/wzjs/244323.html

相关文章:

  • 网站页面构架搜索引擎优化不包括
  • 苏州交友网站建设百度小程序排名优化
  • 网站开发后服务费网络营销的推广方式都有哪些
  • 随州网站建设优化推广渠道买卖网站
  • 建设简易电子商务网站流程自媒体营销
  • html5网站开发原理seo管理软件
  • 网站做多长时间才有流量网络营销师资格证报名
  • 常州建站优化建立网站的软件
  • 网站开发 演讲南昌seo招聘信息
  • 做直销建立个人网站好吗中国最新领导班子
  • vp(永久免费)加速器下载网站搜索排名优化软件
  • 网站制作公司武汉合肥全网推广
  • 高端的响应式网站建设公司模板网站如何建站
  • 建站能赚钱吗抖音seo教程
  • 济南官方网站淘宝美工培训推荐
  • 让别人做网站需要提供什么小网站搜什么关键词好
  • 网站到期是否能换服务商seo优化排名易下拉软件
  • 苏州高端网站建设个人怎么做百度竞价
  • server2008做DNS与网站产品品牌推广策划方案
  • 唐山建设信息网站白杨seo
  • 日本做的视频网站有哪些问题太原搜索引擎优化
  • 由担路网提供网站建设百度在线识别图片
  • 公司想做网站2022年适合小学生的新闻
  • 河北省住房和城乡建设网站个人博客登录入口
  • 做网站全职设计师会脱离社会么seo方案
  • 网站网页设计制作公司关键词百度网盘
  • 襄樊网站建设站长工具关键词挖掘
  • 网站建设基本流程英文外链seo兼职在哪里找
  • 手机代理企业网站郑州seo地址
  • 有哪些网站可以用随州网络推广