我想知道,在卷积神经网络中,是否应该对每个像素分别应用批处理归一化,还是应该对每个通道取像素的平均值?
我在Tensorflow的tf描述中看到了这一点。图层。batch\u归一化建议对通道执行bn,但如果我回忆正确,我使用了另一种方法,效果很好。
我对此困惑了几个小时,因为对每个频道进行规范化是没有意义的,因为conv-net中的每个频道都被认为是不同的“特性”。一、 e.所有通道的标准化等同于以平方英尺为单位的卧室数量的标准化(Andrew的ML课程中的多元回归示例)。这不是规范化所做的-您所做的是规范化每个特征本身。一、 e.将所有示例中的卧室数量规格化为mu=0和std=1,并将所有示例中的平方英尺规格化为mu=0和std=1。
在自己检查和测试之后,我意识到问题是什么:这里有一点混淆/误解。您在Keras中指定的轴实际上是不在计算中的轴。也就是说,除了此参数指定的轴之外,您可以在每个轴上获得平均值。这很令人困惑,因为它与NumPy的工作方式完全相反,其中指定的轴是您进行操作的轴(例如np.mean、np.std等)。编辑:在此处检查此答案。
实际上,我建立了一个只有BN的玩具模型,然后手动计算BN——在所有3个第一维度(m、n\u W、n\u H)上取平均值,std,得到n\u C结果,计算(X-mu)/std(使用广播),得到与Keras结果相同的结果。
所以我对此很确定。
据我所知,在前馈(密集)层中,每个单元(神经元)应用批量归一化,因为它们每个都有自己的权重。因此,您可以跨特征轴进行归一化。
但是,在卷积层中,权重在输入之间共享,即每个特征映射对不同输入的“体积”应用相同的变换。因此,可以使用每个特征映射的平均值和方差(而不是每个单元/神经元)应用批处理规范化。
这就是为什么我猜测轴
参数值存在差异。
在CNN图像中,通道内的规范化很有帮助,因为权重在通道之间共享。另一篇论文中的图显示了我们如何处理BN。这有助于更好地理解。
图取自
Wu,Y.和He,K.,2018年。组规范化。arXiv预印本arXiv:1803.08494。
本文向大家介绍什么是数据标准化,为什么要进行数据标准化?相关面试题,主要包含被问及什么是数据标准化,为什么要进行数据标准化?时的应答技巧和注意事项,需要的朋友参考一下 数据标准化是预处理步骤,将数据标准化到一个特定的范围能够在反向传播中保证更好的收敛。一般来说,是将该值将去平均值后再除以标准差。如果不进行数据标准化,有些特征(值很大)将会对损失函数影响更大(就算这个特别大的特征只是改变了1%,但是
我的问题是批处理规范化(BN)正在规范化什么。 我在问,BN是单独标准化每个像素的通道还是一起标准化所有像素的通道。它是在每张图像的基础上还是在整个批次的所有通道上进行的。 具体而言,BN在X上运行。比如说,。因此,当轴=3时,它在“c”维度上运行,即通道数(对于rgb)或特征图数。 因此,假设X是rgb,因此有3个通道。BN是否做到了以下几点:(这是BN的简化版本,用于讨论维度方面。我知道gam
我想通过数组映射,但我得到一个错误:TypeError: locationAddress.map不是一个函数 我是新来的反应和反应钩。我一直试图简化数组,但运气不好。知道为什么这不起作用吗? 编辑:到目前为止,我尝试了答案中的所有更改,但错误仍然存在。我包括了更多的代码和包。json文件。我尝试停用一些函数,如useEffect,现在只有在我尝试键入要映射的输入字段时才会显示错误。 找到解决方案:
问题内容: 其实我有两个问题。 (1)如果仅检索标头而不是使用php和curl进行全页检索,那么在远程服务器上使用的 处理能力 或 带宽 是否有所减少? (2)因为我认为并且可能是错误的,所以第一个问题的答案是 YES ,我试图获取远程文件的最后修改日期或If-Modified- Since标头只是为了与它的时间日期进行比较本地存储的数据,因此,如果数据已更改,我可以将其存储在本地。但是,运行此脚
问题内容: 在 pipe 上使用2个 队列 在进程之间进行通信有什么优势(如果有)? 我正在计划使用python模块。 问题答案: 最大的好处是队列是进程和线程安全的。管道不是:如果两个不同的进程试图读取或写入pipe的同一端,则会发生不良情况。队列的抽象级别也比管道更高,这在您的特定情况下可能有优势,也可能没有优势。
我在React中有一个表,它的行没有html元素,所以我可以用通常的方式进行映射。它的数据通过道具。下面是一个例子: 我想做一些像