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

电商购物网站模板下载广州网站建设吧

电商购物网站模板下载,广州网站建设吧,wordpress怎么换logo,系统优化升级对其他的层有了一些了解代码实现了Linear layerNormalization Layers 正则化层📌 什么是 Normalization Layers?Normalization Layers 是一种 正则化手段,用于 加速神经网络训练、提高模型稳定性。它们的核心作用是——👉 把输入特…

对其他的层有了一些了解

代码实现了Linear layer

Normalization Layers 正则化层

📌 什么是 Normalization Layers?

Normalization Layers 是一种 正则化手段,用于 加速神经网络训练提高模型稳定性。它们的核心作用是——

👉 把输入特征分布“标准化”,让不同批次的数据分布更一致,训练更高效,收敛更快。

常见的归一化层包括:

名称应用场景特点
BatchNorm图像分类、CNN对每个 batch 的特征维度做归一化
LayerNormNLP、Transformer对单个样本的全部特征归一化
InstanceNorm风格迁移对每个样本、每个通道单独归一化
GroupNorm小批量训练按组归一化,解决小 batch 不稳定问题
RMSNormTransformer 改进版只标准化均方根值,不用均值
WeightNorm特殊情况对权重进行归一化,而不是特征


🎁 它们有啥用?

✅ 作用💡 解释
加速收敛减少特征分布的漂移(Internal Covariate Shift),模型训练更快
防止梯度爆炸/消失保证特征分布稳定,梯度不容易失控
提高泛化能力起到轻微正则化作用,减少过拟合风险
减少超参数敏感性对学习率、初始化不那么敏感,训练更稳定


🎨 举个经典例子:BatchNorm 原理

公式:

\hat{x} = \frac{x - \mu}{\sqrt{\sigma^2 + \epsilon}} 

 y = \gamma \hat{x} + \beta

  • \mu, \sigma^2:当前 batch 的均值和方差

  • \gamma, \beta:可训练的缩放和平移参数

  • \epsilon:防止除零的小值

💡 简化理解

  • 标准化 → 分布变“正常”

  • 拉伸平移 → 不限制模型能力


🎯 总结

  • 什么时候用?

    • CNN、Transformer、RNN、GAN 都有用;

    • batch size 小就选 LayerNormGroupNorm

    • 想快点收敛,首选 BatchNorm

  • 本质作用?

    • 加速训练 + 提升稳定性 + 抗过拟合

 recurrent layers 循环层

🧠 什么是 Recurrent Layers?

Recurrent Layers 是一种 循环神经网络(RNN) 的核心组件,专门用来处理有 时间关系序列特征 的数据。

普通的全连接(Linear)或者卷积(Conv)层是 一次性吃掉所有输入
循环层不一样,它是一口一口慢慢吃,有“记忆”,能把之前的信息记下来,影响后面的输出。


🔥 常见 Recurrent Layers 一览

名称简单理解特点
RNN最基础的循环层容易梯度爆炸/消失
LSTM加了“记忆门控”的RNN能长期记忆,效果更稳
GRU精简版 LSTM参数更少,速度更快
BiRNN / BiLSTM双向RNN结合前后信息
Attention(不严格属于RNN)可看做升级版现在流行,逐渐替代传统RNN


🏷️ 工作流程(以 LSTM 为例)

假设一个序列 [x1,x2,...,xT][x_1, x_2, ..., x_T][x1​,x2​,...,xT​]:

每个时间步:

Input x_t + Hidden state h_{t-1} => 计算门控 => 输出 h_t, c_t

  • h_t:隐藏状态(短期记忆)

  • c_t:单元状态(长期记忆)

  • 门控机制(输入门、遗忘门、输出门)动态决定信息“记住 or 忘记”。


🎁 Recurrent Layers 有啥用?

✅ 作用💡 说明
处理序列数据时间、文本、音频等按顺序分析
有“记忆”能力能记住前面发生的事情
捕捉长期依赖特别是 LSTM/GRU
文本生成/翻译Seq2Seq、Chatbot 等常见应用
时间序列预测股票预测、温度预测等


📌 PyTorch 示例:

import torch from torch

import nn

rnn = nn.LSTM(input_size=10, hidden_size=20, num_layers=2, batch_first=True) input = torch.randn(32, 5, 10) # batch_size=32, sequence_length=5, input_size=10 output, (h_n, c_n) = rnn(input)

print(output.shape) # (32, 5, 20)

解释:

  • batch_size=32:一次性处理32个样本

  • sequence_length=5:每个样本有5个时间步

  • input_size=10:每个时间步特征维度是10

  • hidden_size=20:隐藏层大小20

🎯 一句话总结:

Recurrent Layers 是序列大师,LSTM/GRU是实用级选手;长记忆短记忆一个不落,现在深度学习搞序列,基本离不开它们。📈

 

Transformer Layers 

🚀 什么是 Transformer Layers?

Transformer 层 = 不用循环、不用卷积,全靠 Attention 搞定序列建模的架构。

最早是 2017 年《Attention is All You Need》 提出的,直接颠覆了传统 RNN/LSTM 的处理方式,成为 BERT、GPT、ViT、ChatGPT 背后的核心组件。


🏷️ Transformer 层的经典组成

每个 Transformer Layer 其实是:

输入 Embedding →

[LayerNorm + Multi-Head Attention + Residual] →

[LayerNorm + Feed Forward Network + Residual] →

输出

分模块拆开看:

模块功能用途
Multi-Head Self-Attention看“全局信息”比 RNN 更强,能直接看到序列任意位置
Feed Forward Network (FFN)非线性映射提高表达能力
Layer Normalization稳定训练不容易梯度爆炸/消失
Residual Connection残差连接防止深层网络退化
Position Encoding位置感知因为没有循环,靠加 Positional Embedding 懂顺序

🎁 Transformer 的核心优势

✅ 优势📌 解释
并行计算不像 RNN 一步步算,Transformer 一次吞下整段序列
远程依赖捕捉Attention 能看全局关系,不怕长依赖问题
训练效率高GPU/TPU 很吃这一套,训练速度爆炸快
泛化性强NLP → CV → Audio → 多模态全能打

🎨 Transformer Layer 结构图(文字版)

输入 → 加位置编码 →

[MHA] → Add & Norm →

[FFN] → Add & Norm →

输出

  • MHA:Multi-Head Attention

  • FFN:Feed Forward Network

  • Add & Norm:残差连接 + LayerNorm


🧱 PyTorch Transformer 层示例

import torch

from torch import nn

# 单个 Transformer 层

transformer_layer = nn.TransformerEncoderLayer(

d_model=512,

nhead=8,

dim_feedforward=2048

)

x = torch.randn(10, 32, 512) # [sequence_length, batch_size, embedding_dim] output = transformer_layer(x)

print(output.shape) # torch.Size([10, 32, 512])

💡 d_model=512:输入特征维度
💡 nhead=8:多头注意力头数
💡 dim_feedforward=2048:前馈层宽度


🎯 Transformer Layer 怎么用:

场景用法
NLP文本分类、机器翻译、对话生成(BERT、GPT、ChatGPT)
CV图像分类(ViT)、目标检测(DETR)
音频语音识别、音频分类
多模态文本-图片理解(CLIP)、视频理解

🌟 总结:

Transformer Layers = Attention 驱动的超级表达模型,能理解 全局依赖关系,并且训练速度快,效果炸裂。现代深度学习主力选手。

 Linear Layer(线性层,全连接层)

🧱 什么是 Linear Layer?

简单来说:

output = X \cdot W^T + b

也叫 全连接层(Fully Connected Layer, FC Layer)

  • 把输入特征乘一个 权重矩阵 W,加上一个 偏置 b,得到输出。

它的本质:

线性变换,把一个维度的特征“映射”到另一个维度。


📌 PyTorch 实际代码:

import torch

from torch import nn

linear = nn.Linear(in_features=10, out_features=5) # 输入10维,输出5维

x = torch.randn(3, 10) # batch_size=3,特征10维 output = linear(x) print(output.shape) # [3, 5]

💡 解释:

  • 输入 shape = (3, 10)

  • 输出 shape = (3, 5)

  • linear.weight.shape = (5, 10)linear.bias.shape = (5,)


🎁 Linear Layer 有啥用?

✅ 作用💡 说明
特征投影把高维特征降维,或者低维升维
分类决策层最后一层通常是 Linear 层接 Softmax
输入特征融合融合不同特征的加权信息
Transformer FFN 核心Transformer 里 FeedForward 全靠它
万能适配层任意维度变换,随用随调

🎨 常见场景

场景使用方式
图像分类Conv → Flatten → Linear → 输出分类
TransformerMHA → Linear → 输出维度不变
强化学习状态 → Linear → 动作概率或值函数
回归任务Linear → 直接输出连续值

🔥 一句话总结

Linear Layer = 最简单、最高频率使用的“特征映射”工具,深度学习的打工人,不起眼但必不可少。

 nn.Sequential 相当于一个容器,这样更方便阅读

import torch
from torch import nn
from torch.nn import Conv2d
from torch.utils.tensorboard import SummaryWriterclass Tudui(nn.Module):def __init__(self):super().__init__()self.conv1 = nn.Conv2d(in_channels=3, out_channels=32, kernel_size=5, padding=2)self.maxpool1 = nn.MaxPool2d(kernel_size=2)self.conv2 = nn.Conv2d(in_channels=32, out_channels=32, kernel_size=5, padding=2)self.maxpool2 = nn.MaxPool2d(kernel_size=2)self.conv3 = nn.Conv2d(in_channels=32, out_channels=64, kernel_size=5, padding=2)self.maxpool3 = nn.MaxPool2d(kernel_size=2)self.flatten = nn.Flatten()self.linear1 = nn.Linear(in_features=1024, out_features=64)self.linear2 = nn.Linear(in_features=64, out_features=10)self.model1 = nn.Sequential(Conv2d(in_channels=3, out_channels=32, kernel_size=5, padding=2),nn.MaxPool2d(kernel_size=2),nn.Conv2d(in_channels=32, out_channels=32, kernel_size=5, padding=2),nn.MaxPool2d(kernel_size=2),nn.Conv2d(in_channels=32, out_channels=64, kernel_size=5, padding=2),nn.MaxPool2d(kernel_size=2),nn.Flatten(),nn.Linear(in_features=1024, out_features=64),nn.Linear(in_features=64, out_features=10))def forward(self, x):# x = self.conv1(x)# x = self.maxpool1(x)# x = self.conv2(x)# x = self.maxpool2(x)# x = self.conv3(x)# x = self.maxpool3(x)# x = self.flatten(x)# x = self.linear1(x)# x = self.linear2(x)x = self.model1(x)return xtudui = Tudui()writer = SummaryWriter("./logs_seq")
input  = torch.ones(64, 3, 32, 32)
output = tudui(input)
print(output.shape)
writer.add_graph(tudui, input)
writer.close()


文章转载自:

http://0VTnSof1.mLmwL.cn
http://VfjzntIa.mLmwL.cn
http://TiG03xxq.mLmwL.cn
http://uGRP03PG.mLmwL.cn
http://zqysBn9h.mLmwL.cn
http://eGuMIluZ.mLmwL.cn
http://npegx3KH.mLmwL.cn
http://oMqOQX4O.mLmwL.cn
http://gcxUTrHk.mLmwL.cn
http://3OWd5HZQ.mLmwL.cn
http://2bbSAvF6.mLmwL.cn
http://t6IvlXLZ.mLmwL.cn
http://g6gmTVdI.mLmwL.cn
http://FapgAUhe.mLmwL.cn
http://8fGVAh0X.mLmwL.cn
http://jV6qEkwL.mLmwL.cn
http://lC1SqmOi.mLmwL.cn
http://aB3zGIRX.mLmwL.cn
http://Bhj6fSj6.mLmwL.cn
http://he1EGH9d.mLmwL.cn
http://8kAJxiXI.mLmwL.cn
http://b5aqqOW3.mLmwL.cn
http://BFy6uUN8.mLmwL.cn
http://mkUtzqUu.mLmwL.cn
http://q1q5q4PH.mLmwL.cn
http://o4YIdhBU.mLmwL.cn
http://U7dhkgjs.mLmwL.cn
http://mTCc7QLI.mLmwL.cn
http://10mpt6qI.mLmwL.cn
http://5pAYeIwE.mLmwL.cn
http://www.dtcms.com/wzjs/614128.html

相关文章:

  • 怎么优化自己的网站优秀地方门户网站系统
  • 360打不开建设银行的网站查网站域名备案查询
  • 百度建站系统合肥企业网站建
  • 站长统计网站统计神木网站建设
  • 网站开发遇到的风险毕业设计可以做网站不
  • 校园网建设网站特色推广普通话的意义50字
  • 营销型网站开发流程包括淘宝客免费网站建设
  • 返回链接 网站惩罚检查 错误检查山如何搭建响应式网站
  • 科凡全屋定制濮阳网站优化公司哪家好
  • 手机企业网站源码wordpress文本框代码
  • 如何做属于自己的网站网页制作专业选择
  • 网站推广广告 优帮云企业网站建设公司 末路
  • 淄博网站设计策划方案维护wordpress on.7主题
  • 网站不备案违法吗申请域网站
  • 站长统计企业网络推广方案
  • 网站的产品上传图片wordpress 静态主页
  • 做一个网站建设的流程电商平台推广方式
  • 搭建网站是什么意思教育直播平台网站建设费用
  • 吉林市建设工程档案馆网站搜索引擎都有哪些
  • 怎么制作自己的网站wordpress安装在本地
  • 网站开发要学习路线柳州网站建设源码
  • 网站宣传推广策划方案wordpress应用教程
  • 郑州网站建设 李浩深圳外贸公司网站
  • 北京做网站电话wordpress时间调用
  • 模型网站企业网站建设义乌
  • 餐饮营销型网站案例大连企业网站建设定制
  • 制作网站公司地址哪个网站卖自己做的手工艺品
  • 技术支持 上海做网站wordpress更换域名打不开
  • 湖南省建设工程网站用dw做的网站怎样弄上网上
  • 淘宝指数官网的网址宁波优化seo