首页 > 其他分享 >深度学习中归一化的方法

深度学习中归一化的方法

时间:2024-08-05 21:26:24浏览次数:14  
标签:样本 均值 学习 标准差 深度 维度 Normalization 归一化

深度学习中常用的归一化方法有:最大最小归一化(Min-Max Scaling)、Z-score归一化(Standardization)、小数定标归一化(Decimal Scaling)、批量归一化(Batch Normalization,BN)、层归一化(Layer Normalization,LN)、实例归一化(Instance Normalization,IN)和组归一化(Group Normalization,GN)。

  1. 最大最小归一化(Min-Max Scaling):将数据缩放到一个指定的最小值和最大值之间。对于每个特征,它将原始值减去最小值,并除以最大值与最小值之差。这种方法将数据线性映射到[0,1]范围内。这种归一化方法适用于特征值分布有确定的上下界的情况,如图像像素值等。例如,将图像的像素值从0-255范围归一化到0-1范围。

  2. Z-score归一化(Standardization):通过减去均值,再除以标准差,将数据转化为标准正态分布。这种方法假设数据服从正态分布,将数据减去均值后,均值为0,标准差为1。Z-score归一化适用于特征值分布无特定上下界的情况,例如文本数据中的词频。例如,将NLP任务中的词频向量进行Z-score归一化。

  3. 小数定标归一化(Decimal Scaling):将数据除以10的幂次,使得数据的绝对值都小于1。这种方法不需要知道数据的分布情况,适用于特征值分布无特定上下界的情况。例如,将一个图像的像素值除以255,将其范围归一化到0-1。

  4. 批量归一化(Batch Normalization,BN):在神经网络的每一层中,对每个mini-batch的输入进行归一化处理。它通过减去均值,再除以标准差,将输入数据转化为均值为0,标准差为1的分布。这样可以加速网络的训练过程,同时可以防止梯度消失或爆炸的问题。例如,在图像分类任务中,对于每个卷积层或全连接层的输出进行批量归一化。

  5. 层归一化(Layer Normalization,LN):与批量归一化类似,但是在层归一化中,每个样本的特征维度上进行归一化。它通过减去均值,再除以标准差,将每个样本的特征维度转化为均值为0,标准差为1的分布。相比于批量归一化,层归一化在训练样本较小、样本间相互影响较大的情况下更稳定。例如,在NLP任务中,对于每个样本的词向量进行层归一化。

  6. 实例归一化(Instance Normalization,IN):与批量归一化类似,但是在实例归一化中,对每个样本的特征维度进行归一化。它通过减去均值,再除以标准差,将每个样本的特征维度转化为均值为0,标准差为1的分布。与批量归一化相比,实例归一化更适用于图像生成等任务中,每个样本的特征维度独立于其他样本的情况。例如,在图像生成任务中,对于每个样本的特征图进行实例归一化。

  7. 组归一化(Group Normalization,GN):在神经网络的每一层中,将特征分成若干组,对每个组的特征进行归一化处理。组归一化可以看作是批量归一化和层归一化的一种折中方法。它通过减去均值,再除以标准差,将每个组的特征维度转化为均值为0,标准差为1的分布。组归一化适用于样本较小、样本间相互影响较大,但又不需要对整个mini-batch进行归一化的情况。例如,在图像分割任务中,对于每个卷积层输出的特征图进行组归一化。每个特征图对应一个通道,而组归一化是将特征图按照通道分成若干组,然后对每一组进行独立的归一化操作。

以上是对深度学习中常用归一化方法的通俗易懂解释及示例。归一化的数据维度取决于具体的应用场景,例如图像分类任务中,数据维度可以是图像的像素值;NLP任务中,数据维度可以是词频向量或词嵌入向量。

标签:样本,均值,学习,标准差,深度,维度,Normalization,归一化
From: https://blog.csdn.net/LIN2020LOVEDA/article/details/140861292

相关文章

  • 嵌入式开发C语言学习day28-华清作业8.5
    思维导图作业1:pipe.c//使用有名管道实现一个进程用于给另一个进程发消息//另一个进程收到消息后展示到终端上并且将消息保存到文件上一份#include<myhead.h>intmain(intargc,charconst*argv[]){//创建一个有名管道if(mkfifo("./linux",0664)......
  • MyBatis学习笔记第一天
    引言数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中数据模型的统称。例如,文件的存储、数据的读取以及对数据表的增删改查等都是数据持久化操作。MyBatis支持定制化SQL、存储过程以及高级映射,可以在实体类和SQL语句之间建立映射关系,是一种半......
  • Netty技术全解析:ByteToMessageDecoder类深度解析
    ❃博主首页:「码到三十五」,同名公众号:「码到三十五」,wx号:「liwu0213」☠博主专栏:<mysql高手><elasticsearch高手><源码解读><java核心><面试攻关>♝博主的话:搬的每块砖,皆为峰峦之基;公众号搜索「码到三十五」关注这个爱发技术干货的coder,......
  • Spring基础知识学习总结(一)
    一.基础介绍Spring是一个轻量级Java开发框架,最早有RodJohnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEEfull-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发......
  • Tpora学习笔记
    Markdown学习标题一级标题:#+空格二级标题:##+空格三级标题:###+空格字体字体加粗用:**字体变为斜体用:*既是斜体又是粗体:***划线:~~引用引用的别人的用:>分割线分割线用:—图片图片用:!+[]+()注意:中间没有加号,我家了空格是为了看效果,如下图超链接超......
  • 小度学习机z30和x30选哪个好
    外观设计,小度z30是平板式设计,内置10000mah电池容量,携带方便,而小度x30是一体式电脑设计,可以上下升降60mm,俯角10°和仰角20°调节,需要外接电源使用,比较固定。2、屏幕尺寸,小度z30是一款14英寸第二代类纸护眼屏,有28801800分辨率,小度x30是一款17.4英寸第二代类纸护眼屏,有25601600分辨......
  • 学习笔记 韩顺平 零基础30天学会Java(2024.8.5)
    P460八大Wrapper类     黄色的父类是number,黑色的是自己独立的P461装箱和拆箱     手动装箱示例:                             intn1=100;                Intergerinterger=newInterger(n1);//......
  • Linux学习第57天:Linux PWM驱动实验
    Linux版本号4.1.15  芯片I.MX6ULL                  大叔学Linux  品人间百味 思文短情长本章的思维导图如下:一、PWM驱动简析1、设备树下的PWM控制节点        8路PWM都属于I.MX6ULL的AIPS-1域,分为了两部分,PW......
  • 学而思二代旗舰学习机精准学Pro 值得买吗
    学而思精准学Pro的外形设计简约而不失优雅,12.35英寸的全视角显示屏幕,带来宽阔清晰的视界。这块屏幕采用了护眼技术,有效过滤有害蓝光,减少视疲劳,即便长时间学习,也能保护孩子们的眼睛健康。配置方面,8GB的运行内存和256GB的超大存储空间,让这款学习机运行起来流畅无比,即使是存储大量学......
  • 【从零开始一步步学习VSOA开发】创建VSOA的server端
    创建VSOA的server端创建工程参考hellovsoa工程,创建server工程,工程源码修改如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<netinet/in.h>#include<arpa/inet.h>#include"vsoa_platform.h"#include"vsoa_ser......