实例标准化与批量标准化

2024-05-02

据我所知,批量归一化通过将激活转向单位高斯分布来帮助加快训练速度,从而解决梯度消失问题。批量归一化行为在训练(使用每个批次的平均值/var)和测试时间(使用训练阶段的最终运行平均值/var)时应用不同。

另一方面,实例归一化充当本文提到的对比度归一化https://arxiv.org/abs/1607.08022 https://arxiv.org/abs/1607.08022。作者提到,输出风格化图像不应依赖于输入内容图像的对比度,因此实例归一化会有所帮助。

但是,我们是否也应该使用实例归一化进行图像分类,其中类标签不应依赖于输入图像的对比度。我还没有看到任何论文使用实例归一化代替批量归一化进行分类。这是什么原因呢?此外,批处理和实例规范化可以而且应该一起使用。我渴望对何时使用哪种标准化有直观和理论的理解。


定义

让我们从两者的严格定义开始:

Batch normalization batch-norm-formula

Instance normalization instance-norm-formula

正如您所注意到的,除了联合归一化的输入张量的数量之外,它们正在做相同的事情。批处理版本标准化所有图像跨批次和空间位置(在 CNN 案例中,在普通情况下这不一样 https://stackoverflow.com/q/38553927/712995);实例版本独立地标准化批次的每个元素,即跨空间位置 only.

换句话说,当批归一化计算一个均值和标准差(从而使整个层的分布呈高斯分布)时,实例归一化计算T使每个单独的图像分布看起来呈高斯分布,但不是联合分布。

一个简单的类比:在数据预处理步骤中,可以按图像标准化数据或标准化整个数据集。

Credit: the formulas are from here https://github.com/aleju/papers/blob/master/neural-nets/Instance_Normalization_The_Missing_Ingredient_for_Fast_Stylization.md.

哪种标准化更好?

答案取决于网络架构,特别是所做的事情after标准化层。图像分类网络通常将特征图堆叠在一起并将它们连接到 FC 层,FC 层跨批次共享权重(现代的方法是使用 CONV 层而不是 FC,但该论点仍然适用)。

这就是分布细微差别开始变得重要的地方:同一个神经元将接收来自所有图像的输入。如果批次间的方差较高,则小激活的梯度将被高激活完全抑制,这正是批量归一化试图解决的问题。这就是为什么每个实例的规范化很可能根本无法改善网络收敛。

另一方面,批量归一化会给训练增加额外的噪声,因为特定实例的结果取决于邻居实例。事实证明,这种噪声对网络来说既可能是好事,也可能是坏事。这在“体重标准化” https://arxiv.org/pdf/1602.07868.pdfTim Salimans 等人的论文,将循环神经网络和强化学习 DQN 命名为噪声敏感应用。我不完全确定,但我认为同样的噪声敏感性是风格化任务中的主要问题,实例规范试图解决这个问题。检查权重标准对于这项特定任务是否表现更好会很有趣。

能否将批量标准化和实例标准化结合起来?

尽管它构成了一个有效的神经网络,但没有实际用途。批量归一化噪声要么有助于学习过程(在这种情况下最好),要么会损害它(在这种情况下最好忽略它)。在这两种情况下,让网络保留一种类型的标准化可能会提高性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实例标准化与批量标准化 的相关文章

随机推荐

  • c++ 如何释放和删除指向对象的指针的二维数组

    在SO问题 如何在C 中分配指针的二维数组 1 中 接受的答案还说明了如何取消分配和删除所述数组的正确过程 即 小心删除包含的指针 行数组和列数组全部分开且顺序正确 因此 我已经在元胞自动机模拟程序中成功地使用了这个二维阵列 但是 我无法使
  • 今天 iCloud + Core Data(2015 年 7 月 10 日)

    几年前 Apple 发布了 Core Data 应用程序的 iCloud 同步 然后我发布了一个适用于 iPad iPhone MAC 的应用程序 其共享模型使用新的 Apple 机制 事情并没有按预期进行 同步机制有时不起作用 例如 就我
  • IE10及以下浏览器检测

    我只想只针对 IE10 及以下版本的 IE 浏览器 请帮助我 我试过下面的代码 var userAgent navigator userAgent var regexIe8 new RegExp Trident 4 0 Trident 5
  • 动态 CRM 插件注册工具返回不安全或安全错误的错误

    我在尝试使用 SDK 中的插件注册工具注册插件时遇到错误 这个问题不知从何而来 因为在今天之前我总是能够轻松地使用该工具进行插件注册 错误信息是这样的 未处理的异常 System ServiceModel Security MessageS
  • 如果对象被破坏,打字稿类型会失败

    我有一个函数返回带有两个属性 res mes 的对象 其中一个为空 const fetchJSON
  • 如何将 CLI 应用程序作为 Windows 服务运行?

    假设我有一个第三方应用程序 它执行后台工作 但将所有错误和消息打印到控制台 这意味着 目前我们必须保持用户登录到服务器 并在每次重新启动时重新启动应用程序 双击 不太酷 我有点确定 有一种简单的方法可以做到这一点 通用服务包装器 可以使用日
  • 为什么静态成员会降低语言的面向对象性?

    我现在正在学习 Scala 我在 Odersky 的 Scala 编程 第二版中看到了这样的说法 Scala 比 Java 更面向对象的一种方式是 Scala 中的类不能有静态成员 我在 Java 或 Scala 方面都没有足够的经验 无法
  • TDD 红绿灯的重构阶段 - 如何做到这一点?

    所以我对一个班级做了以下测试Board那将会诞生 TestMethod public void Set The Origin As Violet And The Query Confirms It Board board new Board
  • 批处理文件中的 %* 是什么意思?

    我见过的用法 在批处理文件和命令行中 有人可以解释一下的典型用法吗 有一个例子吗 它的意思是 命令行中的所有参数 例如 当您想要将命令行从批处理文件转发到另一个程序时 它非常有用 REM mybatchfile cmd echo You c
  • printf() var-arg 引用如何与堆栈内存布局交互?

    给出代码片段 int main printf Val d 5 return 0 是否有任何保证编译器会存储 Val d and 5 连续地 例如 d l a V 5 Format String
  • 有什么方法可以分析 Flex 中内置的 SWF 的大小吗?

    我的 Flex 应用程序看起来比应有的要大 里面有很多代码 但资产不多 而且看起来很大 但我不知道如何弄清楚空间的去向 我知道 link report 选项 但它只给出外部链接库类的大小 我非常有兴趣查看应用程序中所有类和资源大小的报告 如
  • 在 Adob​​e Air 中访问 iframe 的内容

    我在弄清楚如何访问 Air 中 iframe 中的内容时遇到了很多麻烦 这是我一直在测试的一些示例 jquery 代码 document ready function frame ready function air trace frame
  • 在mysql中使用GROUP BY时,如何选择最长的文本字段,如MAX()?

    在 MySql 中 您可以使用MAX 使用时获得最高值的函数GROUP BY 我怎样才能做同样的事情来获得最长的文本字符串 样本表 id post id title body 1 ZXBF1J Favorite Color My favor
  • 如何确定哪个 URL 被 App Transport Security 阻止?

    我正在将 iOS 应用程序升级到 iOS 9 并且有一些不安全的 URL 并且我需要应用程序传输安全性的一些例外情况 我已经添加了我所知道的两个 但现在出现了一些警告 应用程序传输安全性已阻止明文 HTTP http 资源加载 因为它不安全
  • 使用php.ini、.htaccess和zlib.output压缩js、css和php文件

    我一直在尝试使用 gzip 压缩我的网站 尽管我的服务器不允许我使用 mod deflate 所以我在这里找到了替代解决方案 http www warpconduit net 2010 10 23 enabling gzip compres
  • 使用 JavaScript 更改 iframe 中的 URL

    我有一个 iframe 它从父页面调用一个函数 该函数是 window location 但这不会更改 url 有没有办法让 iframe 从父页面调用函数 这会导致 iframe 更改 url 我还有一个基本问题 如果我有一个 ifram
  • 传单:同一页上有多个地图

    我搜索过类似的问题 但没有找到适合我的情况的答案 我想使用 3 张传单地图 每张都有不同的内容 出现两个问题 仅显示第一个 比例和缩放控件仅显示在第三个中 我附上了一个 jsfiddle 以防你能帮忙 const mapbox L tile
  • C++11 左值到右值的转换?

    我认为我缺少一些关于左值到右值标准转换的基本知识 从 C 11 4 1 开始 非函数 非数组类型 T 的左值可以转换为纯右值 所以我们声明一个变量x int x 42 一种表达x在此范围内现在是左值 因此也是左值 它满足 4 1 中左值到右
  • HTTP PUT 请求通常如何发出?

    我知道 HTTP PUT 是一个幂等请求 根据定义 引用自rfc http www w3 org Protocols rfc2616 rfc2616 sec9 html The PUT method requests that the en
  • 实例标准化与批量标准化

    据我所知 批量归一化通过将激活转向单位高斯分布来帮助加快训练速度 从而解决梯度消失问题 批量归一化行为在训练 使用每个批次的平均值 var 和测试时间 使用训练阶段的最终运行平均值 var 时应用不同 另一方面 实例归一化充当本文提到的对比