加速神经网络收敛的萃取精馏权重法

如果把神经网络的收敛过程理解成是提取纯度99%的权重,可以用化学上的分级萃取精馏的办法重新改造神经网络的收敛过程。



比如首先从原料提取纯度30%的馏分,也就是准确率达到30%的权重组合,这时把这组馏分保存下来,结束程序,然后用这组纯度30%的馏分初始化权重,重新萃取纯度40%馏分。比如迭代100次,如果达到就把纯度40%的馏分保存下来再次初始化权重,重新从40%的馏分开始。如果迭代100次达不到40%将产生最大值的权重组合保存下来,用这组权重再次循环。

这样由30%-40%-50%逐级提升,直到90%这时可以减小梯度进入精馏流程,比如可以一次提升1%,直到达到要求。

用这种方法制作了一个784*15*5的网络用来区分mnist的0,1,2,3,4,用从0开始的方法做了5次,最大的一次在迭代到200批样品的时候达到0.82,而用逐级萃取的方法同样的迭代次数已经可以得到准确率超过的90%的样本。粗略的统计从0开始的方法成功率低于20%,而逐级萃取的方法至少可以节省80%的收敛时间。

逐级萃取精馏方法的实验数据

学习率=0.1,

batch=300,放回取样

激活函数是sigmoid,没有偏置,每批样品都测试准确率




猜你喜欢

转载自blog.csdn.net/georgesale/article/details/80350563
今日推荐