每个神经网络对应每个收敛标准δ都有一个特征的迭代次数n,因此可以用迭代次数曲线n(δ)来评价网络性能。
一个二分类网络,分类两个对象A和B,B中有K张图片,B的第i张图片被取样的概率为pi,B中第i张图片相对A的迭代次数为ni最终的迭代次数nt等于pi*ni的累加和。
由此可以构造两个矩阵一个是随机矩阵PJ
PJ表明图片集B中第i张图片被抽样到的概率
和矩阵NJ
NJ表明图片集B中第i张图片相对A的迭代次数
总的迭代次数nt等于矩阵PJ和NJ的点积
为了验证这个关系构造了等式
本文验算这个表达式是否正确
实验过程
首先用实验的方法测量n1
制作一个带一个3*3卷积核的神经网络,测试集是mnist的0和一张图片x,将28*28的图片缩小成9*9,隐藏层30个节点所以网络的结构是
这个网络分成两个部分左边的是让mnist 0向1,0收敛,右边的是让x向 0,1收敛。但是让左右两边的权重实现同步更新,实现权重共享。前面大量实验表明这种效果相当于将两个弹性系数为k1,k2的弹簧并联成一个弹性系数为k的弹簧,并且让k1=k2=k/2的过程。
将上图简写成
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,测试集是mnist的0和1
图片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。
第二步测量n0.6
用同样的办法制作另一个网络
d2(mnist0, x=0.6)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
让mnist 0向1,0收敛,右边的是让x向 0,1收敛。但让x=0.6.得到迭代次数曲线n0.6
第三步测量n0.1
用同样的办法制作另一个网络
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.6 | 0.1 | |
δ | 迭代次数n | 迭代次数n | 迭代次数n |
0.5 | 17.40201005 | 18.7839196 | 17.87437186 |
0.4 | 951.2110553 | 1117.532663 | 1408.577889 |
0.3 | 1144.577889 | 1415.271357 | 1720.517588 |
0.2 | 1313.633166 | 1623 | 1995.110553 |
0.1 | 1505.824121 | 1821.562814 | 2243.834171 |
0.01 | 2362.115578 | 2582.668342 | 3001.552764 |
0.001 | 4129.020101 | 3895.211055 | 4007.532663 |
1.00E-04 | 10353.37186 | 7057.452261 | 5532.668342 |
9.00E-05 | 10653.93467 | 7175.934673 | 5683.753769 |
8.00E-05 | 11292.43719 | 7392.497487 | 6131.934673 |
7.00E-05 | 11761.11055 | 8186.427136 | 6106.919598 |
6.00E-05 | 12657.69347 | 8620.758794 | 6014.688442 |
5.00E-05 | 13305.44221 | 9001.532663 | 6455.321608 |
4.00E-05 | 15844.29648 | 9694.778894 | 6724.738693 |
3.00E-05 | 17291.77387 | 10665.48241 | 7055.80402 |
2.00E-05 | 20753.56281 | 11822.9397 | 7763.41206 |
1.00E-05 | 27708.19598 | 15788.16583 | 8749.050251 |
9.00E-06 | 29358.8593 | 15766.86935 | 8879.41206 |
8.00E-06 | 30689.87437 | 16904.54774 | 9387.150754 |
7.00E-06 | 33437.22111 | 18446.72864 | 9532.648241 |
6.00E-06 | 36960.63819 | 18505.60302 | 9957.683417 |
5.00E-06 | 40669.92462 | 19916.76884 | 10661.56281 |
4.00E-06 | 44594.04523 | 20718.10553 | 11025.0402 |
3.00E-06 | 51522.10553 | 26158.03518 | 11653.63317 |
2.00E-06 | 67583.53266 | 26274.55779 | 13076.9196 |
1.00E-06 | 107224.5276 | 37806.51759 | 15184.58794 |
现在做第3个网络
d2(mnist0 ; 4x/9=1, 3x/9=0.6,2x/9=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
让mnist 0向1,0收敛,右边的是让x向 0,1收敛。但让x在1,0.6,0.1之间随机。让1:0.6:0.1的比例是4:3:2.
具体进样顺序 |
| |||
进样顺序 | 迭代次数 |
| ||
δ=0.5 |
| |||
mnist 0-1 | 1 | 判断是否达到收敛 | ||
4x/9=1, 3x/9=0.6,2x/9=0.1 | 2 | 判断是否达到收敛 | ||
梯度下降 |
| |||
mnist 0-2 | 3 | 判断是否达到收敛 | ||
4x/9=1, 3x/9=0.6,2x/9=0.1 | 4 | 判断是否达到收敛 | ||
梯度下降 |
| |||
…… |
| |||
mnist 0-4999 | 9997 | 判断是否达到收敛 | ||
4x/9=1, 3x/9=0.6,2x/9=0.1 | 9998 | 判断是否达到收敛 | ||
梯度下降 |
| |||
…… |
| |||
如果4999图片内没有达到收敛标准再次从头循环 |
| |||
mnist 0-1 | 9999 | 判断是否达到收敛 | ||
4x/9=1, 3x/9=0.6,2x/9=0.1 | 10000 | 判断是否达到收敛 | ||
…… |
| |||
达到收敛标准记录迭代次数,将这个过程重复199次 |
| |||
δ=0.4 |
| |||
…… |
|
相当于分类两个图片集,一个图片集是mnist的0另一个图片集只有三张图片,三张图片被取样的概率是4:3:2
得到的数据
用0和x二分类 | ||||||||
1:0.6:0.1=4:3:2 | ||||||||
f2[0] | f2[1] | 迭代次数n | 平均准确率p-ave | δ | 耗时ms/次 | 耗时ms/199次 | 耗时min/199次 | 最大准确率p-max |
0.498465855 | 0.504407153 | 15.40201005 | 0.509835228 | 0.5 | 715.7839196 | 142442 | 2.374033333 | 0.822695035 |
0.607975726 | 0.391821652 | 1068.59799 | 0.488159473 | 0.4 | 869.080402 | 172949 | 2.882483333 | 0.894089835 |
0.714811563 | 0.28557279 | 1373.130653 | 0.548907659 | 0.3 | 944.959799 | 188063 | 3.134383333 | 0.995744681 |
0.815422226 | 0.184650986 | 1511.291457 | 0.594190812 | 0.2 | 1010.125628 | 201031 | 3.350516667 | 0.997635934 |
0.9131958 | 0.086833451 | 1666.718593 | 0.628121696 | 0.1 | 1038.889447 | 206755 | 3.445916667 | 0.996690307 |
0.991909048 | 0.00809399 | 2555.060302 | 0.628088433 | 0.01 | 1199.376884 | 238692 | 3.9782 | 0.997635934 |
0.999220131 | 7.80E-04 | 4194.979899 | 0.578426411 | 0.001 | 1489.859296 | 296483 | 4.941383333 | 0.996690307 |
0.999925034 | 7.48E-05 | 8077.261307 | 0.535775806 | 1.00E-04 | 1884.336683 | 374999 | 6.249983333 | 0.992434988 |
0.999929893 | 7.01E-05 | 8569.532663 | 0.539446642 | 9.00E-05 | 2150.693467 | 427989 | 7.13315 | 0.99858156 |
0.999936335 | 6.37E-05 | 9286.849246 | 0.521059197 | 8.00E-05 | 2265.557789 | 450862 | 7.514366667 | 0.996690307 |
0.999946467 | 5.35E-05 | 9572.59799 | 0.530955011 | 7.00E-05 | 2363.477387 | 470350 | 7.839166667 | 0.996690307 |
0.999953363 | 4.67E-05 | 9702.276382 | 0.545488673 | 6.00E-05 | 2383.447236 | 474308 | 7.905133333 | 0.995271868 |
0.999961078 | 3.89E-05 | 10840.82915 | 0.522461005 | 5.00E-05 | 2490.025126 | 495516 | 8.2586 | 0.996217494 |
0.999968703 | 3.13E-05 | 12212.41709 | 0.550059993 | 4.00E-05 | 2731.316583 | 543536 | 9.058933333 | 0.996217494 |
0.999976775 | 2.32E-05 | 13375.83417 | 0.530218468 | 3.00E-05 | 2159.150754 | 429681 | 7.16135 | 0.99858156 |
0.999983578 | 1.64E-05 | 15823.60302 | 0.534046117 | 2.00E-05 | 3254.648241 | 647681 | 10.79468333 | 0.989598109 |
0.999992049 | 7.94E-06 | 20360.31658 | 0.517267187 | 1.00E-05 | 3999.110553 | 795827 | 13.26378333 | 0.963120567 |
0.999992974 | 7.02E-06 | 20639.1005 | 0.514891241 | 9.00E-06 | 4148.809045 | 825613 | 13.76021667 | 0.991962175 |
0.999993747 | 6.26E-06 | 21407.29146 | 0.524893973 | 8.00E-06 | 4191.396985 | 834088 | 13.90146667 | 0.997635934 |
0.999994533 | 5.47E-06 | 25353.76382 | 0.511042209 | 7.00E-06 | 4840.41206 | 963258 | 16.0543 | 0.992434988 |
0.999995284 | 4.72E-06 | 24650.38693 | 0.527557409 | 6.00E-06 | 4721.844221 | 939647 | 15.66078333 | 0.989598109 |
0.999996007 | 3.99E-06 | 27221.62312 | 0.53021134 | 5.00E-06 | 5143.045226 | 1023466 | 17.05776667 | 0.988179669 |
0.999996817 | 3.18E-06 | 29481.81407 | 0.539643846 | 4.00E-06 | 5316.748744 | 1058033 | 17.63388333 | 0.996217494 |
0.999997542 | 2.46E-06 | 35670.74874 | 0.523297338 | 3.00E-06 | 7065.874372 | 1406110 | 23.43516667 | 0.997635934 |
0.999998413 | 1.59E-06 | 43239.72362 | 0.521408461 | 2.00E-06 | 9577.733668 | 1905969 | 31.76615 | 0.990543735 |
0.999999173 | 8.26E-07 | 64535.65327 | 0.510597907 | 1.00E-06 | 13978.8995 | 2781817 | 46.36361667 | 0.978250591 |
所以现在有了3个迭代次数分别是
x=1 | n1 |
| ||||||
x=0.6 | n0.6 |
| ||||||
x=0.1 | n0.1 |
| ||||||
4x/9=1||3x/9=0.6||2x/9=0.1 | n1-0.6-0.1 |
| ||||||
| ||||||||
1 | 0.6 | 0.1 | 理论值 | 实测值 | 理论值/实测值 | |||
δ | 迭代次数n | 迭代次数n | 迭代次数n | n1*4/9+n0.6*3/9+n0.1*2/9 |
|
| ||
0.5 | 17.40201005 | 18.7839196 | 17.87437186 | 17.96761586 | 15.40201005 | 1.166576038 | ||
0.4 | 951.2110553 | 1117.532663 | 1408.577889 | 1108.288666 | 1068.59799 | 1.037142757 | ||
0.3 | 1144.577889 | 1415.271357 | 1720.517588 | 1362.795645 | 1373.130653 | 0.992473398 | ||
0.2 | 1313.633166 | 1623 | 1995.110553 | 1568.194863 | 1511.291457 | 1.037652172 | ||
0.1 | 1505.824121 | 1821.562814 | 2243.834171 | 1775.072585 | 1666.718593 | 1.06501037 | ||
0.01 | 2362.115578 | 2582.668342 | 3001.552764 | 2577.730318 | 2555.060302 | 1.008872596 | ||
0.001 | 4129.020101 | 3895.211055 | 4007.532663 | 4024.086544 | 4194.979899 | 0.959262414 | ||
1.00E-04 | 10353.37186 | 7057.452261 | 5532.668342 | 8183.464545 | 8077.261307 | 1.013148422 | ||
9.00E-05 | 10653.93467 | 7175.934673 | 5683.753769 | 8390.116695 | 8569.532663 | 0.979063506 | ||
8.00E-05 | 11292.43719 | 7392.497487 | 6131.934673 | 8845.67895 | 9286.849246 | 0.952495159 | ||
7.00E-05 | 11761.11055 | 8186.427136 | 6106.919598 | 9313.062535 | 9572.59799 | 0.972887668 | ||
6.00E-05 | 12657.69347 | 8620.758794 | 6014.688442 | 9835.825237 | 9702.276382 | 1.013764693 | ||
5.00E-05 | 13305.44221 | 9001.532663 | 6455.321608 | 10348.55667 | 10840.82915 | 0.954590884 | ||
4.00E-05 | 15844.29648 | 9694.778894 | 6724.738693 | 11767.88889 | 12212.41709 | 0.96360031 | ||
3.00E-05 | 17291.77387 | 10665.48241 | 7055.80402 | 12808.35008 | 13375.83417 | 0.957573929 | ||
2.00E-05 | 20753.56281 | 11822.9397 | 7763.41206 | 14889.98827 | 15823.60302 | 0.940998599 | ||
1.00E-05 | 27708.19598 | 15788.16583 | 8749.050251 | 19521.7091 | 20360.31658 | 0.958811668 | ||
9.00E-06 | 29358.8593 | 15766.86935 | 8879.41206 | 20277.20771 | 20639.1005 | 0.98246567 | ||
8.00E-06 | 30689.87437 | 16904.54774 | 9387.150754 | 21360.82691 | 21407.29146 | 0.997829499 | ||
7.00E-06 | 33437.22111 | 18446.72864 | 9532.648241 | 23128.26298 | 25353.76382 | 0.912222073 | ||
6.00E-06 | 36960.63819 | 18505.60302 | 9957.683417 | 24808.30318 | 24650.38693 | 1.006406238 | ||
5.00E-06 | 40669.92462 | 19916.76884 | 10661.56281 | 27083.68118 | 27221.62312 | 0.994932634 | ||
4.00E-06 | 44594.04523 | 20718.10553 | 11025.0402 | 29175.61977 | 29481.81407 | 0.989614129 | ||
3.00E-06 | 51522.10553 | 26158.03518 | 11653.63317 | 34207.75489 | 35670.74874 | 0.958986175 | ||
2.00E-06 | 67583.53266 | 26274.55779 | 13076.9196 | 41701.29369 | 43239.72362 | 0.964420912 | ||
1.00E-06 | 107224.5276 | 37806.51759 | 15184.58794 | 63631.87102 | 64535.65327 | 0.985995613 |
从数值看
这个公式还是符合的很好的。
表明神经网络的迭代次数可以被看作是一个线性变量可以用概率矩阵和迭代次数矩阵的点积来计算。
将两组图片分组应该至少区分点的分布,数值大小和对称关系这3个属性,在实验
《图片的三种可能属性:点的分布规律,数值大小,对称关系》以表明迭代次数曲线不携带对称关系属性。所以尽管迭代次数可能是连续的,有很多种可能构造出同一个值,但并不表明有相同的分辨能力,
实验参数
学习率 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 |