大量实验表明每个神经网络对应每个收敛标准δ都有一个特征的迭代次数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的点积
比如用神经网络二分类两个对象分别是A和B,其中B只有两张图片b1和b0.1,当用b1和A迭代的时候理解成这个体系的一个状态Ab1,当用b0.1和A迭代的时候理解成这个体系的另一个状态Ab0.1。
但是总的AB的可能状态是Ab1和Ab0.1这两种状态的线性叠加。
按照这组表达式让b1和b0.1出现的概率p1+p0.1=1,然后让p1和p0.1只能是某个数的整数倍。可以想象由此得到的n1-0.1的曲线一定是离散的。
本文设p1和p0.1只能是10%的整数倍,由此计算可能得到的离散的曲线来模拟光谱。
实验过程
首先用实验的方法测量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
图片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.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.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 |
现在做叠加网络因为p1和p0.1只能是0.1的整数倍因此共有9种组合
p1 | p0.1 | |
n0.9-0.1 | 9 | 1 |
n0.8-0.2 | 8 | 2 |
n0.7-0.3 | 7 | 3 |
n0.4-0.6 | 6 | 4 |
n0.5-0.5 | 5 | 5 |
n0.4-0.6 | 4 | 6 |
n0.3-0.7 | 3 | 7 |
n0.2-0.8 | 2 | 8 |
n0.1-0.9 | 1 | 9 |
|
d2(mnist0, 90%x=1,10%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
d2(mnist0, 80%x=1,20%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
d2(mnist0, 70%x=1,30%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
d2(mnist0, 60%x=1,40%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
d2(mnist0, 50%x=1,50%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
d2(mnist0, 40%x=1,60%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
d2(mnist0, 30%x=1,70%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
d2(mnist0, 20%x=1,80%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
d2(mnist0, 10%x=1,90%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
也就是可能有9种叠加网络
按照表达式
可以很容易的计算9种网络的迭代次数
1 | 0.1 | 0.9 | 0.8 | 0.7 | 0.6 | 0.5 | 0.4 | 0.3 | 0.2 | 0.1 | |
迭代次数n | 迭代次数n | 0.9-0.1 | 0.8-0.2 | 0.7-0.3 | 0.6-0.4 | 0.5-0.5 | 0.4-0.6 | 0.3-0.7 | 0.2-0.8 | 0.1-0.9 | |
17.402 | 17.8744 | 17.4492 | 17.4965 | 17.5437 | 17.591 | 17.6382 | 17.6854 | 17.7327 | 17.779899 | 17.827136 | |
951.211 | 1408.58 | 996.948 | 1042.68 | 1088.42 | 1134.16 | 1179.89 | 1225.63 | 1271.37 | 1317.1045 | 1362.8412 | |
1144.58 | 1720.52 | 1202.17 | 1259.77 | 1317.36 | 1374.95 | 1432.55 | 1490.14 | 1547.74 | 1605.3296 | 1662.9236 | |
1313.63 | 1995.11 | 1381.78 | 1449.93 | 1518.08 | 1586.22 | 1654.37 | 1722.52 | 1790.67 | 1858.8151 | 1926.9628 | |
1505.82 | 2243.83 | 1579.63 | 1653.43 | 1727.23 | 1801.03 | 1874.83 | 1948.63 | 2022.43 | 2096.2322 | 2170.0332 | |
2362.12 | 3001.55 | 2426.06 | 2490 | 2553.95 | 2617.89 | 2681.83 | 2745.78 | 2809.72 | 2873.6653 | 2937.609 | |
4129.02 | 4007.53 | 4116.87 | 4104.72 | 4092.57 | 4080.43 | 4068.28 | 4056.13 | 4043.98 | 4031.8302 | 4019.6814 | |
10353.4 | 5532.67 | 9871.3 | 9389.23 | 8907.16 | 8425.09 | 7943.02 | 7460.95 | 6978.88 | 6496.809 | 6014.7387 | |
10653.9 | 5683.75 | 10156.9 | 9659.9 | 9162.88 | 8665.86 | 8168.84 | 7671.83 | 7174.81 | 6677.7899 | 6180.7719 | |
11292.4 | 6131.93 | 10776.4 | 10260.3 | 9744.29 | 9228.24 | 8712.19 | 8196.14 | 7680.09 | 7164.0352 | 6647.9849 | |
11761.1 | 6106.92 | 11195.7 | 10630.3 | 10064.9 | 9499.43 | 8934.02 | 8368.6 | 7803.18 | 7237.7578 | 6672.3387 | |
12657.7 | 6014.69 | 11993.4 | 11329.1 | 10664.8 | 10000.5 | 9336.19 | 8671.89 | 8007.59 | 7343.2894 | 6678.9889 | |
13305.4 | 6455.32 | 12620.4 | 11935.4 | 11250.4 | 10565.4 | 9880.38 | 9195.37 | 8510.36 | 7825.3457 | 7140.3337 | |
15844.3 | 6724.74 | 14932.3 | 14020.4 | 13108.4 | 12196.5 | 11284.5 | 10372.6 | 9460.61 | 8548.6503 | 7636.6945 | |
17291.8 | 7055.8 | 16268.2 | 15244.6 | 14221 | 13197.4 | 12173.8 | 11150.2 | 10126.6 | 9102.998 | 8079.401 | |
20753.6 | 7763.41 | 19454.5 | 18155.5 | 16856.5 | 15557.5 | 14258.5 | 12959.5 | 11660.5 | 10361.442 | 9062.4271 | |
27708.2 | 8749.05 | 25812.3 | 23916.4 | 22020.5 | 20124.5 | 18228.6 | 16332.7 | 14436.8 | 12540.879 | 10644.965 | |
29358.9 | 8879.41 | 27310.9 | 25263 | 23215 | 21167.1 | 19119.1 | 17071.2 | 15023.2 | 12975.302 | 10927.357 | |
30689.9 | 9387.15 | 28559.6 | 26429.3 | 24299.1 | 22168.8 | 20038.5 | 17908.2 | 15778 | 13647.695 | 11517.423 | |
33437.2 | 9532.65 | 31046.8 | 28656.3 | 26265.8 | 23875.4 | 21484.9 | 19094.5 | 16704 | 14313.563 | 11923.106 | |
36960.6 | 9957.68 | 34260.3 | 31560 | 28859.8 | 26159.5 | 23459.2 | 20758.9 | 18058.6 | 15358.274 | 12657.979 | |
40669.9 | 10661.6 | 37669.1 | 34668.3 | 31667.4 | 28666.6 | 25665.7 | 22664.9 | 19664.1 | 16663.235 | 13662.399 | |
44594 | 11025 | 41237.1 | 37880.2 | 34523.3 | 31166.4 | 27809.5 | 24452.6 | 21095.7 | 17738.841 | 14381.941 | |
51522.1 | 11653.6 | 47535.3 | 43548.4 | 39561.6 | 35574.7 | 31587.9 | 27601 | 23614.2 | 19627.328 | 15640.48 | |
67583.5 | 13076.9 | 62132.9 | 56682.2 | 51231.5 | 45780.9 | 40330.2 | 34879.6 | 29428.9 | 23978.242 | 18527.581 | |
107225 | 15184.6 | 98020.5 | 88816.5 | 79612.5 | 70408.6 | 61204.6 | 52000.6 | 42796.6 | 33592.576 | 24388.582 |
如果我们一次观察其中的一个网络,任何一次观察只能观察到其中一条曲线。
现在假设有很多个AB的组合同时存在,在一次观察的过程中可以出现所有的9种组合,因此观察到的就是9条件曲线,他们同时存在,就像光谱。
实验参数
学习率 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 |
这几篇文中的计算表明这种假设至少在数学上是有实现的可能的
《神经网络的迭代次数是一个线性的变量吗?》5-5
https://blog.csdn.net/georgesale/article/details/89399047
《神经网络迭代次数的线性累加现象》 4-6
https://blog.csdn.net/georgesale/article/details/89416643
《神经网络迭代次数的数学构成》3-7
https://blog.csdn.net/georgesale/article/details/89432585
《用两个矩阵的点积计算神经网络的迭代次数 2-8》
https://blog.csdn.net/georgesale/article/details/89449382
《用数学方法构造神经网路的迭代次数1-9》
https://blog.csdn.net/georgesale/article/details/89749362