Loading... <div class='handsome_aplayer player-content' data-preload="auto" data-autoplay="false" data-listMaxHeight="340px" data-order="list"> <div class="handsomePlayer-tip-loading"><span></span> <span></span> <span></span> <span></span><span></span></div><div class="handsome_aplayer_music" data-id="145424" data-server="netease" data-type="song" data-auth="72ae2abbae89cd7dbb2e2f5d44afec7e"></div> </div> ## 神经网络特点 注意;由于时间不够,文章只能马马虎虎! 本次主要探讨模型大小对模型的影响 由于没有取平均结果,些许或有所误差,我们只探究明显的特性! ### 大模型 <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-23a7548e05b610eb36d9743ee469c9b743" aria-expanded="true"><div class="accordion-toggle"><span style="">模型结构</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-23a7548e05b610eb36d9743ee469c9b743" class="collapse collapse-content"><p></p> ```python _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= dense_11 (Dense) (None, 1024) 803840 _________________________________________________________________ dense_12 (Dense) (None, 10) 10250 ================================================================= Total params: 814,090 Trainable params: 814,090 Non-trainable params: 0 ``` <p></p></div></div></div> 从中我们可以看到,我们使用了1024维度的神经网络层,我们看看他的训练结果 <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-470223a53ac4fea7219b515586eeaf8157" aria-expanded="true"><div class="accordion-toggle"><span style="">训练结果</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-470223a53ac4fea7219b515586eeaf8157" class="collapse in collapse-content"><p></p> ```python Epoch 1/5 60000/60000 [==============================] - 8s 141us/step - loss: 0.2331 - acc: 0.9307 Epoch 2/5 60000/60000 [==============================] - 9s 143us/step - loss: 0.0875 - acc: 0.9732 Epoch 3/5 60000/60000 [==============================] - 9s 156us/step - loss: 0.0575 - acc: 0.9824 Epoch 4/5 60000/60000 [==============================] - 10s 161us/step - loss: 0.0402 - acc: 0.9877 Epoch 5/5 60000/60000 [==============================] - 10s 162us/step - loss: 0.0303 - acc: 0.9907 ``` <p></p></div></div></div> 以上是他的训练结果,可以看到最终结果是99.7%。我们再来看一下测试结果 ```python test_acc: 0.9791 ``` --- ### 小模型 <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-f9c85ef7ede85bf6e95582fda3684ee624" aria-expanded="true"><div class="accordion-toggle"><span style="">模型结构</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-f9c85ef7ede85bf6e95582fda3684ee624" class="collapse collapse-content"><p></p> 说明:本次数据是28*28的mnist 取4有特殊意义! ```python _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= dense_15 (Dense) (None, 4) 3140 _________________________________________________________________ dense_16 (Dense) (None, 10) 50 ================================================================= Total params: 3,190 Trainable params: 3,190 Non-trainable params: 0 ``` <p></p></div></div></div> 训练结果是: ```python Epoch 1/5 60000/60000 [==============================] - 1s 16us/step - loss: 1.5827 - acc: 0.4887 Epoch 2/5 60000/60000 [==============================] - 1s 13us/step - loss: 1.0963 - acc: 0.6572 Epoch 3/5 60000/60000 [==============================] - 1s 15us/step - loss: 0.7245 - acc: 0.8004 Epoch 4/5 60000/60000 [==============================] - 1s 14us/step - loss: 0.5973 - acc: 0.8297 Epoch 5/5 60000/60000 [==============================] - 1s 14us/step - loss: 0.5502 - acc: 0.8411 ``` 90%没有达到,遇到了信息瓶颈 但是测试数据精度是 ```python test_acc: 0.8491 ``` 非常接近训练数据!有效的防止了过拟合! ## 总结 在泛化能力上 小模型比大模型更具有优势,因为小模型的测试精度和训练精度非常接近! 不过,考虑到全连接数据层是“全局”学习 还是不能相提并论啊! 但无疑的是: 减小网络大小可以有效防止过拟合! ## 进一步试验! 我们使用更大的模型! ```python _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= dense_1 (Dense) (None, 2048) 1607680 _________________________________________________________________ dense_2 (Dense) (None, 10) 20490 ================================================================= Total params: 1,628,170 Trainable params: 1,628,170 Non-trainable params: 0 _________________________________________________________________ ``` 他的性能在训练数据上达到了99%! 在测试数据上达到了98%! 下面我放一些失败案例! Last modification:June 25, 2021 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 如果觉得我的内容对你有用,请随意赞赏
4 comments
测试
感谢分享
感谢
感谢分享 赞一个