【深度学习基础】batch、layer normalization区别

文章目录

  • 1 normalization
    • 1.1 batch normalization
      • 1.1 motivation
    • 2 layer normalizaiton
      • 2.1 motivation
    • 3、面试题
  • 2 pooling
    • 2.1 pooling的作用
    • 2.2 Pooling 层如何进行反向传播和梯度更新?
    • Max Pooling和 Average Pooling的区别,使用场景分别是什么?

本博客总结一下各种normalization

1 normalization

1.1 batch normalization

1.1 motivation

介绍normalization 之前先说一下,为什么需要normalization。

covariate shift问题:
每个隐藏层的输入的分布不一致,导致神经网络很难训练

计算方法:
每个batch 里面

batch:
原理:
https://www.cnblogs.com/skyfsm/p/8453498.html
计算细节:
https://blog.csdn.net/c2a2o2/article/details/83410273

why
从梯度的角度考虑,

缺点:

  • 1、不适合RNN。序列长度不可知,但BZ需要某一层的所有输出。计算时很麻烦。

  • 2、依赖mini batch大小,在大批量时候效果好,不适合在线学习。

2 layer normalizaiton

2.1 motivation

bn的缺点:
1、BN 需要依赖batch,在online learning这种场景不适用
2、不适用rnn,因为在rnn中,如果测试序列比train的序列大,这部分序列没办法用

一般搭配RNN使用?(why)

3、面试题

1 BN有什么缺陷
2 作者:蒋豆芽
链接:https://www.nowcoder.com/discuss/692404?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网

3 除了BN,改激活函数还有什么解决梯度消失的么

  • 预训练加微调

  • 梯度剪切

使用合理的参数初始化方案,如He初始化

使用 ReLU、LReLU、ELU、maxout 等激活函数

sigmoid函数的梯度随着x的增大或减小和消失,而ReLU不会。

使用批规范化BN

残差结构

  1. 加了BN的sigmond还会不会梯度消失
    有可能。

我们假设一种极端的情况。初始权重全为0。

2 pooling

  • max pooling
  • agv pooling
  • min pooling

2.1 pooling的作用

降维

2.2 Pooling 层如何进行反向传播和梯度更新?

对于 max pooling 只对 max value 处进行梯度更新,其它都为 0;对于 average pooling 对之前的 pooling 位置处的所有元素做更新,更新值为 average pooling 层对应位置上的梯度除以采样个数(比如 2x2 pooling 则对应 4)

mean pooling

mean pooling 的前向传播就是把一个 patch 中的值求取平均来做 pooling,那么反向传播的过程也就是把某个元素的梯度等分为 n 份分配给前一层,这样就保证池化前后的梯度(残差)之和保持不变,还是比较理解的,图示如下 :

在这里插入图片描述

max pooling

max pooling 也要满足梯度之和不变的原则,max pooling 的前向传播是把 patch 中最大的值传递给后一层,而其他像素的值直接被舍弃掉。那么反向传播也就是把梯度直接传给前一层某一个像素,而其他像素不接受梯度,也就是为 0。所以 max pooling 操作和 mean pooling 操作不同点在于需要记录下池化操作时到底哪个像素的值是最大,也就是 max _id,这个变量就是记录最大值所在位置的,因为在反向传播中要用到,那么假设前向传播和反向传播的过程就如下图所示 :

在这里插入图片描述

————————————————
版权声明:本文为CSDN博主「烟雨人长安」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Matrix_cc/article/details/105485488

Max Pooling和 Average Pooling的区别,使用场景分别是什么?

https://blog.csdn.net/ytusdc/article/details/104415261

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用quicker进行局域网文件互传

使用了动作:文件服务器 https://getquicker.net/Sharedaction?code7a49ca6b-d243-4478-1e87-08d9f1ba2358 在文件夹中打开打开这个动作就能使用。 配置 右键动作可以设置: 选择了最后一个之后,打开服务之后能在右下角有一个弹窗&#xff…

[一本Java+一本Java]5月7日简历指导直播

一、直播预告 每周二、四、六16:30简历指导直播,前美团项目负责人、校招VIP CEO-大拿老师在线讲简历优化 二、简历内容 三、简历核心问题 【简历1】一本- Java 1 虽然项目名称有一定的包装,两个项目的内容都是一眼能看出来的烂大街的项目&#xff0c…

【智能优化算法】野狗智能优化算法(Dingo Optimization Algorithm DOA)

野狗智能优化算法(Dingo Optimization Algorithm DOA)是期刊“MATHEMATICAL PROBLEMS IN ENGINEERING”的2021年智能优化算法 01.引言 野狗智能优化算法(Dingo Optimization Algorithm DOA)该算法的灵感来自野狗的狩猎策略,即迫害攻击,分组策略和清除行…

【论文阅读笔记】MAS-SAM: Segment Any Marine Animal with Aggregated Features

1.论文介绍 MAS-SAM: Segment Any Marine Animal with Aggregated Features MAS-SAM:利用聚合特征分割任何海洋动物 Paper Code(空的) 2.摘要 最近,分割任何模型(SAM)在生成高质量的对象掩模和实现零拍摄图像分割方面表现出卓越…

端侧AI从“芯”开发机会到来,MediaTek举办天玑开发者大会MDDC2024

MDDC2024速览: 发布芯片新品MediaTek天玑9300旗舰5G生成式AI移动芯片、生态发布天玑AI先锋计划、for开发者的生成式AI端侧“天玑AI开发套件”、发布《生成式AI手机产业白皮书》、for游戏的MediaTek星速引擎技术…… MediaTek 5月27日举办天玑开发者大会2024&#xf…

shell脚本编写-测试同一网段内主机是否在线

除了可以使用ansible自动化运维工具判断主机是否在线以外,还可以通过编写Shell脚本来实现。 1、编写脚本 #! /bin/bash #测试192.168.81.0/24网段中哪些主机处于开机状态,哪些主机处于关机状态# #方法一:使用for循环判断 # for i in {1..25…

PyRun_SimpleString(“import cv2“); 报错解决

#include <Python.h> #include <iostream>using namespace std;int main() {Py_Initialize();if (!Py_IsInitialized()){printf("初始化失败&#xff01;");return 0;}PyRun_SimpleString("import sys");PyRun_SimpleString("sys.path.ap…

苍穹外卖项目---------收获以及改进(3-4天)

①公共字段填充----mybatis 第一步&#xff1a;自定义注解 /*** 自定义注解用于标识某个方法需要进行功能字段的填充*/ Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface AutoFill {//枚举&#xff1a;数据库操作类型&#xff1a; update ins…

Redis学习4——Redis应用之限流

引言 Redis作为一个内存数据库其读写速度非常快&#xff0c;并且支持原子操作&#xff0c;这使得它非常适合处理频繁的请求&#xff0c;一般情况下&#xff0c;我们会使用Redis作为缓存数据库&#xff0c;但处理做缓存数据库之外&#xff0c;Redis的应用还十分广泛&#xff0c…

STM32接入CH340芯片的初始化进入升级模式(死机)问题处理

目录 1. 问题描述2. 问题分析2.1 CH340G/K 的初始化波形2.2 第1种USB升级电路2.3 第2种USB升级电路2.4 第3种USB升级电路2.5 第4种USB升级电路 3. 总结 1. 问题描述 我所用的CH340G&#xff08;CH340K也用过&#xff09;接在MCU的电路中&#xff0c;在插入CH340G/K 的接插件&a…

java10基础(this super关键字 重写 final关键字 多态 抽象类)

目录 一. this和super关键字 1. this关键字 2. super关键字 二. 重写 三. final关键字 四. 多态 五. 抽象类 1. 抽象方法 2. 抽象类 3. 面向抽象设计 一. this和super关键字 1. this关键字 this 当前对象的引用 this.属性 this.方法名() this() -- 调用构造函数 …

windows安装ElasticSearch以及踩坑

1.下载 elasticsearch地址&#xff1a;Past Releases of Elastic Stack Software | Elastichttps://www.elastic.co/cn/downloads/past-releases#elasticsearch IK分析器地址&#xff1a;infinilabs/analysis-ik: &#x1f68c; The IK Analysis plugin integrates Lucene IK…