最近先立个flag,用python把目前的主流的、新的智能算法与神经网络的参数优化相结合,进行自动参数寻优。寻优参数,不用限制形式,待寻优参数可以使网络层数、激活函数、优化器、初始学习率、网络块的结构、卷积的方式、核大小、步幅、初始化方式、神经元数目、神经元类型等但凡能想得到的“参数”
目前,已经使用了GA算法、PSO算法和SSA算法优化CNN网络进行涡扇发动机数据集的剩余使用寿命预测:
GA参数搜索的可视化过程:
参数搜索和GA通用,单独修改了算法代码。PSO参数搜索可视化过程:
参数搜索和GA通用,单独修改了算法代码。SSA参数搜索可视化过程:
1)三种算法的种群平均适应度的比较
2)种群最佳个体适应度
GA、PSO和SSA三种优化算法的性能总结:
项目 | 收敛速度 | 收敛值 |
---|---|---|
GA | 最慢 | 较小 |
PSO | 最快 | 最大 |
SSA | 较快 | 最小 |
优化算法搜索出来的神经网络模型效果确实是有一定的提升,但是未必能保证后续每一次运行的结果就能达到优化时那么好的效果。
当GA、PSO和SSA知道了他们的搜索性能后会发生什么有趣的事?