通过BatchNormalization把CIFAR10的训练精度提升到85%
条评论在不借助数据增强的情况下,我们已经一路把验证精度从70%
多提升到了80%
的水平,今天,我们借助BatchNormalization
可以进一步把精度提升到超过85%
。话不多说,先看结果:
通过观察每轮的数据可知,在最后的10轮的训练中,都保证了验证精度超过85%
,已经算是不错的成绩了。下面是模型的代码:
from keras import layers |
对比上次的模型,唯一的区别就是增加了若干的BatchNormalization
层。那咱们就来聊聊它。
BatchNormalization
,中文叫做批量归一化
,实际上是一种正则化,其功能就是对每个mini-batch
正则化,使数据分布的均值为0、方差为1,以此调整数据的广度。该方案于2015年被提出,并深受大家的喜爱。据书中所述,它有如下几个有点:
- 可以增大学习率,也就是学得更快。
- 不那么依赖初始值。
- 抑制过拟合。
本文标题:通过BatchNormalization把CIFAR10的训练精度提升到85%
文章作者:牧云踏歌
发布时间:2022-04-21
最后更新:2022-04-21
原始链接:http://www.kankanzhijian.com/2022/04/21/cnn-cifar10-try-4-BatchNormalization/
版权声明:本博客文章均系本人原创,转载请注名出处