TensorFlow and deep learning,without a PHD 第12章 中文

13。实验室:99%的挑战

确定神经网络大小的一个好方法是:首先实现一个小型的,有点过于受限的神经网络,

然后渐渐给它更多的自由度,并添加dropout,以确保它不会过拟合。

针对您的问题,这样做最终能得到一个相当优秀的网络。

例如,我们在第一个卷积层中仅使用了4个卷积核

如果您能认识到:这些 卷积核 的权重 在训练期间会进化为一个个不同的形状识别器,

您或许会很直觉地发现问题:4个卷积核可能不足以解决我们的问题,因为手写数字是超过4种基本形状构成的一种形式。

因此,让我们稍微增大卷积核的大小,将卷积层中的补丁数量从4,8,12增加到6,12,24,然后在完全连接的层上添加dropout

为什么不在卷积层使用dropout

因为卷积层的神经元使用重复相同的权重,因此在一次训练迭代期间通过随机丢掉一些权重来避免过拟合的的dropout对它们不起作用。

去尝试吧,突破99%的限制。

如上图所示增加卷积核的大小和通道数,并在卷积层上添加dropout。

解决方案可以在文件中找到mnist_3.1_convolutional_bigger_dropout.py。

上图所示的模型在10,000个测试数字中仅认错了72个。

您可以在MNIST网站上找到的世界纪录大约为99.7%。

我们的模型仅仅使用了100行的Python / TensorFlow代码构建,得到的结果距离最好的结果只差了0.4个百分点。

总而言之,这是我们更大的卷积网络的差异。

为神经网络提供额外的自由度,可以使最终精度从98.9%提高到99.1%。

增加dropout不仅解决了测试损失上升的问题,而且让我们的训练过程安全地超过99%,甚至达到99.3%

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值