pytorch深度学习实战lesson27

news2025/7/19 16:50:35

第二十七课 批量归一化

       下面来讲批量归一化,现在几乎所有主流的卷积神经网络都是或多或少的用了批量归一化这个层。虽然我们之前看到的那些层比如 pooling 或 convolution,其实他们在80年代就出现过了,只是现在我们把它做得更深更大。批量归一化虽然思想不新,但是这个特定的层确是最近几年才出来的,大家发现效果很好,特别是做很深的神经网络的时候,这个是不能避免的一个层。

目录

理论部分

实践部分

从零开始实现:

简洁实现:


理论部分

批量归一化解决的问题:

        当神经网络特别深的时候,梯度在上面的时候会比较大,到下面的时候就容易变小。因为在反向传播的时候是N个很小的数相乘,一直乘到最后梯度就变得比较小了,他的问题就是上面的梯度大,那么每一次更新的时候,上面梯度就会不断去更新。因为学习率是固定的。所以下面的层会因为梯度比较小,对权重的更新就比较小。

        上面收敛比较快,下面变化又比较慢,这就导致每一次下面一变,上面就得重新开始训练,底层的信息都变了,那么上面的那些权重就白学了。

        所以那么我们要解决的问题就是能不能在学习底部的时候,能够避免顶部会不断的重新训练,这是批量规划所要考虑的一个问题。

       它的设计思路就是不管每一层的输出也好,梯度也好,假设都符合某一个分布,那么相对来说它就是比较稳定的。也就是说整体来看整个分布的区间固定后不会带来一个特别大的转变就可以了。

       给定一个 xi 是输入的话,那么我这个批量规划的输出就是对里面的每一个样本减去均值,除以方差,然后再乘以一个伽马,再加上一个贝塔。其中uB 和 Sigma B 是根据当前数据算出来的。伽马和beta 是可以学习的参数。

       那么它的作用可以认为是假设这个分布就是均值为0方差为1,如果这个分布不是那么的适合的话,那么我可以通过去学习一个新的均值和一个新的方差来使得学习出来的值对神经网络更好一点。

批量归一化是线性变换。

       对全链阶层,它作用在特征维上面。那对全链接层的话,它是对每一个特征计算一个均值,标量的方差,然后把特征变成均值为0,方差为1。它会对每一个全链接的输出或者输入都做这个事情,而不是只作用在数据上面。另外的话它也会去用自己学到的一个伽马和贝塔重新作用一下,把均值和方差再做一次校验。

       那么对于卷积层的话,它是作用在通道维上面,这怎么理解呢?对于卷积层来讲假设你的输入是批量大小乘以高乘以宽,再乘以通道数的话,那么样本数就是批量大小乘以高和乘以宽。也就是说整个批量里面所有的像素都是一个样本,那么它对应的那个通道就是特征。在这里的话一样的,就是说它把所有的像素当作是样本,然后计算它的均值和方差,那么就是只作用在通道层,通道层就是当做是卷积层的一个特征位。

实践部分

从零开始实现:

简洁实现:

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

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

相关文章

Kanzi Shader入门

1. 版本 kanzi默认支持Opengl ES 2.0,在qnx平台可以支持到ES 3.0 2. 着色器 kanzi只支持【顶点着色器】和【片段着色器】 3. kanzi studio 无法直接使用shader,需要通过画刷和材质间接使用 在【普通节点】上设置背景画刷-【材质画刷】在【材质画刷…

原生Android 以面向对象的方式操作canvas

Android 自定义view 用canvas去画图形, 都是以面向过程的方式去一笔一笔的画, 而且画的图形也不能支持添加事件, 而html, js在这方面有大量的封装好的canvas框架, 很奇怪的是android上我也没有搜到类似的封装框架, 我只是个web前端开发者, 可能是我对android不了解没有搜索到&a…

Nodejs中包的介绍及npm安装依赖包的多种方法

文章目录1 包的介绍1.1 什么是包1.2 包的来源1.3 为什么需要包1.4 从哪里下载包1.5 如何下载包2 npm2.1 npm安装依赖包2.2 装包后多了哪些文件2.3 安装指定版本的包1 包的介绍 1.1 什么是包 Nodejs中的第三方模块又叫做包 就像电脑和计算机指的是相同的东西,第三…

Wireshark Ethernet and ARP 实验—Wireshark Lab: Ethernet and ARP v7.0

Wireshark Lab: Ethernet and ARP v7.0 1. Capturing and analyzing Ethernet frames 清除浏览器缓存 使用wireshark抓包并请求网页 修改“捕获数据包列表”窗口,仅显示有关 IP 以下协议的信息。 抓包干扰较多,故分析作者的数据包回答下列问题 包含…

Apollo 应用与源码分析:Monitor监控 - 基本概念与入口分析

Monitor 系统监控 目录 基本概念 代码结构分析 整体逻辑分析 基本概念 整体分类 该模块包含用于检查硬件状态和监视系统运行状况的代码等系统级软件。 在Apollo 5.5中,监视模块现在执行以下检查: 运行模块状态监控数据完整性监控数据频率监视系统运行状况(例…

springboot 点滴(3)springboot ThreadLocal实现单机权限认证

Springboot中权限认证的基本方案: 可以对URL进行HandlerInterceptor拦截,然后权限验证。 Client登录成功后,每次发送请求时,会将token等信息存放到header中。 Server收到请求,在HandlerInterceptor中从header获取用户…

3.4、可靠传输

3.4、可靠传输 3.4.1、基本概念 使用差错检测技术\color{red}差错检测技术差错检测技术(例如循环冗余校验 CRC ),接收方的数据链路层就可检测出帧在传输过程中是否产生了误码\color{red}误码误码(比特错误)。 数据链路层向上层提供的服务类…

hive中连续N天登录问题、topN问题、拉链表实现

一、连续N天登录问题 一般采用开窗函数来实现 首先需要用到窗口函数的向下取值 窗口函数lead 功能:用于从当前数据中基于当前行的数据向后偏移取值 语法:lead(colName,N,defautValue) colName:取哪一列的值 N&#xf…

RemObjects Remoting SDK for Delphi

RemObjects Remoting SDK for Delphi 远程处理SDK是一个框架,允许您创建使用服务公开性能的服务器。然后,可以通过网络远程访问这些解决方案,这些解决方案可以通过运行在大量语言和平台上的客户端软件来实现。 在当今时代,许多程序…

【人才盘点九宫格】你还不来学一学人才九宫格,知道你在领导心目中是属于哪一类人才吗?

文章目录一、九宫格的维度——绩效、能力、潜力1.1 维度一:绩效。1.2 维度二:能力。1.3 维度三:潜力。二、九宫格分类2.1 经典九宫格:绩效-能力九宫格2.2 高潜九宫格:绩效-潜力九宫格2.2.1 高潜九宫格图示2.2.2 高潜九…

SRV1:拥有一个阿里云服务器

1.1 简介 平台: 阿里云   时间: 2022.11.25   类型: 轻量应用服务器2核2G   链接: https://www.aliyun.com/daily-act/ecs/activity_selection?utm_contentse_1013075595 1.2 说明 本文购买的是阿里云的 轻量应用服务器2…

NFT 的洗盘交易,真的赚钱吗?

Nov. 17,Hanson Data Source: Footprint Analytics Wash Trade Analysis 洗盘交易造成的虚假交易是准确评估 NFT 项目、交易所和整个行业的最大障碍之一。 这份报告将会分析X2Y2市场的洗盘交易者如何从洗盘交易和代币质押中获励。同时分析了前10交易量…

3.3、差错检测

3.3、差错检测 3.3.1、比特差错 比特差错\color{red}比特差错比特差错 实际的通信链路都不是理想的,比特在传输过程中可能会产生差错: 111 可能会变成 000 ,而 000 也可能变成 111 。 比特流在传输过程中由于受到各种干扰,就可能会出现比特差错&#…

K8S基础知识学习

目录 一、什么是 Kubernetes ? Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S。 K8S用于容器化应用程序的部署,扩展和管理。 K8S提供了容器编排,资源调度,弹性伸缩,部署管理&a…

详解设计模式:简单工厂模式

简单工厂模式(Smiple Factory Pattern):定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类,简单工厂模式也被称为静态工厂模式。 ~ 本篇内容包括&#xf…

若依(Ruoyi-Vue-Plus版)——1.登录(SaToken)

这里学习一下若依框架的一个扩展版本: RuoYi-Vue-Plus: 后台管理系统 重写RuoYi-Vue所有功能 集成 Sa-TokenMybatis-PlusJacksonXxl-JobSpringDocHutoolOSS 定期同步 (gitee.com) 官方文档:文档预览 - Gitee.com 项目有关SaToken登录写在最后&#xff0c…

论文阅读笔记 | 三维目标检测——SECOND算法

如有错误,恳请指出。 文章目录1. 背景2 网络结构2.1 3d Backbone2.2 Loss Compute2.3 Data Augment3. 实验结果paper:《SECOND: Sparsely Embedded Convolutional Detection》 1. 背景 鉴于VoxelNet等3d检测算法中使用的3d卷积会导致计算量大且推理速度…

智慧税务解决方案-最新全套文件

智慧税务解决方案-最新全套文件一、建设背景税务大数据现状和挑战1、数据割裂,外部数据整合不足,智能化应用不足2、缺乏统一治理,数据资产不清,质量不高3、数据获取效率低,数据冗余、查询效率低4、 运营运维体系不健全…

【Linux】---进程地址空间

文章目录什么是进程地址写时拷贝为什么要有进程地址为了保护物理内存更方便进行进程和进程数据的解耦统一视角操作系统怎么管理进程地址区域划分在之前学习C/C的时候都会提到 地址这个概念,我们写代码时创建变量,定义函数等都会有其对应的地址空间。而地…

成为数字游民,他们为何「All in Web3」?

成为数字游民,他们为何「All in Web3」? “早上好,夜之城。” 赛博朋克承载着一代人对未来世界的遐想。今年上映的「赛博朋克:边缘行者」中,主人公大卫面临着不夜城旧有制度的高压和控制,对旧有秩序不断发…