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

宣传类的网站有哪些做二手房的网站技巧

宣传类的网站有哪些,做二手房的网站技巧,云开发布道师,安装下载应用一、概念 Batch Normalization是在2015年提出的数据归一化方法#xff0c;主要用在深度神经网络中激活层之前。它的主要作用是加快模型训练时的收敛速度#xff0c;使模型训练过程更加稳定#xff0c;避免梯度爆炸或消失#xff0c;并起到一定的正则化作用#xff0c;有时…一、概念 Batch Normalization是在2015年提出的数据归一化方法主要用在深度神经网络中激活层之前。它的主要作用是加快模型训练时的收敛速度使模型训练过程更加稳定避免梯度爆炸或消失并起到一定的正则化作用有时甚至可以替代Dropout。 BN可以应用于全连接层和卷积层在非线性映射激活函数之前对数据进行规范化使得结果的输出信号的各个维度均值为0方差为1。这有助于网络的训练特别是在梯度消失或爆炸的情况下 二、原理 BN的核心思想是让每一层的输入保持一个稳定的分布这样模型在训练时可以减少对输入分布变化的依赖从而加速收敛并提升稳定性。具体来说BN包含以下几个步骤 1、计算小批量数据的均值和方差 在每一层的输入特征图上BN会在当前batch的数据上计算其均值和方差。 2、数据归一化 BN对每一个样本的输出进行归一化处理通过减去均值后再除以标准差使得归一化后的输出数据具有零均值和单位方差的标准正态分布。 3、缩放和平移 直接归一化会限制模型的学习能力因为归一化后的输出被严格限制在均值为0和方差为1的分布中。为了恢复模型的表达能力BN引入了两个可学习的参数缩放参数γ和偏移参数β将归一化后的数据进行线性变换 其中是均值是方差是一个极小值用于防止分母为0缩放参数γ和偏移参数β是可训练参数参与整个网络的反向传播。 4、示例 这里我们简单调用torch中的nn.BatchNorm1d来实现Batch Normalization。在torch中训练模型时缩放参数γ和偏移参数β是自动更新的不需要我们额外操作。 import torch import torch.nn as nn# 假设我们有一个输入张量x和一个batch_size x torch.randn(6, 10) # 例如10维的特征6是批次大小 print(x)# 实现Batch Normalization batch_norm nn.BatchNorm1d(10) # 10是特征的维度 x_bn batch_norm(x) print(x_bn) 三、python应用 这里我们简单创建一个MLP并对比BN前后的数据变化。 import torch import torch.nn as nn import matplotlib.pyplot as plt# 设置随机种子以确保结果可复现 torch.manual_seed(0)# 创建一个简单的模型 class SimpleModel(nn.Module):def __init__(self):super(SimpleModel, self).__init__()self.linear nn.Linear(100, 50) # 一个线性层self.bn nn.BatchNorm1d(50) # Batch Normalization层def forward(self, x):x self.linear(x)x self.bn(x)return x# 创建模型实例 model SimpleModel()# 生成模拟数据100个样本每个样本100个特征 x torch.randn(100, 100, requires_gradTrue)# 前向传播计算BN前的数据 x_linear model.linear(x) x_linear x_linear.detach()# 计算BN前的数据均值和方差 mean_before x_linear.mean(dim0) var_before x_linear.var(dim0)# 应用BN x_bn model(x) x_bn x_bn.detach()# 计算BN后的数据均值和方差 mean_after x_bn.mean(dim0) var_after x_bn.var(dim0)# 绘制BN前后数据的分布 fig, ax plt.subplots(2, 2, figsize(12, 8))# 绘制BN前的数据分布 ax[0, 0].hist(x_linear.detach().numpy().flatten(), bins30, colorblue, alpha0.7) ax[0, 0].set_title(Before BN: Data Distribution)# 绘制BN后的数据分布 ax[0, 1].hist(x_bn.detach().numpy().flatten(), bins30, colorgreen, alpha0.7) ax[0, 1].set_title(After BN: Data Distribution)# 绘制BN前的数据均值和方差 ax[1, 0].bar(range(50), var_before, colorblue, alpha0.7) ax[1, 0].set_title(Before BN: Variance per Feature) ax[1, 0].set_xticks(range(0, 50, 5))# 绘制BN后的数据均值和方差 ax[1, 1].bar(range(50), var_after, colorgreen, alpha0.7) ax[1, 1].set_title(After BN: Variance per Feature) ax[1, 1].set_xticks(range(0, 50, 5))plt.tight_layout() plt.show()# 打印BN前后的数据均值和方差 print(fMean before BN: {mean_before}) print(fMean after BN: {mean_after}) print(fVariance before BN: {var_before}) print(fVariance after BN: {var_after}) 四、总结 BN在模型架构搭建的过程中很常用但也并不是必要的例如我们在数据预处理的过程中就对数据进行了归一化的话BN就显得不那么重要了。当然加上BN在某些场景中也能够使得模型适应不同批次数据的分布变化且一定程度可以减少内部协变量偏移。具体是否增加BN可以看加入之后是否提升了模型性能。
http://www.dnsts.com.cn/news/4802.html

相关文章:

  • 有哪些做网站的网站wordpress get_user_meta
  • 网站建设实训报告doc线上推广引流是做网站吗
  • 用手机建立网站聊城做网站的公司价位
  • 电子商务网站建设与维护的主要内容吉林省住房城乡建设厅网站
  • 网站建设提成福建住房和建设网站密码忘记
  • 泰兴网站建设吧对外网站建设情况汇报
  • 推广网站免费上海企业营销策划
  • 如何创建网站?怎么做彩票平台网站吗
  • ui网站开发移动商城网站建设
  • 装修公司网站建设成都网站建设cdxwcx
  • 一个企业网站需要多少钱企业网站seo实
  • 电子商务网站建设需要哪些步骤企业网站帮助中心
  • 做网站需要前台和后台吗家在深圳业主
  • 网站建设方案平台选择中信建设有限责任公司资质
  • 百度建设公司网站郑州app拉新项目
  • 外贸建站如何推广天津网站建设技术外包
  • 物流管理网站怎么做ps培训班一般学费多少钱
  • vs 2015可以做网站吗企业网址一般怎么设置
  • 网站搬迁上海企业信用信息公示系统官网
  • 足球网站模板下载网站创建快捷方式
  • wordpress快速仿站教程中国门户网站建设重要性
  • 山西太原制作网站人有吗页面设计排版网站
  • 哪个网站可以领手工活在家做网站开发系统简介
  • 外贸seo网站石家庄网站制作福州
  • 青岛中企动力做网站怎么样一元钱购买网站空间
  • 用vs与dw做网站怎样快速仿做网站
  • 网站开发毕设文档网站流量统计表
  • 一个网站有个前端后端怎么做定制西装
  • 做昆特牌的网站关于做电商网站导流项目
  • 电子商务网站建设指导书wordpress 不显示工具栏