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

【机器学习合集】标准化与池化合集 ->(个人学习记录笔记)

文章目录

  • 标准化与池化
    • 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(实例标准化)都是用于深度神经网络的归一化技术,用于改善训练的稳定性和收敛速度。它们在归一化的对象和方式上有一些不同之处:

  1. Batch Normalization(批标准化)

    • 归一化对象:Batch Normalization是在每个神经层的输入上进行归一化,通常是对每个mini-batch的样本进行统计。
    • 归一化方式:它通过计算每个神经元的均值和方差,然后对每个神经元的输出进行归一化,以确保网络的中间层保持稳定。
  2. Layer Normalization(层标准化)

    • 归一化对象:Layer Normalization是在每个神经层的输入上进行归一化,但不考虑mini-batch内的样本,而是考虑单层的所有神经元
    • 归一化方式:它通过计算每个神经元的均值和方差,然后对单层内的所有神经元的输出进行归一化
  3. Group Normalization(组标准化)

    • 归一化对象:Group Normalization是在每个神经层的输入上进行归一化,但不是针对整个层或整个mini-batch,而是将神经元分成多个组,然后对每个组内的神经元进行归一化
    • 归一化方式:它通过计算每个组内神经元的均值和方差,然后对每个组内的神经元的输出进行归一化
  4. 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 池化方法的差异

不同的池化方法是用来降低特征图维度的方式,它们在计算输出时有不同的策略。以下是最大值池化、均值池化、随机池化、最小值池化、中值池化和混合池化等池化方法之间的主要区别:

  1. 最大值池化(Max Pooling)

    • 操作方式:在每个池化窗口内选择最大值作为输出。
    • 特点:Max Pooling突出最显著的特征,通常用于提取重要的特征。
  2. 均值池化(Average Pooling)

    • 操作方式:在每个池化窗口内计算所有值的平均值作为输出。
    • 特点:Average Pooling平滑特征图并减小尺寸,用于降低计算量。
  3. 随机池化(Random Pooling)

    • 操作方式:在每个池化窗口内随机选择一个值作为输出。
    • 特点:Random Pooling引入了随机性,有助于提高网络的鲁棒性和泛化性能。
  4. 最小值池化(Min Pooling)

    • 操作方式:在每个池化窗口内选择最小值作为输出。
    • 特点:Min Pooling可用于强调较小的特征值,用于特定任务。
  5. 中值池化(Median Pooling)

    • 操作方式:在每个池化窗口内选择中值(中间值)作为输出。
    • 特点:Median Pooling可以在一定程度上抵御异常值的影响,适用于一些异常值敏感的任务。
  6. 混合池化(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.进入容器&#xff0c…...

【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滑动 层叠滑动效果

整个红色区域为可滑动区域&#xff0c;数字1区域为展示区域&#xff0c;数字2为下一个展示模块 <scroll-view class"h_scroll_horizontal" enhanced"ture" bind:touchend"touchEnd" bind:touchstart"touchStart"><view clas…...

【20年VIO梳理】

19-20年VIO 梳理 1. 开源代码介绍&#xff1a; DSM2. FMD Stereo SLAM&#xff1a;融合MVG和直接方法&#xff0c;实现准确&#xff0c;快速的双目SLAM3. 基于VINS-Mono开发的SPVIS4. 改进&#xff1a;一种基于光流的动态环境移动机器人定位方案5. PVIO:基于先验平面约束的高效…...

Java Object类详解

Object 是 java 类库中的一个特殊类&#xff0c;也是所有类的父类。也就是说&#xff0c;Java 允许把任何类型的对象赋给 Object 类型的变量。当一个类被定义后&#xff0c;如果没有指定继承的父类&#xff0c;那么默认父类就是 Object 类。因此&#xff0c;以下两个类表示的含…...

Unity 中忽略图片透明度的 Image 组件的修改版本

只需将此组件添加到画布中的空对象即可。请注意&#xff0c;仅支持简单 图像类型。 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 配置项&#xff1a; hibernate的核心是sessionFactory&#xff0c;那我们看看如何构建session Factory。 参考官网&#xff1a; plugins {id("java") } group "com.atai.hibernatespy" version "1.0-SNAPSHOT" repositories…...

数学与经济管理

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

自动化测试系列 —— UI自动化测试

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

眨个眼就学会了PixiJS

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

WORD中的表格内容回车行距过大无法调整行距

word插入表格&#xff0c;编辑内容&#xff0c;换行遇到如下问题&#xff1a; 回车后行距过大&#xff0c;无法调整行距。 解决方法&#xff08;并行&#xff09;&#xff1a; 方法1&#xff1a;选中要调整的内容&#xff0c;菜单路径&#xff1a;“编辑-清除-格式” 方法2&am…...

MySQL 高级函数整理

目录 MySQL 高级函数VERSIONIFCASE参考文章 MySQL 高级函数 函数描述BIN返回数字的二进制表示BINARY将值转换为二进制字符串CASE遍历条件并在满足第一个条件时返回一个值CAST将&#xff08;任何类型的&#xff09;值转换为指定的数据类型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库和正则表达式)

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

Mybatis-Plus CRUD

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Mybatis-Plus CRUD 通用 Service CRUD 封装 IService 接口&#xff0c;进一步封装 CRUD 采用 get 查询、remove 删除 、list 查询集合、page 分页的前缀命名方式区分 …...

【强化学习】08——规划与学习(采样方法|决策时规划)

文章目录 优先级采样Example1 Prioritized Sweepingon Mazes局限性及改进 期望更新和采样更新不同分支因子下的表现 轨迹采样总结实时动态规划Example2 racetrack 决策时规划启发式搜索Rollout算法蒙特卡洛树搜索 参考 先做个简单的笔记整理&#xff0c;以后有时间再补上细节 …...

Multus-CNI快速部署教程:5分钟搞定多网络接口配置

Multus-CNI快速部署教程&#xff1a;5分钟搞定多网络接口配置 【免费下载链接】multus-cni A CNI meta-plugin for multi-homed pods in Kubernetes 项目地址: https://gitcode.com/gh_mirrors/mu/multus-cni 在当今复杂的云原生环境中&#xff0c;Kubernetes Pod通常需…...

网站SEO优化的成本是多少_如何合理控制

网站SEO优化的成本是多少?如何合理控制 问题分析&#xff1a;SEO优化的成本背后 随着互联网的迅猛发展&#xff0c;网站SEO优化成为提升网站流量、增加品牌知名度和实现商业目标的关键手段。网站SEO优化的成本究竟是多少呢&#xff1f;这不仅仅涉及到人力、时间和技术投入&a…...

19 多语言切换实操:一个指令,让AI适配任意编程语言

多语言切换实操:一个指令,让AI适配任意编程语言 摘要 本文为《30天掌控AI编程:从指令到落地,手把手教你指挥AI写代码》系列第十九篇,属于第三阶段多语言实战核心内容。本篇专注AI代码跨语言无缝切换这一高频痛点,针对零基础开发者、多技术栈项目人员,拆解如何通过结构…...

漏洞挖掘变现指南:合法渠道\+赏金技巧,新手也能月入过万

很多新手学习漏洞挖掘&#xff0c;不仅是为了提升技术&#xff0c;更是为了实现“技术变现”——通过提交漏洞获取赏金、兼职接单&#xff0c;这也是网络安全领域的核心福利之一。但变现的前提是“合法合规”&#xff0c;本文拆解漏洞挖掘的合法变现渠道、赏金提升技巧、避坑指…...

kys-cpp跨平台编译教程:Windows与Linux双平台部署指南

kys-cpp跨平台编译教程&#xff1a;Windows与Linux双平台部署指南 【免费下载链接】kys-cpp 《金庸群侠传》c复刻版&#xff0c;已完工 项目地址: https://gitcode.com/gh_mirrors/ky/kys-cpp kys-cpp是《金庸群侠传》的C复刻版&#xff0c;支持经典回合制与创新即时战斗…...

Electron应用部署终极指南:@electron/asar 与CI/CD集成方案

Electron应用部署终极指南&#xff1a;electron/asar 与CI/CD集成方案 【免费下载链接】asar Simple extensive tar-like archive format with indexing 项目地址: https://gitcode.com/gh_mirrors/as/asar 在Electron应用开发中&#xff0c;如何高效打包和部署应用是每…...

如何用PHP实现线程安全的单例模式?

标准的 PHP-FPM 架构下&#xff0c;根本不存在“多线程”&#xff0c;因此也不需要“线程安全”的单例模式。 PHP 的设计哲学是 Share-Nothing&#xff08;无共享&#xff09;。 FPM 模式&#xff1a;每个请求由一个独立的进程处理。进程之间内存隔离。你在进程 A 里的单例&…...

达摩院CAM++说话人识别模型实战:5分钟搞定Modelscope部署与中文测试

达摩院CAM说话人识别模型实战&#xff1a;5分钟搞定Modelscope部署与中文测试 语音技术正在重塑人机交互的边界&#xff0c;而说话人识别作为其中的核心能力之一&#xff0c;已经从实验室走向工业级应用。达摩院开源的CAM模型以其卓越的准确率和计算效率&#xff0c;正在成为开…...

Transformer与NLP研究

自2017年Google Brain团队提出以来,Transformer架构已成为自然语言处理(NLP)领域的核心引擎,彻底改变了AI处理序列数据的方式。从BERT、GPT到T5,再到2025年谷歌发布的Titans架构,这一架构不断演进,突破了传统循环神经网络(RNN)和卷积神经网络(CNN)在并行计算、长距离…...

云安全部署防护成为企业刚需,合规+高效部署指南

企业上云已从可选变为必选项&#xff0c;公有云、私有云、混合云的广泛应用&#xff0c;让企业IT架构更敏捷、成本更可控&#xff0c;但与此同时&#xff0c;云环境的安全风险也呈爆发式增长。Gartner预测&#xff0c;到2025年&#xff0c;99%的云安全事件将由客户配置错误引发…...