【机器学习合集】标准化与池化合集 ->(个人学习记录笔记)
文章目录
- 标准化与池化
- 1. 标准化/归一化
- 1.1 归一化
- 归一化的作用
- 1.2 标准化
- 批标准化方法 Batch Normailzation
- 标准化方法的对比
- 自动学习标准化方法
- 2. 池化
- 2.1 池化的作用
- 2.2 常见的池化方法
- 2.3 池化方法的差异
- 2.4 池化的必要性
标准化与池化
1. 标准化/归一化
1.1 归一化
归一化的作用
- 去除量纲的干扰,防止数值过小的特征被淹没
- 保证数据的有效性
- 稳定数据分布
1.2 标准化
批标准化方法 Batch Normailzation
批标准化的好处
- 提高训练速度
- 稳定模型训练
批标准化的缺点与改进
- 要求固定的Batch长度与均匀采样
- batch过小数值计算不稳定
标准化方法的对比
Batch Normalization(批标准化)、Layer Normalization(层标准化)、Group Normalization(组标准化)、Instance Normalization(实例标准化)都是用于深度神经网络的归一化技术,用于改善训练的稳定性和收敛速度。它们在归一化的对象和方式上有一些不同之处:
Batch Normalization(批标准化)
:
- 归一化对象:Batch Normalization是在每个神经层的输入上进行归一化,通常是对每个mini-batch的样本进行统计。
- 归一化方式:它通过计算每个神经元的均值和方差,然后对每个神经元的输出进行归一化,以确保网络的中间层保持稳定。
Layer Normalization(层标准化)
:
- 归一化对象:Layer Normalization是在每个神经层的输入上进行归一化,但不考虑mini-batch内的样本,而是考虑单层的所有神经元。
- 归一化方式:它通过计算每个神经元的均值和方差,然后对单层内的所有神经元的输出进行归一化。
Group Normalization(组标准化)
:
- 归一化对象:Group Normalization是在每个神经层的输入上进行归一化,但不是针对整个层或整个mini-batch,而是将神经元分成多个组,然后对每个组内的神经元进行归一化。
- 归一化方式:它通过计算每个组内神经元的均值和方差,然后对每个组内的神经元的输出进行归一化。
Instance Normalization(实例标准化)
:
- 归一化对象:Instance Normalization是在每个神经元的输入上进行归一化,针对每个神经元的输出进行归一化,而不考虑层内、mini-batch内的其他神经元。
- 归一化方式:它通过计算每个神经元的均值和方差,然后对每个神经元的输出进行归一化。
总的来说,这些归一化方法都有类似的目标,即减少内部协变量偏移(Internal Covariate Shift)以提高深度神经网络的训练稳定性和收敛速度。它们的不同之处在于归一化的对象和方式。选择哪种归一化方法通常取决于网络的结构、任务和实验表现。 Batch Normalization通常用于深度卷积神经网络中,而Layer Normalization、Group Normalization和Instance Normalization可能更适用于其他类型的网络或特定的任务。
当涉及到Batch Normalization(批标准化)、Layer Normalization(层标准化)、Group Normalization(组标准化)、Instance Normalization(实例标准化)时,它们之间的差异在于归一化的对象和方式。下面是一个图示示例,以帮助理解它们的区别:
Batch Normalization (BN) Layer Normalization (LN) Group Normalization (GN) Instance Normalization (IN) _______________ _______________ _______________ _______________ | Layer 1 | | Layer 1 | | Layer 1 | | Layer 1 | | --------------| | --------------| | --------------| | --------------| | Neuron 1 | | Neuron 1 | | Group 1 | | Neuron 1 | | Neuron 2 | | Neuron 2 | | Group 2 | | Neuron 2 | | Neuron 3 | | Neuron 3 | | Group 3 | | Neuron 3 | | ... | | ... | | ... | | ... | | Neuron N | | Neuron N | | Group N | | Neuron N | | --------------| | --------------| | --------------| | --------------| | Layer 2 | | Layer 2 | | Layer 2 | | Layer 2 | | --------------| | --------------| | --------------| | --------------| | Neuron 1 | | Neuron 1 | | Group 1 | | Neuron 1 | | Neuron 2 | | Neuron 2 | | Group 2 | | Neuron 2 | | Neuron 3 | | Neuron 3 | | Group 3 | | Neuron 3 | | ... | | ... | | ... | | ... | | Neuron N | | Neuron N | | Group N | | Neuron N | | _______________| | _______________| | ______________| | ______________|
- Batch Normalization:每个层内的神经元在整个mini-batch中进行归一化。
- Layer Normalization:每一层的神经元在层内进行归一化,但不考虑mini-batch内的样本。
- Group Normalization:每一层的神经元被分成多个组,每个组内的神经元进行归一化,不考虑mini-batch内的样本。
- Instance Normalization:每个神经元单独进行归一化,不考虑层内、mini-batch内的其他神经元。
这个示例说明了它们之间在归一化对象和方式上的区别,希望有助于理解它们的工作原理。这些方法都是用于改善神经网络训练的稳定性和收敛速度,但在不同情况下选择适当的方法可能会有所不同。
自动学习标准化方法
2. 池化
2.1 池化的作用
作用:
- 信息的抽象,去除非细节部分一些噪声的信息
- 获得不同程度上的不变性:旋转不变性,平移不变性
2.2 常见的池化方法
2.3 池化方法的差异
不同的池化方法是用来降低特征图维度的方式,它们在计算输出时有不同的策略。以下是最大值池化、均值池化、随机池化、最小值池化、中值池化和混合池化等池化方法之间的主要区别:
最大值池化(Max Pooling):
- 操作方式:在每个池化窗口内选择最大值作为输出。
- 特点:Max Pooling突出最显著的特征,通常用于提取重要的特征。
均值池化(Average Pooling):
- 操作方式:在每个池化窗口内计算所有值的平均值作为输出。
- 特点:Average Pooling平滑特征图并减小尺寸,用于降低计算量。
随机池化(Random Pooling):
- 操作方式:在每个池化窗口内随机选择一个值作为输出。
- 特点:Random Pooling引入了随机性,有助于提高网络的鲁棒性和泛化性能。
最小值池化(Min Pooling):
- 操作方式:在每个池化窗口内选择最小值作为输出。
- 特点:Min Pooling可用于强调较小的特征值,用于特定任务。
中值池化(Median Pooling):
- 操作方式:在每个池化窗口内选择中值(中间值)作为输出。
- 特点:Median Pooling可以在一定程度上抵御异常值的影响,适用于一些异常值敏感的任务。
混合池化(Mixed Pooling):
- 操作方式:结合多种池化策略,可能以一定的权重混合它们的输出。
- 特点:Mixed Pooling允许根据任务的需要结合不同的池化策略,提高网络的灵活性。
这些池化方法之间的选择通常取决于具体的任务和数据,以及希望突出的特征。混合池化则允许根据需求结合多种池化策略,以实现更大的灵活性。在实际应用中,通常需要进行实验和调整以确定哪种池化方法最适合特定任务。
2.4 池化的必要性
注意:现阶段常常采用带步长的卷积代替池化操作
部分内容来自: 阿里云天池
相关文章:

【机器学习合集】标准化与池化合集 ->(个人学习记录笔记)
文章目录 标准化与池化1. 标准化/归一化1.1 归一化归一化的作用 1.2 标准化批标准化方法 Batch Normailzation标准化方法的对比自动学习标准化方法 2. 池化2.1 池化的作用2.2 常见的池化方法2.3 池化方法的差异2.4 池化的必要性 标准化与池化 1. 标准化/归一化 1.1 归一化 归…...

Dockerfile文件自动化生成R4L镜像
Dockerfile文件自动化生成R4L镜像的步骤 1、安装Docker:2、使用Dockerfile一键生成镜像:3、查看生成的Docker镜像:4、删除Docker镜像:5、生成Docker容器:6、查看容器7、删除容器 1、安装Docker: curl -fsS…...

基于SSM的居家养老系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...
[C#基础训练]FoodRobot食品管理部分代码-2
参考代码: using System; using System.Collections.Generic;namespace FoodRobotDemo {public class FoodInfo{ public string Name { get; set; } public int Id { get; set; } public int Count { get; set; }}public class FoodRobot{private …...

docker部署rabbitmq的坑
背景 今天用docker部署rabbitmq,启动都一起正常,但是当访问15672端口时,不能加载出页面。 排查 1.防火墙是否开启 ufw status2.ip是否能ping通 ping 192.168.x.x3.检查docker日志 docker psdocker logs -f 容器id4.进入容器,…...
【python VS vba(系列2)】 python和vba读写EXCEL文件的方式比较 (建设ing)
目录 1 用VBA读写EXCEL文件 1.1 用VBA读写,本工作簿workbook里的特定sheet的特定内容 1.1.1 EXCEL表内内容访问 1.1.2 注意点 1.1.3 代码 1.2 用VBA读写本工作簿workbook里的所有sheet的内容 1.2.1 麻烦之处 1.2.2 方法,如何指定EXCEL里的内容…...

小程序 swiper滑动 层叠滑动效果
整个红色区域为可滑动区域,数字1区域为展示区域,数字2为下一个展示模块 <scroll-view class"h_scroll_horizontal" enhanced"ture" bind:touchend"touchEnd" bind:touchstart"touchStart"><view clas…...

【20年VIO梳理】
19-20年VIO 梳理 1. 开源代码介绍: DSM2. FMD Stereo SLAM:融合MVG和直接方法,实现准确,快速的双目SLAM3. 基于VINS-Mono开发的SPVIS4. 改进:一种基于光流的动态环境移动机器人定位方案5. PVIO:基于先验平面约束的高效…...
Java Object类详解
Object 是 java 类库中的一个特殊类,也是所有类的父类。也就是说,Java 允许把任何类型的对象赋给 Object 类型的变量。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。因此,以下两个类表示的含…...

Unity 中忽略图片透明度的 Image 组件的修改版本
只需将此组件添加到画布中的空对象即可。请注意,仅支持简单 图像类型。 using System.Collections.Generic; using UnityEngine; using UnityEngine.Sprites; using UnityEngine.UI; #if UNITY_2017_4 || UNITY_2018_2_OR_NEWER using UnityEngine.U2D; #endif#if U…...

hibernate源码(1)--- schema创建
sessionFactory 配置项: hibernate的核心是sessionFactory,那我们看看如何构建session Factory。 参考官网: plugins {id("java") } group "com.atai.hibernatespy" version "1.0-SNAPSHOT" repositories…...

数学与经济管理
数学与经济管理(2-4分) 章节概述 最小生成树问题 答案:23 讲解地址:74-最小生成树问题_哔哩哔哩_bilibili 最短路径问题 答案:81 讲解地址:75-最短路径问题_哔哩哔哩_bilibili 网络与最大流量问题 真题 讲解…...

自动化测试系列 —— UI自动化测试
UI 测试是一种测试类型,也称为用户界面测试,通过该测试,我们检查应用程序的界面是否工作正常或是否存在任何妨碍用户行为且不符合书面规格的 BUG。了解用户将如何在用户和网站之间进行交互以执行 UI 测试至关重要,通过执行 UI 测试…...

眨个眼就学会了PixiJS
本文简介 带尬猴,我是德育处主任 当今的Web开发中,图形和动画已经成为了吸引用户注意力的重要手段之一。而 Pixi.js 作为一款高效、易用的2D渲染引擎,已经成为了许多开发者的首选(我吹的)。本文将为工友们介绍PixiJS的…...

WORD中的表格内容回车行距过大无法调整行距
word插入表格,编辑内容,换行遇到如下问题: 回车后行距过大,无法调整行距。 解决方法(并行): 方法1:选中要调整的内容,菜单路径:“编辑-清除-格式” 方法2&am…...
MySQL 高级函数整理
目录 MySQL 高级函数VERSIONIFCASE参考文章 MySQL 高级函数 函数描述BIN返回数字的二进制表示BINARY将值转换为二进制字符串CASE遍历条件并在满足第一个条件时返回一个值CAST将(任何类型的)值转换为指定的数据类型COALESCE返回列表中的第一个非空值CONN…...

UG\NX二次开发 连接曲线、连结曲线 UF_CURVE_auto_join_curves
文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介 UG\NX二次开发 连接曲线、连结曲线 UF_CURVE_auto_join_curves 效果 代码 #include "me.hpp" extern DllExport void ufusr(char* param, int* returnC…...

python爬虫入门(四)爬取猫眼电影排行(使用requests库和正则表达式)
本例中,利用 requests 库和正则表达式来抓取猫眼电影 TOP100 的相关内容。 1.目标 提取出猫眼电影 TOP100 的电影名称、时间、评分、图片等信息,提取的站点 URL 为 http://maoyan.com/board/4,提取的结果会以文件形式保存下来。 2.抓取分析…...

Mybatis-Plus CRUD
💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Mybatis-Plus CRUD 通用 Service CRUD 封装 IService 接口,进一步封装 CRUD 采用 get 查询、remove 删除 、list 查询集合、page 分页的前缀命名方式区分 …...

【强化学习】08——规划与学习(采样方法|决策时规划)
文章目录 优先级采样Example1 Prioritized Sweepingon Mazes局限性及改进 期望更新和采样更新不同分支因子下的表现 轨迹采样总结实时动态规划Example2 racetrack 决策时规划启发式搜索Rollout算法蒙特卡洛树搜索 参考 先做个简单的笔记整理,以后有时间再补上细节 …...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...