现象:相同网络架构,每次运行后精度不一样,并越来越低 每次差别在0.5%
分析原因:参数每次随机化有差别 结构不稳定
keras深度学习框架输出acc/loss,val_acc/val_loss,什么意思?
结论:1 模型参数随机性:每次运行,初始值都不同,且每个epoch、batch亦不同
2 增加卷积层池化层数量、滤波器数量、更改激活函数、优化器,精度会有稍微改观 但不明显。权重初始化出现精度浮动因为结构不稳定,裁剪正态分布(权重初始化每个卷积层加kernel_initializer='truncated_normal',bias_initializer='zeros')调超参数(调参)亦可以很好的找到最优解,过程较慢
3 掌握区分过拟合欠拟合方法。针对本题精度只有1%左右 属于欠拟合,过拟合见于精度接近饱和状态,增加drop层,正则化层等结果过拟合的方法不适用本题

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一 调结构


修改思路(弃):
1 filters:32、64、128,elu :epoch:5 :Test accuracy: 0.7177%
2 修改激活函数 elu :epoch:5 Test accuracy: 0.8373%(filters原始值)
3 更改优化器(常用Adam,ada...自适应类)
Adagrad:1.0766% 0.9569% 1.1962% Adadelta:0.5981% 0.7177% Adam:0.5981% 0.5981% adamax:0.8373%
4 池化核尺寸改为3或4,Adagrad、elu 、epoch:5、卷积层核尺寸:2:0.5981% & 0.7177%
卷积核尺寸改为4或6,Adagrad、elu 、epoch:5、池化层核尺寸:4:0.7177% & 0.8373%
二 其它网络

np. random函数 np.random.feed 种子

1 原始 Test accuracy: 1.1962% 1.0766% 0.9569% 0.8373%
all strides=2 Test accuracy: 0.7177% & all strides=1 Test accuracy: 0.9569% (时间加长)
2 删除最后一层conv2d:Test accuracy: 0.7177%
网友评论