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

电影网站制作教程及步骤荆门刚刚发布的

电影网站制作教程及步骤,荆门刚刚发布的,长网址转短网址网站,小规模企业所得税5%在机器学习中,归一化是一个非常重要的工具,它能帮助我们加速训练的速度。在我们前面的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/wzjs/321666.html

相关文章:

  • 在婚纱店做网站优化哈尔滨网站建设
  • 一个网站做三页是什么意思seo关键词优化举例
  • 如何做网站 站长教课杭州推广公司
  • 网站首页没排名但内页有排名网络推广营销网
  • 安徽教育机构网站建设上海网络优化seo
  • 怎么运营网站如何提高网站在百度的排名
  • 做建材网站seo搜索引擎优化推荐
  • 广州娱乐场所最新通知seo企业优化顾问
  • 房地产企业网站建设搜索关键词排名查询
  • 开公司先建设网站人工智能培训课程
  • 无法调用wordpressseo快速排名软件app
  • app在线生成平台 免费厦门seo推广外包
  • 软件外包价格一般多少整站优化seo
  • 做网站制作赚钱吗海南百度推广seo
  • 做qq图片的网站有哪些seo是一种利用搜索引擎的
  • 5个搜索引擎作弊的网站竞价推广怎么做
  • 自问自答网站怎么做开网站需要投资多少钱
  • 企业网站模板 下载怎么做蛋糕
  • 中细软做的网站免费无代码开发平台
  • 2_试列出网站开发建设的步骤上海百度公司总部
  • 做的好的茶叶网站好网站提交链接入口
  • 用php做的网站软件怎么宣传自己的店铺
  • 做免费看电影的网站不违法吗百度品牌
  • 上海技术网站建设西安高端网站建设
  • 哪些网站做推广百度搜索引擎网站
  • 资讯文章类wordpress博客模板南宁网络优化seo费用
  • 西安做网站推广企业管理培训公司排行榜
  • 设计交流的网站朝阳区seo搜索引擎优化介绍
  • wap音乐网站源码手机网站免费客服系统
  • 网站简介如何做的有创意seo网站关键词排名优化