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

文章目录

  • 标准化与池化
    • 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 池化的必要性

在这里插入图片描述

注意:现阶段常常采用带步长的卷积代替池化操作

部分内容来自: 阿里云天池

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

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

相关文章

拦截器以及统一功能的实现

目录 引言 实现一个简单的拦截器 拦截器小结 统一访问前缀 统一异常处理 统一返回参数 ControllerAdvice 引言 HandlerInterceptor是Spring MVC框架提供的一个拦截器接口,它用于对请求进行拦截和处理。在Spring MVC中,拦截器可以用于实现一些通用的功能…

C#调用C++ 的DLL传送和接收中文字符串

1 c#向c传送中文字符串 设置&#xff1a;将 字符集 改为 使用多字节字符集 cpp代码&#xff1a; extern "C"_declspec(dllexport) int input_chn_str(char in_str[]) {cout<<in_str<<endl;return 0; }c#代码&#xff1a; [DllImport("Demo.dll…

Kmssink插件添加缩放显示功能的分析思路与具体实现

XILINX MPSOC 实现输出缩放&#xff0c;PL一侧的配置如下&#xff1a; 修改PL侧的显示通道流程为&#xff1a;DDR -> FRAMBUF_RD -> VPSS(SCALE) -> V_MIX -> HDMI_TX -> MONITOR , 通过设置HDMI_TX的宽高&#xff0c;利用xlnx_bridge 接口关联设置VPSS(scal…

微信小程序设置 wx.showModal 提示框中 确定和取消按钮的颜色

wx官方提供的 showModal 无疑是个非常优秀的选择提示工具 但是 我们还可以让他的颜色更贴近整体的小程序风格 cancelColor 可以改变取消按钮的颜色 confirmColor 则可以控制确定按钮的颜色 参考代码如下 wx.showModal({cancelColor: #0000FF,confirmColor: #45B250,content:…

2023年CSP-S赛后总结

目录 T1 题目描述 输入格式 输出格式 T2 题目描述 输入格式 输出格式 题目描述 输入格式 输出格式 题意翻译 T3 题目背景 题目描述 输入格式 输出格式 T4 题目描述 输入格式 输出格式 总结 T1 题目描述 小 Y 有一把五个拨圈的密码锁。如图所示&#xff0…

LoongArch 指令集 流水线设计

简易版流水线 流水线总体思想-自己感悟 将指令执行分成若干个阶段&#xff08;五级流水-取值&#xff0c;译码&#xff0c;执行&#xff0c;访存&#xff0c;写回&#xff09;&#xff0c;每个阶段干自己的事&#xff08;生成相应的控制信号&#xff0c;完成自己的工作&#x…

人工智能(6):机器学习基础环境安装与使用

1 库的安装 整个机器学习基础阶段会用到Matplotlib、Numpy、Pandas等库&#xff0c;为了统一版本号在环境中使用&#xff0c;将所有的库及其版本放到了文件requirements.txt当中&#xff0c;然后统一安装 新建一个用于人工智能环境的虚拟环境 mkvirtualenv ai matplotlib3.8…

TCP通信实战案例-即时通信

即时通信是什么含义&#xff0c;要实现怎么样的设计&#xff1f; 即时通信&#xff0c;是指一个客户端的消息发出去&#xff0c;其他客户端可以接收到。 即时通信需要进行端口转发的设计思想。 服务端需要把在线的Socket管道存储起来。 一旦收到一个消息要推送给其他管道。…

MyBatis-Plus 实战教程一

这里写目录标题 简介快速上手数据库建立创建实体类修改参数引入依赖测试常见注解介绍TableNameTableIdTableField 常见配置仓库地址 简介 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;…

(零基础学习)Neo4j+Spring boot 自行定义属性

前置知识 1.Neo4j :属性 节点和关系都可以设置自己的属性。 属性是由Key-Value键值对组成&#xff0c;键名是字符串。属性值是要么是原始值&#xff0c;要么是原始值类型的一个数组。比如String&#xff0c;int和iint[]都是合法的。 注意 null不是一个合法的属性值。 Nulls能…

JsonPath完全介绍及详细使用教程

1、Json Path介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景&#xff0c;比如网站前台与后台之间的数据交互。 Python 2.7及之后版本,自带了JS…

2023年中国汽车塑料模具市场规模、竞争格局及行业趋势分析[图]

汽车注塑模具主要用来制造汽车内外饰件以及座椅等其他塑料零部件&#xff0c;其中又以汽车内外饰件模具最多。汽车内外饰件主要由各类塑料、表皮、织物或复合材料制成&#xff0c;用到的模具主要是塑料模具。从现代汽车使用的材料来看&#xff0c;无论是外装饰件、内装饰件&…

k8s集群镜像下载加gradana监控加elk日志收集加devops加秒杀项目

展示 1.配套资料2.devops 3.elk日志收集 4.grafana监控 5.dashboard![在这里插入图片描述](https://img-blog.csdnimg.cn/bf294f9fd98e4c038858a6bf5c34dbdc.png 目的 学习k8s来来回回折腾很久了&#xff0c;光搭个环境就能折腾几天。这次工作需要终于静下心来好好学习了一…

光流法动目标检测

目录 前言 一、效果展示 二、光流法介绍 三、代码展示 总结 前言 动目标检测是计算机视觉领域的一个热门研究方向。传统的方法主要基于背景建模&#xff0c;但这些方法对于光照变化、遮挡和噪声敏感。因此&#xff0c;研究人员一直在寻找更加鲁棒和有效的技术来解决这一问题。…

pytorch 入门 (四)案例二:人脸表情识别-VGG16实现

实战教案二&#xff1a;人脸表情识别-VGG16实现 本文为&#x1f517;小白入门Pytorch内部限免文章 参考本文所写记录性文章&#xff0c;请在文章开头注明以下内容&#xff0c;复制粘贴即可 &#x1f368; 本文为&#x1f517;小白入门Pytorch中的学习记录博客&#x1f366; 参…

Ubuntu自启动设置

ubuntu中编写shell脚本开机自动启动(推荐)_Linux_脚本之家 1. vim test.sh 2. #!/bin/bash ### BEGIN INIT INFO # Provides: test # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 …

实在智能受邀参加第14届珠中江数字化应用大会,AI赋能智能制造,共话“湾区经验”

制造业是实体经济的主体&#xff0c;是技术创新的主战场&#xff0c;是供给侧结构性改革的重要领域。抢占新一轮产业竞争制高点&#xff0c;制造业的数字化转型已成为行业升级的必由之路。 10月21日&#xff0c;第14届“珠中江”&#xff08;珠海、中山、江门&#xff09;数字…

Git 常用基本命令

一.基础命令 1&#xff09;vim命令&#xff1a; ESC ——回到命令模式&#xff08;默认&#xff09; 按下i&#xff0c;a等键 ——进入编辑模式 命令模式&#xff1a; yy ——复制 p ——粘贴 末行模式&#xff1a; :w ——保存 :q ——退出 :wq ——保存退出 编辑模式&#…

整数智能·迪拜GITEX 2023 |探索未来科技,感受创新脉搏

第43届GITEX GLOBAL在迪拜世界贸易中心盛大开幕&#xff0c;聚集来自全球各地的6000多家参展企业&#xff0c;包含大量来自于人工智能、区块链、网络安全、可持续技术等领域的科技巨头和革命性初创企业&#xff0c;展示全球科技最新趋势和创新机遇。GITEX GLOBAL始办于1981年&a…

ES6 模块化编程 详解

目录 一、基本介绍 二、基本原理示意图 三、传统CommonJS实现模块化编程 1.介绍 : 2.实例 : 四、ES6新特性实现模块化编程 1.介绍 : 2.实例 : 一、基本介绍 (1) ES6新特性——模块化编程&#xff0c;用于解决传统非模块化开发中出现的"命名冲突", "文件…