神经网络对应每个收敛标准δ都有一个特征的迭代次数n,因此可以用迭代次数曲线n(δ)来评价网络性能。
在《神经网络的迭代次数是一个线性的变量吗?》中得到表达式
一个二分类网络分类两个对象A和B,B中有K张图片,B的第K张图片被取样的概率为p,B中第K张图片相对A的迭代次数为n最终的迭代次数等于pn的累加和。
本文验算这个表达式是否正确
实验过程
制作一个带一个3*3卷积核的神经网络,测试集是mnist的0和一张图片x,将28*28的图片缩小成9*9,隐藏层30个节点所以网络的结构是
这个网络分成两个部分左边的是让mnist 0向1,0收敛,右边的是让x向 0,1收敛。但是让左右两边的权重实现同步更新,实现权重共享。前面大量实验表明这种效果相当于将两个弹性系数为k1,k2的弹簧并联成一个弹性系数为k的弹簧,并且让k1=k2=k/2的过程。
将上图简写成
S(mnist0)81-(con3*3)49-30-2-(1,0)
S(x)81-(con3*3)49-30-2-(0,1)
w=w,w1=w1,w2=w2
进一步简写成
d2(mnist0, x=1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
这个网络的收敛标准是
if (Math.abs(f2[0]-y[0])< δ && Math.abs(f2[1]-y[1])< δ )
本文尝试了δ从0.5到1e-6在内的26个值,训练集是mnist0
图片x就是一张二维数组,让x=1.
具体进样顺序 | ||||
进样顺序 | 迭代次数 | |||
δ=0.5 | ||||
mnist 0-1 | 1 | 判断是否达到收敛 | ||
X | 2 | 判断是否达到收敛 | ||
梯度下降 | ||||
mnist 0-2 | 3 | 判断是否达到收敛 | ||
X | 4 | 判断是否达到收敛 | ||
梯度下降 | ||||
…… | ||||
mnist 0-4999 | 9997 | 判断是否达到收敛 | ||
X | 9998 | 判断是否达到收敛 | ||
梯度下降 | ||||
…… | ||||
如果4999图片内没有达到收敛标准再次从头循环 | ||||
mnist 0-1 | 9999 | 判断是否达到收敛 | ||
X | 10000 | 判断是否达到收敛 | ||
…… | ||||
达到收敛标准记录迭代次数,将这个过程重复199次 | ||||
δ=0.4 | ||||
…… |
用这个方法可以得到网络
d2(mnist0, x=1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
的迭代次数曲线n1。
用同样的办法制作另一个网络
d2(mnist0, x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
让mnist 0向1,0收敛,右边的是让x向 0,1收敛。但让x=0.1.得到迭代次数曲线n0.1
实验数据
在《测量一组对角矩阵的频率和质量》中已经将这两个迭代次数都测出来了
1 | 0.1 | |
δ | 迭代次数n1 | 迭代次数n0.1 |
0.5 | 17.40201005 | 17.87437186 |
0.4 | 951.2110553 | 1408.577889 |
0.3 | 1144.577889 | 1720.517588 |
0.2 | 1313.633166 | 1995.110553 |
0.1 | 1505.824121 | 2243.834171 |
0.01 | 2362.115578 | 3001.552764 |
0.001 | 4129.020101 | 4007.532663 |
1.00E-04 | 10353.37186 | 5532.668342 |
9.00E-05 | 10653.93467 | 5683.753769 |
8.00E-05 | 11292.43719 | 6131.934673 |
7.00E-05 | 11761.11055 | 6106.919598 |
6.00E-05 | 12657.69347 | 6014.688442 |
5.00E-05 | 13305.44221 | 6455.321608 |
4.00E-05 | 15844.29648 | 6724.738693 |
3.00E-05 | 17291.77387 | 7055.80402 |
2.00E-05 | 20753.56281 | 7763.41206 |
1.00E-05 | 27708.19598 | 8749.050251 |
9.00E-06 | 29358.8593 | 8879.41206 |
8.00E-06 | 30689.87437 | 9387.150754 |
7.00E-06 | 33437.22111 | 9532.648241 |
6.00E-06 | 36960.63819 | 9957.683417 |
5.00E-06 | 40669.92462 | 10661.56281 |
4.00E-06 | 44594.04523 | 11025.0402 |
3.00E-06 | 51522.10553 | 11653.63317 |
2.00E-06 | 67583.53266 | 13076.9196 |
1.00E-06 | 107224.5276 | 15184.58794 |
现在做第3个网络
d2(mnist0 ; 60% x=1, 40%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
让mnist 0向1,0收敛,右边的是让x向 0,1收敛。但让x在1和0.1之间随机。
让1与0.1的比例是6:4.
具体进样顺序 |
| |||
进样顺序 | 迭代次数 |
| ||
δ=0.5 |
| |||
mnist 0-1 | 1 | 判断是否达到收敛 | ||
60% x=1,40% x=0.1 | 2 | 判断是否达到收敛 | ||
梯度下降 |
| |||
mnist 0-2 | 3 | 判断是否达到收敛 | ||
60% x=1,40% x=0.1 | 4 | 判断是否达到收敛 | ||
梯度下降 |
| |||
…… |
| |||
mnist 0-4999 | 9997 | 判断是否达到收敛 | ||
60% x=1,40% x=0.1 | 9998 | 判断是否达到收敛 | ||
梯度下降 |
| |||
…… |
| |||
如果4999图片内没有达到收敛标准再次从头循环 |
| |||
mnist 0-1 | 9999 | 判断是否达到收敛 | ||
60% x=1,40% x=0.1 | 10000 | 判断是否达到收敛 | ||
…… |
| |||
达到收敛标准记录迭代次数,将这个过程重复199次 |
| |||
δ=0.4 |
| |||
…… |
|
相当于分类两个图片集,一个图片集是mnist的0另一个图片集只有两张图片,两张图片被取样的概率是6:4
得到的数据
1:0.1=6:4 | ||||||||
f2[0] | f2[1] | 迭代次数n | 平均准确率p-ave | δ | 耗时ms/次 | 耗时ms/199次 | 耗时min/199次 | 最大准确率p-max |
0.499731669 | 0.498415314 | 15.4321608 | 0.502389014 | 0.5 | 829.9849246 | 165167 | 2.752783333 | 0.773049645 |
0.608582727 | 0.391220516 | 1106.678392 | 0.490625705 | 0.4 | 1032.306533 | 205430 | 3.423833333 | 0.976832151 |
0.712834918 | 0.28679338 | 1418.437186 | 0.576345082 | 0.3 | 1117.60804 | 222422 | 3.707033333 | 0.994799054 |
0.814122794 | 0.185951639 | 1466.688442 | 0.623818858 | 0.2 | 1118.422111 | 222661 | 3.711016667 | 0.997163121 |
0.912685745 | 0.087285272 | 1781.492462 | 0.646250163 | 0.1 | 1156.246231 | 230095 | 3.834916667 | 0.995271868 |
0.991973102 | 0.008021737 | 2625.341709 | 0.638720791 | 0.01 | 1313.492462 | 261385 | 4.356416667 | 0.996217494 |
0.99925116 | 7.48E-04 | 4167.311558 | 0.607593523 | 0.001 | 1618.939698 | 322169 | 5.369483333 | 0.998108747 |
0.999921571 | 7.86E-05 | 8358.19598 | 0.553640543 | 1.00E-04 | 2028.286432 | 403629 | 6.72715 | 0.995744681 |
0.999930909 | 6.92E-05 | 8459.060302 | 0.551466553 | 9.00E-05 | 2364.964824 | 470628 | 7.8438 | 0.997635934 |
0.999937007 | 6.29E-05 | 9290.869347 | 0.535559595 | 8.00E-05 | 2486.271357 | 494768 | 8.246133333 | 0.995744681 |
0.99994614 | 5.39E-05 | 9643.371859 | 0.547686423 | 7.00E-05 | 2552.115578 | 507879 | 8.46465 | 0.996690307 |
0.999954978 | 4.50E-05 | 10088.04523 | 0.546776435 | 6.00E-05 | 2647.643216 | 526881 | 8.78135 | 0.993853428 |
0.999961134 | 3.88E-05 | 11241.1809 | 0.529522316 | 5.00E-05 | 2855.462312 | 568237 | 9.470616667 | 0.995744681 |
0.999968124 | 3.18E-05 | 12429.0402 | 0.536198724 | 4.00E-05 | 3066.41206 | 610216 | 10.17026667 | 0.996217494 |
0.999976997 | 2.30E-05 | 13595.53266 | 0.547436948 | 3.00E-05 | 3072.015075 | 611347 | 10.18911667 | 0.993853428 |
0.999984209 | 1.58E-05 | 14639.11055 | 0.553756965 | 2.00E-05 | 3967.502513 | 789549 | 13.15915 | 0.995744681 |
0.99999235 | 7.65E-06 | 21105.31156 | 0.514109555 | 1.00E-05 | 5362.361809 | 1067111 | 17.78518333 | 0.986288416 |
0.999992956 | 7.04E-06 | 23825.72362 | 0.523351985 | 9.00E-06 | 5868.38191 | 1167816 | 19.4636 | 0.997635934 |
0.999993873 | 6.13E-06 | 22955.43216 | 0.5491999 | 8.00E-06 | 4949.914573 | 985034 | 16.41723333 | 0.993853428 |
0.999994449 | 5.56E-06 | 25968.22613 | 0.525471328 | 7.00E-06 | 6241.738693 | 1242135 | 20.70225 | 0.995744681 |
0.999995305 | 4.70E-06 | 26669.97487 | 0.516017439 | 6.00E-06 | 6459.59799 | 1285476 | 21.4246 | 0.991489362 |
0.999996124 | 3.87E-06 | 30357.0603 | 0.519445929 | 5.00E-06 | 6901.41206 | 1373382 | 22.8897 | 0.997163121 |
0.999996842 | 3.16E-06 | 32991.17085 | 0.532447106 | 4.00E-06 | 7681.236181 | 1528582 | 25.47636667 | 0.996217494 |
0.999997667 | 2.33E-06 | 37621.35176 | 0.52875251 | 3.00E-06 | 8458.40201 | 1683222 | 28.0537 | 0.994326241 |
0.99999837 | 1.63E-06 | 49854.86935 | 0.542544876 | 2.00E-06 | 11146.78392 | 2218227 | 36.97045 | 0.995744681 |
0.999999185 | 8.15E-07 | 74084.86935 | 0.528457892 | 1.00E-06 | 16062.72362 | 3196485 | 53.27475 | 0.995271868 |
所以现在有了3个迭代次数分别是
x=1 | n1 |
x=0.1 | n0.1 |
x=1||x=0.1 | n1-0.1 |
验算n1-0.1与n1和n0.1之间的关系
1 | 0.1 | 理论值 | 实测值 | 理论值/实测值 | |
δ | 迭代次数n1 | 迭代次数n0.1 | 0.6*n1+0.4*n0.1 |
| |
0.5 | 17.40201005 | 17.87437186 | 17.59095477 | 15.4321608 | 1.139889287 |
0.4 | 951.2110553 | 1408.577889 | 1134.157789 | 1106.678392 | 1.024830517 |
0.3 | 1144.577889 | 1720.517588 | 1374.953769 | 1418.437186 | 0.969344136 |
0.2 | 1313.633166 | 1995.110553 | 1586.224121 | 1466.688442 | 1.081500389 |
0.1 | 1505.824121 | 2243.834171 | 1801.028141 | 1781.492462 | 1.010965906 |
0.01 | 2362.115578 | 3001.552764 | 2617.890452 | 2625.341709 | 0.997161796 |
0.001 | 4129.020101 | 4007.532663 | 4080.425126 | 4167.311558 | 0.979150483 |
1.00E-04 | 10353.37186 | 5532.668342 | 8425.090452 | 8358.19598 | 1.008003458 |
9.00E-05 | 10653.93467 | 5683.753769 | 8665.862312 | 8459.060302 | 1.024447398 |
8.00E-05 | 11292.43719 | 6131.934673 | 9228.236181 | 9290.869347 | 0.993258632 |
7.00E-05 | 11761.11055 | 6106.919598 | 9499.434171 | 9643.371859 | 0.985073925 |
6.00E-05 | 12657.69347 | 6014.688442 | 10000.49146 | 10088.04523 | 0.991321037 |
5.00E-05 | 13305.44221 | 6455.321608 | 10565.39397 | 11241.1809 | 0.939882923 |
4.00E-05 | 15844.29648 | 6724.738693 | 12196.47337 | 12429.0402 | 0.981288432 |
3.00E-05 | 17291.77387 | 7055.80402 | 13197.38593 | 13595.53266 | 0.970714885 |
2.00E-05 | 20753.56281 | 7763.41206 | 15557.50251 | 14639.11055 | 1.062735503 |
1.00E-05 | 27708.19598 | 8749.050251 | 20124.53769 | 21105.31156 | 0.953529524 |
9.00E-06 | 29358.8593 | 8879.41206 | 21167.0804 | 23825.72362 | 0.888412908 |
8.00E-06 | 30689.87437 | 9387.150754 | 22168.78492 | 22955.43216 | 0.965731543 |
7.00E-06 | 33437.22111 | 9532.648241 | 23875.39196 | 25968.22613 | 0.919407889 |
6.00E-06 | 36960.63819 | 9957.683417 | 26159.45628 | 26669.97487 | 0.980857927 |
5.00E-06 | 40669.92462 | 10661.56281 | 28666.5799 | 30357.0603 | 0.944313435 |
4.00E-06 | 44594.04523 | 11025.0402 | 31166.44322 | 32991.17085 | 0.944690425 |
3.00E-06 | 51522.10553 | 11653.63317 | 35574.71658 | 37621.35176 | 0.945599106 |
2.00E-06 | 67583.53266 | 13076.9196 | 45780.88744 | 49854.86935 | 0.918283169 |
1.00E-06 | 107224.5276 | 15184.58794 | 70408.55176 | 74084.86935 | 0.950376944 |
将理论值和实测值画成图
从数值看
这个公式还是符合的很好的。
表明这个关系是成立的。
实验参数
学习率 0.1 |
权重初始化方式 |
Random rand1 =new Random(); |
int ti1=rand1.nextInt(98)+1; |
int xx=1; |
if(ti1%2==0) |
{ xx=-1;} |
tw[a][b]=xx*((double)ti1/x); |
第一层第二层和卷积核的权重的初始化的x分别为1000,1000,200 |
本文原始数据比较多有感兴趣的朋友可以到我的资源里下载