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

郑州知名做网站中国市场网

郑州知名做网站,中国市场网,h5网站开发软件有哪些,wordpress po翻译在机器学习中,归一化是一个非常重要的工具,它能帮助我们加速训练的速度。在我们前面的SiglipVisionTransformer 中,也有用到归一化层,如下代码所示: class SiglipVisionTransformer(nn.Module): ##视觉模型的第二层&am…

机器学习归一化一个非常重要工具帮助我们加速训练速度我们前面SiglipVisionTransformer 也有用到归一化如下代码所示

class SiglipVisionTransformer(nn.Module): ##视觉模型的第二层,将模型的调用分为了图像嵌入模型和transformer编码器模型的调用def __init__(self, config:SiglipVisionConfig):super().__init__()self.config = configself.embed_dim = config.hidden_sizeself.embeddings = SiglipVisionEmbeddings(config) ## 负责将图像嵌入成向量self.encoder = SiglipEncoder(config) ## 负责将向量编码成注意力相关的向量self.post_layer_norm = nn.LayerNorm(embed_dim, eps=config.layer_norm_eps) ## 层归一化def forward(self, pixel_values:torch.Tensor) -> torch.Tensor:"""
		pixel_values: [Batch_size,Channels,Height,Width]"""## [ Batch_size,Channels,Height,Width] -> [Batch_size,Num_Patches,Embedding_size] 
		hidden_states = self.embeddings(pixel_values) ## 将图像嵌入成向量# [Batch_size,Num_Patches,Embedding_size] -> [Batch_size,Num_Patches,Embedding_size]
		last_hidden_state = self.encoder(hidden_states) ## 将向量编码成注意力相关的向量# [Batch_size,Num_Patches,Embedding_size] -> [Batch_size,Num_Patches,Embedding_size]
		last_hidden_state = self.post_layer_norm(last_hidden_state)return last_hidden_state

这里post_layer_norm 就是归一化所以本文一起介绍归一化

归一化解决问题

归一化主要解决神经网络训练过程会出现协变量偏移 问题

协变量偏移(Covariate Shift)是指由于输入样本分布不均匀导致神经网络第一输入剧烈变化第一神经网络输入的剧烈变化又会导致神经网络第一输出产生剧烈变化从而影响传递神经网络之后每一导致每一轮迭代神经网络输出输出剧烈变化从而导致梯度非常不稳定参数找不到一个稳定优化方向从而导致训练缓慢

Batch Normalization

假设有一个 mini-batch 的输入 ,也就是:

  • :batch size
  • :通道数(对全连接层来说是特征维度)
  • :空间维度(在卷积层中)

其实本质上Batch Normalization 希望输入特征变化不再那么剧烈希望样本所有特征基于当前批次做一次归一化这样当前批次特征就不会剧烈变化

值得注意图像输入Batch Normalization普通特征Batch Normalization计算差别假定图像输入 [ N, C, H, W ]那么计算公式所示torch通道维度进行归一化每一个通道像素值通过该通道所有图片像素得到平均值归一化这是因为由于图像处理卷积神经网络里面同一个通道共享同一个卷积核整个通道所有像素看成一个特征

如果普通特征输入形如 N, D 】,NBatch_Size, D特征维度每一个特征通过计算所有N对应特征平均方差归一化

来说如下图所示

问题所在

主要问题在于依赖 mini-batch:批量太小时效果差

  • BatchNorm 的均值和方差是 在 batch 维度上估算 的。
  • 如果 batch size 很小(比如在线学习、NLP中的RNN),统计结果不稳定,归一化效果会变差。
  • 对于 batch size=1 时,根本无法统计 batch 内部分布。

因为BN 尝试一个批次代表整体样本分布但是只有批次样本很大时候才能拟合如果批次样本很小那么又会出现协变量偏移的问题

于是又引申出了layer_normalization....

Layer Normalization

Layer Normalization(层归一化)是为了克服 Batch Normalization 的局限性 而提出的,尤其在 batch size 很小处理序列模型(如 RNN、Transformer) 时非常有用。

LN 核心思想

在一个样本内部的所有特征维度上做归一化,而不是像 BatchNorm 那样在 batch 维度上归一化。

LN做法比较简单

图像卷积场景如果输入N,C,H,W分别代表Batch size通道图像高度宽度此时我们N不同图像图像C特征因为每个通道一整张图像像素都是一个特征一张图像总共C特征每个特征看成 H * W向量于是我们所有特征计算均值方差进行归一化

总结

不管BN还是LN归一化操作使得每一个计算value处于标准0,1)正态分布缓解训练过程协变量偏移问题

http://www.dtcms.com/a/533445.html

相关文章:

  • 【技术深度】腾讯 IM 接入规范文档(基于区块链交易所 APP)
  • 什么是区块链?有哪些场景需要用到?
  • 该如何选择深圳网站建设公司菏泽网站建设公司
  • 基于AI Agent的数据资产自动化治理实验
  • Rust 并发编程进阶:线程模型、通道通信与异步任务对比分析
  • 南京一站式工程装饰装修网站做网站建设的名声很差吗
  • 三型布局的网站兴义网站网站建设
  • LangChain最详细教程之Model I/O(三)Output Parsers
  • 网站制作 万网营销型网站建设设计服务
  • 做网站前端用什么语言网站建设是什么专业
  • Photoshop - Photoshop 工具栏(17)铅笔工具
  • sem竞价托管多少钱搜索引擎优化的内容有哪些
  • 合肥营销网站建设价格网站策划的工作要求
  • Diffusion Planner(1): 论文解读
  • 怎样做pdf电子书下载网站网站建设合同贴花算哪一类
  • 交互设计精髓斜杠青年seo工作室
  • 网站添加字体c 网站开发 调试
  • JAVA面试汇总(五)数据库(三)
  • 企业网站设计教程宝安logo设计
  • 网站建设与管理t7372wordpress 编辑图像
  • PCAM数据集上面验证CNN CNN+AutoEncoder TL-CNN效果差异与比较
  • 正规的高端网站制作公司开发区高级中学
  • React 07
  • 空间怎么上传网站seo的英文全称是什么
  • 架构师的生存法则
  • 兰州网站排名外包个人简历word文档模板
  • 大麦网网站内似网站开发广州营销型网站建设公司
  • AI 应用层革命(三)——智能文明的经济结构与社会秩序
  • 云南省建设厅网站处长网络培训的心得体会
  • 建一个网站的手机电脑版网站托管解决方案