超参数调试、Batch正则化和程序框架

news2024/11/14 13:59:27

1、归一化网络的激活函数Normalizing activations in a

network

  •  规范化,方法如下,减去均值再除以标准偏差,为了使数值稳定, 通常将𝜀作为分母,以防𝜎 = 0的情况

  • (任意一个隐藏层中的第i个样本)已把这些𝑧值标准化,化为含平均值 0 和标准单位方差,所以𝑧的每一个分量都含有平均值 0 和方差 1,但不想让隐藏单元总是含有平均值 0 和方差 1,也许隐藏单元有了不同的分布会有意义,所以所要做的就是计算,称之为𝑧̃(𝑖),𝑧̃(𝑖) = 𝛾𝑧norm(𝑖) +𝛽,这里𝛾和𝛽是你模型的学习参数,所以我们使用梯度下降或一些其它类似梯度下降的算法,比如 Momentum 或者 NesterovAdam,你会更新𝛾和𝛽,正如更新神经网络的权重一样

  •  请注意𝛾和𝛽的作用是,你可以随意设置𝑧̃(𝑖)的平均值,事实上,如果𝛾 = √𝜎^2 + 𝜀,如果

  •  𝜇,那么𝛾𝑧norm(𝑖) + 𝛽的作用在于,它会精确转化这个方程,如果这些成立(𝛾 = √𝜎^2 + 𝜀, 𝛽 =𝜇),那么
  • 通过对 𝛾 𝛽 合理设定,规范化过程,即这四个等式,从根本来说,只是计算恒等函数, 通过赋予𝛾 和𝛽其它值,可以使你构造含其它平均值和方差的隐藏单元值

2、Batch归一化(Batch Normalization)

  • 是一种常用的深度学习模型正则化技术,用于提高神经网络的训练速度和稳定性。它通过对每个mini-batch中的输入进行归一化,从而减少内部协变量偏移,使得网络的学习更加稳

  • 上图中的神经网络,每个单元负责计算两件事。第一,它先计算𝑧,然后应用其到激活函数中再计算𝑎,每个圆圈代表着两步的计算过程。同样的,对于下一层而言,那就是𝑧1[2]和𝑎1
    [2]等。所以如果没有应用 Batch 归一化,会把输入𝑋拟合到第一隐藏层,然后首先计算𝑧 [1],这是由𝑤[1]和𝑏 [1]两个参数控制的。接着,通常而言,会把𝑧 [1]拟合到激活函数以计算𝑎 [1]
  • Batch 归一化的做法是将𝑧 [1] 值进行 Batch 归一化,简称 BN,此过程将由𝛽 [1]和𝛾 [1]两参数控制,这一操作会给一个新 的规范化的𝑧 [1]值(𝑧̃ [1]),然后将其输入激活函数中得到𝑎[1],即𝑎 [1] = 𝑔 [1] (𝑧̃ [𝑙] )

  • 在第一层进行了计算,此时 Batch 归一化发生在 𝑧 的计算和 𝑎 之间,接下来, 需要应用𝑎 [1] 值来计算 𝑧 [2] ,此过程是由 𝑤 [2] 𝑏 [2] 控制的。与在第一层所做的类似,会将𝑧 [2] 进行 Batch 归一化,现在简称 BN ,这是由下一层的 Batch 归一化参数所管制的, 即𝛽 [2] 𝛾 [2] ,现在你得到 𝑧̃ [2] ,再通过激活函数计算出 𝑎 [2] 等等
  • Batch 归一化是怎么操作的,计算均值和方差,减去均值,再除以方差,如果它们使用的是深度学习编程框架,通常你不必自己把 Batch 归一 化步骤应用于 Batch 归一化层。因此,探究框架,可写成一行代码,比如说,在 TensorFlow 架中,你可以用这个函数(tf.nn.batch_normalization )来实现 Batch 归一化
  • 实践中,Batch 归一化通常和训练集的 mini-batch 一起使用。应用 Batch 归一化的方
    式就是,用第一个 mini-batch ( 𝑋 {1} ),然后 计算𝑧 [1],应用参数 𝑤 [1] 𝑏 [1] ,使用这个 mini-batch ( 𝑋 {1} )。接着,继续第二个 mini-batch(𝑋 {2} ),接着 Batch 归一化会减去均值,除以标准差,由𝛽 [1]和𝛾 [1]重新缩放,这样就得到了𝑧̃[1]

  • 具体实现步骤如下:

(1)、对于每个mini-batch的输入,计算其均值和方差

(2)、对每个输入进行归一化操作,即将每个输入减去均值,再除以方差

(3)、对归一化后的输入进行线性变换,通过缩放因子和位移因子进行调整。这两个参数可通过训练得到

(4)、将调整后的输入作为该mini-batch的输出

  • Batch归一化的优点有:

(1)、加速收敛:通过对输入进行归一化,可以使得每个层的输入分布更加稳定,从而减少训练过程中的梯度爆炸或梯度消失的问题,加速模型的收敛速度

(2)、改善梯度传播:归一化可以使得每个层的输入都在相对较小的范围内,避免了梯度传播过程中的不稳定性

(3)、增加模型的泛化能力:Batch归一化具有一定的正则化效果,可以减少模型的过拟合

(4)、 提高网络的表达能力:通过归一化操作,可以使得网络更加适应各种输入分布,提高网络表达能力

  • 需要注意的是,Batch归一化在训练和推理阶段有所不同。在训练阶段,对于每个mini-batch进行归一化;在推理阶段,使用训练过程中得到的均值和方差对输入数据进行归一化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/714468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用maven profile 实现一次打包多版本依赖的fat jar

基于一种特殊情况: 需要开发通用代码,但底层依赖的jar有不同版本,使用一次maven 命令编译来同时生成多个fat jar。 测试代码结构: log4j-v1/log4j-v2 有一个同名类被maintest引用。 maintest pom.xml如下 <?xml version="1.0" encoding="UTF-8"…

Docker的安装以及Docker私有仓库的搭建

Docker的安装 # 1、yum 包更新到最新 yum update # 2、安装需要的软件包&#xff0c; yum-util 提供yum-config-manager功能&#xff0c;另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、 设置yum源 yum-config-manage…

基于QT设计的无人机地面站(摄像头录像拍摄)

一、功能需求 通过QT设计一款无人机地面站软件,需要包含基本的RTSP拉流功能,对接无人机平台的RTSP流。此外,需要完成拍照、录像、OSD叠加功能;完成按钮控制云台进行拍照、录像、变焦、指点运动等。在此基础上,完成对应的目标跟踪识别。 技术要求 (1)采用QT平台,设计W…

一、QT主界面简介和创建一个QT工程

QT从入门到实战学习笔记 一、QtCreator主界面简介1、欢迎界面2、编辑界面3、设计界面4、Debug界面5、帮助界面6、主界面左下角按钮 二、创建QT工程1、创建一个新的project2、模板选择3、项目介绍和位置4、定义所建的系统文件类型5、创建类信息&#xff08;Details&#xff09;6…

Redis【实战篇】---- 秒杀优化

Redis【实战篇】---- 秒杀优化 1. 秒杀优化-异步秒杀思路2. 秒杀优化-Redis完成秒杀资格判断3. 秒杀优化-基于阻塞队列完成秒杀优化 1. 秒杀优化-异步秒杀思路 我们来回顾一下下单流程 当用户发起请求&#xff0c;此时会请求nginx&#xff0c;nginx会访问到tomcat&#xff0c…

HNU-小学期工训-STC-B焊接质量分析报告

质量分析报告 焊接情况简单概述 同学们都按时按质量地完成了焊接工作&#xff0c;在测试过程中无短路问题 学习班焊接质量、报修等情况统计 焊接质量较好&#xff0c;焊锡基本圆润光滑&#xff0c;经测试无短路现象 报修情况统计&#xff1a; 测试情况统计 部分同学存在故…

Sqlite创建表、查看表

前面已经学习了Sqlite&#xff1b; 图解SQLite教程_bcbobo21cn的博客-CSDN博客 下面复习一下&#xff1b; 启动和创建数据库&#xff1b;.tables查看表&#xff0c;此时没有&#xff1b; 创建一个表并插入数据&#xff1b; 再创建一个表并插入数据&#xff1b;带小数点的数据…

如何防止数据泄露,保护企业内部文件的安全

现在全球数据泄露事件频发&#xff0c;而且很大一部分都是由于内部员工造成的数据外泄&#xff0c;对企业造成的损失和打击很大&#xff0c;企业一旦出现数据泄露问题&#xff0c;所遭受的不仅仅是经济损失&#xff0c;可能还会对企业的声誉造成负面影响&#xff0c;企业内部的…

简单的手机记事本怎么把英文翻译成中文?

手机记事本是人们常用的辅助工具之一&#xff0c;在使用手机记事本记录内容的时候&#xff0c;除了我们平时使用较多的中文之外&#xff0c;也有人会记录一些英文内容。想要将手机记事本中的英文内容翻译成中文内容应该如何操作呢&#xff1f;以iPhone手机端敬业签记事本软件为…

chatgpt赋能python:配置Python虚拟环境的好处和方法

配置Python虚拟环境的好处和方法 在Python的开发中&#xff0c;有时需要使用不同的库和不同的版本&#xff0c;如果不合理地安装这些库&#xff0c;可能会导致不必要的冲突和错误。此时&#xff0c;使用Python虚拟环境可以轻松地隔离项目之间的不同依赖和版本&#xff0c;避免…

【C#】并行编程实战:实现数据并行(4)

本章继续学习实现数据并行&#xff0c;本文主要介绍并行循环中的线程存储。这也是本章节的最后一篇。 本教程对应学习工程&#xff1a;魔术师Dix / HandsOnParallelProgramming GitCode 5、了解并行循环中的线程存储 默认情况下&#xff0c;所有并行循环都可以访问全局…

13.1 非线性变化的图像增强和补偿——滤波器对图像作增强提高视觉质量(matlab程序)

1.简述 图像的线性变换和非线性变换&#xff0c;逐像素运算就是对图像的没一个像素点的亮度值&#xff0c;通过一定的函数关系&#xff0c;转换到新的亮度值。这个转换可以由函数表示&#xff1a; s f ( r ) s f( r )sf(r) 其中r为原来的像素值&#xff0c;s为新的像素值&a…

关于visual studio 2010 及以上版本 引入boost库的最新解决方法

之前没有怎么用到boost库&#xff0c;出来实习需要去编译一些代码&#xff0c;需要引入boost第三方库&#xff0c;在这过程中&#xff0c;一直出现 LINK : fatal error LNK1104: 无法打开文件“libboost_filesystem-vc100-mt-gd-x3 错误&#xff0c; 但是也确实是跟其他教程学过…

BUUCTF [GXYCTF2019] CheckIn 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 密文&#xff1a; dikqTCpfRjA8fUBIMD5GNDkwMjNARkUwI0BFTg解题思路&#xff1a; 1、观察密文&#xff0c;一眼Base64加密&#xff0c;使用在线工具Base64加解密&#xff0c;得到另一串密文。 v)*L*_F0<}H0>…

Apifox|API 文档和开发闭环初体验

Apifox是一款集文档、接口定义、数据模拟、自动化测试为一体的接口协作平台。 据功能介绍&#xff0c;基本总结Apifox Postman Swagger Mock JMeter 既然评的文章那么多&#xff0c;掀起了一阵子热度&#xff0c;究竟哪些功能&#xff1a; 用下来有哪些体会&#xff1a;…

Web3.0 应用开发:选择合适的框架和工具至关重要

随着 Web3.0 时代的到来&#xff0c;区块链技术的普及和应用让去中心化的应用开发变得更加可行。然而&#xff0c;要开发出高效、稳定和安全的 Web3.0 应用&#xff0c;选择合适的框架和工具至关重要。本文将介绍 Web3.0 应用开发的关键因素&#xff0c;帮助开发者做出明智的选…

【Vue+Django】Training Management Platform Axios并发请求 - 20230703

需求陈述 由于API是特定单位/特定类别/特定教学方式的数据&#xff0c;故汇总数据需要循环请求不同单位/不同类别/不同教学方式。 技术要点 1.axios并发请求 2.JS for循环 3.Vue数组中出现 ob :Observer无法取值问题的解决方法 4.将数据转化为数组 5.一次请求所有数据后&…

交安三类人员专职安全生产管理人员(c证)考试题库及答案(主观题)

本题库是根据最新考试大纲要求&#xff0c;结合近年来考试真题的重难点进行汇编整理组成的全真模拟试题&#xff0c;考生们可以进行专项训练&#xff0c;查漏补缺巩固知识点。本题库对热点考题和重难点题目都进行了仔细的整理和编辑&#xff0c;相信考生在经过了针对性的刷题练…

计算机由于找不到d3dx9_35.dll,无法启动软件游戏的三个修复方法

在打开游戏的时候&#xff0c;计算机提示由于找不到d3dx9_35.dll&#xff0c;无法正常启动运行。这个是为什么呢&#xff1f;d3dx9_35.dll是DirectX 9.0里面的一个动态连结库文件&#xff0c;它包含了Direct3D、DirectPlay几个组件的二进制文件&#xff0c;为软件提供了多媒体图…

Cisco Catalyst 8000 Series Edge Platforms, IOS XE Release Dublin-17.11.01a ED

Cisco Catalyst 8000 Series Edge Platforms, IOS XE Release Dublin-17.11.01a ED Cisco Catalyst 8000 边缘平台系列 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-catalyst-8000/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&…