欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > PyTorch Instance Normalization介绍

PyTorch Instance Normalization介绍

2025/1/5 6:42:18 来源:https://blog.csdn.net/qq_27390023/article/details/144791561  浏览:    关键词:PyTorch Instance Normalization介绍

Instance Normalization(实例归一化) 是一种标准化技术,与 Batch Normalization 类似,但它对每个样本独立地对每个通道进行归一化,而不依赖于小批量数据的统计信息。这使得它非常适合小批量训练任务以及图像生成任务(如风格迁移)。


Instance Normalization 的原理

对每个样本 xx 的每个通道 cc 独立进行标准化。
对于输入数据 (以二维输入为例):

1. 计算每个通道的均值和方差

    • n:样本索引。
    • c:通道索引。
    • H,W:输入的高度和宽度。

2. 归一化

    • ϵ 是一个小值,用于防止除零。

3. 缩放和平移

  • γc​ 和 βc 是可学习参数,用于恢复表达能力。

Instance Normalization 的特点

  1. 独立于批量大小:每个样本独立进行归一化,解决了小批量训练中均值和方差不稳定的问题。
  2. 适用于风格迁移任务:在风格迁移中,Instance Normalization 能更好地捕捉图像的风格特征。
  3. 不适合特征间强相关任务:Instance Normalization破坏了样本之间的特征相关性,因此不适用于依赖特征间关系的任务(如分类)。

PyTorch 中的 InstanceNorm 类

PyTorch 提供了以下三种适用于不同输入维度的 Instance Normalization 类:

  • torch.nn.InstanceNorm1d:适用于一维数据(如序列或嵌入向量)。
  • torch.nn.InstanceNorm2d:适用于二维数据(如图像)。
  • torch.nn.InstanceNorm3d:适用于三维数据(如视频或体数据)。

1. torch.nn.InstanceNorm1d
参数:
  • num_features:输入的通道数。
  • eps

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com