keras.layers.BatchNormalization是一种归一化吗?

由上面两篇关于L2-norm的博文说开来,那就必然会扯到keras中的keras.layers.BatchNormalization,这个玩意是啥作用呢?

keras.layers.BatchNormalization

github源码在此paper在此

help后得到的解释如下:

Normalize the activations of the previous layer at each batch,
    i.e. applies a transformation that maintains the mean activation
    close to 0 and the activation standard deviation close to 1.

翻译为:对前一层的激活进行每个batch的归一化。

其隐藏含义/潜台词是用在激活后,目前可以卷积后激活【激活的类单独用】,也可在卷积中设置激活参数,如下:

keras.layers.Activation()

keras.layers.Conv2D(self, filters, kernel_size, strides=(1, 1), padding='valid',
 data_format=None, dilation_rate=(1, 1), activation=None, use_bias=True, 
kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, 
bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, 
bias_constraint=None, **kwargs)

上面的进一步解释是:使得激活后的参数近似于(0,1)正态分布。

下面看下keras版本的具体操作是什么?

遇到了一个问题:如何查看keras模型每一层的结果?

先下班了。

已经在上面的提及的博文得到解决。

另外有相关问题可以加入QQ群讨论,不设微信群

QQ群:868373192 

语音图像视频深度-学习群

发布了203 篇原创文章 · 获赞 185 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/SPESEG/article/details/103992751