Neural network 在Apple提供的MetalImageRecognition示例代码中,如何对权重和偏差参数执行批量标准化?

Neural network 在Apple提供的MetalImageRecognition示例代码中,如何对权重和偏差参数执行批量标准化?,neural-network,ios10,conv-neural-network,metal,Neural Network,Ios10,Conv Neural Network,Metal,自述文件提供了以下评论: /* The weights for this particular network were batch normalized but for inference we may use : w = gamma / √(s + 0.001), b = ß - ( A * m ) s: variance m: mean gamma : gamma ß: beta w: weights of a feature channel b: bias of

自述文件提供了以下评论:

/* 
The weights for this particular network were batch normalized but for inference we may use : 

w =  gamma  / √(s + 0.001), b = ß - ( A * m ) 

s: variance 
m: mean 
gamma : gamma 
ß: beta 

w: weights of a feature channel 
b: bias of a feature channel 

for every feature channel separately to get the corresponding weights and  bias 
*/  
我已经能够使用TensorFlow将所有经过训练的参数从重新训练的初始模型导出为二进制。例如,对于第一个卷积节点,以下是可用的二进制文件:

conv0/BatchNorm/beta conv0/BatchNorm/beta/指数移动平均值 conv0/BatchNorm/beta/RMSProp conv0/BatchNorm/beta/RMSProp_1 conv0/批次标准/移动平均值 conv0/BatchNorm/移动平均值/指数移动平均值 conv0/批次标准/移动偏差 conv0/BatchNorm/moving\u方差/指数移动平均值 conv0/重量 conv0/权重/指数移动平均值 conv0/权重/正则化器/L2Loss/值/平均值 conv0/weights/RMSProp conv0/重量/RMSProp_1

是否对这些文件进行了转换或重新计算,以获得相应的conv.dat文件,或者TensorFlow中是否有一个函数可以通过批量标准化导出每个节点

任何额外的方向都会非常有用,因为这里几乎没有资源来连接这些点


谢谢。

我创建了一个回购协议,将初始v3批次标准化权重转换为MPSCNN卷积所需的非标准化权重

在Sergey Ioffe和Christian Szegedy()撰写的论文“批量规范化:通过减少内部协变量移位来加速深层网络训练”中,我们可以使用算法2,输出,步骤11推导:

[Weight = \frac{\gamma}{\sqrt{Var[x]+0.001}} * Weight_{BN}](http://mathurl.com/z7snq3z.png)
[Bias = \beta - (\frac{\gamma}{\sqrt{Var[x]+0.001}}) * E[x]](http://mathurl.com/zo4shhf.png)
注意:我需要10信誉点,然后我才能发布图像或2个链接