如果客观的物质世界所有现象的给后都有一个数学规律,如果神经网络可以模拟所有方程,所以神经网络可以模拟物质的所有属性吗?
假设图片相对神经网络有三种属性,分别是频率,质量和对称关系。
其中频率和点的分布规律有关,质量和点的数值大小有关,另外还有一种可以识别对称关系的属性。
本文用实验证实神经网络可以传递一种表达图片对称关系的属性。
实验过程
r1 | r2 | ||
<1 | <1 | 吸引子 | c |
>1 | >1 | 排斥子 | p |
>1 | <1 | 鞍点 | a |
<1 | >1 | 反鞍点 | fa |
- 用排斥子去分别和鞍点和反鞍点二分类,
- 用排斥子和鞍点训练的网络去识别排斥子和反鞍点的数据集
按照假设鞍点和反鞍点的频率和质量是一样的,如果用排斥子和鞍点训练的网络可以识别反鞍点就表明在频率和质量之外还有其他属性存在。
制作一个4*4*2的网络向这个的左侧输入排斥子,并让左侧网络向1,0收敛;向右侧网络输入鞍点让右侧向0,1收敛,并让4*4*2部分权重共享,前面大量实验表明这种效果相当于将两个弹性系数为k1,k2的弹簧并联成一个弹性系数为k的弹簧,并且让k1=k2=k/2的过程。
这个网络的收敛标准是
if (Math.abs(f2[0]-y[0])< δ && Math.abs(f2[1]-y[1])< δ )
因为对应每个收敛标准δ都有一个特征的迭代次数n与之对应因此可以用迭代次数曲线n(δ)来评价网络性能。
本文尝试了δ从0.5到1e-6在内的26个值.
具体进样顺序 | |||
进样顺序 | 迭代次数 | ||
δ=0.5 | |||
P | 1 | 判断是否达到收敛 | |
A | 2 | 判断是否达到收敛 | |
梯度下降 | |||
P | 3 | 判断是否达到收敛 | |
a | 4 | 判断是否达到收敛 | |
梯度下降 | |||
…… | |||
达到收敛标准测量准确率,记录迭代次数,将这个过程重复199次 | |||
δ=0.4 | |||
… | |||
δ=1e-6 |
将这个网络简写成
d2(p,a)-4-4-2-(2*k),k∈{0,1}得到迭代次数曲线npa
用同样的办法制作
d2(p,fa)-4-4-2-(2*k),k∈{0,1}得到迭代次数曲线npfa
npa和npfa的数据
pa | pfa | |
δ | 迭代次数n | 迭代次数n |
0.5 | 179.0603 | 178.32663 |
0.4 | 4113.7538 | 4047.1106 |
0.3 | 4770.2864 | 4810.196 |
0.2 | 5453.7387 | 5358.6683 |
0.1 | 5938.3518 | 6089.4874 |
0.01 | 8264.6533 | 8208.8643 |
0.001 | 11603.126 | 11726.623 |
1.00E-04 | 18094.442 | 18081.387 |
9.00E-05 | 18169.357 | 18628.291 |
8.00E-05 | 19261.548 | 18945.538 |
7.00E-05 | 19705.91 | 19293.508 |
6.00E-05 | 20358.794 | 19860.241 |
5.00E-05 | 20987.075 | 21636.754 |
4.00E-05 | 21595.568 | 21976.352 |
3.00E-05 | 22861.719 | 22984.724 |
2.00E-05 | 25696.352 | 25560 |
1.00E-05 | 29068.01 | 30457.467 |
9.00E-06 | 30718.523 | 30770.121 |
8.00E-06 | 31194.653 | 31517.286 |
7.00E-06 | 32060.241 | 31988.151 |
6.00E-06 | 32218.121 | 32109.307 |
5.00E-06 | 34493.357 | 34064.794 |
4.00E-06 | 35875.94 | 36596.07 |
3.00E-06 | 38775.96 | 38338.553 |
2.00E-06 | 43315.487 | 43193.698 |
1.00E-06 | 47935.467 | 49143.266 |
这组值已经在《二分类吸引子,排斥子,鞍点和反鞍点数据汇总》计算得到了
将npa和npfa的数据画成图
很明显npa和npfa是重合的,也就是通过迭代次数曲线无法区分鞍点和反鞍点,也就是神经网络有唯一的迭代次数曲线,但迭代次数曲线与神经网络之间是1对多的关系。
两个网络的迭代次数曲线完全相同也并不表明有相同的分别能力。
迭代次数曲线并不是神经网络的组成部分,而只是神经网络的的一种外在表象,而且迭代次数曲线也没有携带神经网络的所有信息。或者有一部分和对称有关的信息对迭代次数曲线是简并的。
第二步实验
用训练好的排斥子和鞍点的网络去识别包含排斥子和反鞍点的数据集
测试集 | 40% | p | ||||||
60% | a |
| ||||||
f2[0] | f2[1] | 迭代次数n | 平均准确率p-ave | δ | 耗时ms/次 | 耗时ms/199次 | 耗时 min/199 | 最大准确率p-max |
0.5152 | 0.499596 | 172.9799 | 0.401738 | 0.5 | 2.60804 | 521 | 0.008683 | 0.491491 |
0.40697 | 0.597521 | 4098.377 | 0.918999 | 0.4 | 11.02513 | 2200 | 0.036667 | 0.95996 |
0.289746 | 0.714023 | 4804.302 | 0.928386 | 0.3 | 11.35678 | 2266 | 0.037767 | 0.961962 |
0.186203 | 0.81774 | 5266.09 | 0.926454 | 0.2 | 11.09045 | 2210 | 0.036833 | 0.952953 |
0.089538 | 0.91284 | 6074.683 | 0.926152 | 0.1 | 12.05025 | 2417 | 0.040283 | 0.945946 |
0.008603 | 0.991534 | 8204.372 | 0.92328 | 0.01 | 16.59296 | 3325 | 0.055417 | 0.953954 |
8.55E-04 | 0.999156 | 11870.57 | 0.919749 | 0.001 | 23.44724 | 4694 | 0.078233 | 0.940941 |
8.53E-05 | 0.999916 | 18359.12 | 0.919357 | 1.00E-04 | 35.33668 | 7040 | 0.117333 | 0.956957 |
7.81E-05 | 0.999923 | 18275.49 | 0.919045 | 9.00E-05 | 35.00503 | 6972 | 0.1162 | 0.94995 |
6.87E-05 | 0.999932 | 18987.89 | 0.920015 | 8.00E-05 | 36.25628 | 7226 | 0.120433 | 0.944945 |
6.08E-05 | 0.99994 | 19172.55 | 0.920302 | 7.00E-05 | 36.36683 | 7250 | 0.120833 | 0.940941 |
5.15E-05 | 0.999949 | 19762.11 | 0.920036 | 6.00E-05 | 38.75879 | 7719 | 0.12865 | 0.940941 |
4.29E-05 | 0.999958 | 21360.82 | 0.919397 | 5.00E-05 | 41.28141 | 8219 | 0.136983 | 0.946947 |
3.46E-05 | 0.999966 | 22003.4 | 0.920262 | 4.00E-05 | 41.59799 | 8283 | 0.13805 | 0.944945 |
2.59E-05 | 0.999974 | 23319.31 | 0.920373 | 3.00E-05 | 44.02513 | 8769 | 0.14615 | 0.950951 |
1.74E-05 | 0.999983 | 25409.12 | 0.920021 | 2.00E-05 | 49.0603 | 9768 | 0.1628 | 0.947948 |
8.68E-06 | 0.999991 | 29266.3 | 0.921992 | 1.00E-05 | 55.8593 | 11118 | 0.1853 | 0.943944 |
7.81E-06 | 0.999992 | 29949.12 | 0.922113 | 9.00E-06 | 56.86432 | 11323 | 0.188717 | 0.952953 |
6.82E-06 | 0.999993 | 30348.22 | 0.921701 | 8.00E-06 | 57.48744 | 11449 | 0.190817 | 0.946947 |
6.11E-06 | 0.999994 | 31987.67 | 0.921751 | 7.00E-06 | 61.1206 | 12166 | 0.202767 | 0.951952 |
5.21E-06 | 0.999995 | 32247.39 | 0.920765 | 6.00E-06 | 61.10553 | 12163 | 0.202717 | 0.950951 |
4.32E-06 | 0.999996 | 35547.04 | 0.920931 | 5.00E-06 | 67.17085 | 13371 | 0.22285 | 0.948949 |
3.45E-06 | 0.999997 | 35509.02 | 0.921585 | 4.00E-06 | 67.34171 | 13405 | 0.223417 | 0.947948 |
2.57E-06 | 0.999997 | 37577.76 | 0.92077 | 3.00E-06 | 71.08543 | 14151 | 0.23585 | 0.952953 |
1.74E-06 | 0.999998 | 41260.93 | 0.921796 | 2.00E-06 | 78.15075 | 15560 | 0.259333 | 0.946947 |
8.62E-07 | 0.999999 | 47859.99 | 0.923371 | 1.00E-06 | 90.1608 | 17945 | 0.299083 | 0.950951 |
测试集中有40%的排斥子和60%的鞍点可以看到,最大正确率可以达到95%。
测试集 | 40% | p | ||||||
60% | fa |
| 测试集是60%的反鞍点 | |||||
f2[0] | f2[1] | 迭代次数n | 平均准确率p-ave | δ | 耗时ms/次 | 耗时ms/199次 | 耗时 min/199 | 最大准确率p-max |
0.515273 | 0.499668 | 177.5126 | 0.399636 | 0.5 | 2.331658 | 467 | 0.007783 | 0.431431 |
0.413866 | 0.591256 | 3992.377 | 0.396427 | 0.4 | 10.10553 | 2020 | 0.033667 | 0.438438 |
0.285334 | 0.719028 | 4773.477 | 0.388509 | 0.3 | 10.20101 | 2036 | 0.033933 | 0.449449 |
0.183472 | 0.819856 | 5347.276 | 0.380642 | 0.2 | 10.64322 | 2122 | 0.035367 | 0.43043 |
0.088542 | 0.913042 | 6085.769 | 0.373806 | 0.1 | 11.74874 | 2343 | 0.03905 | 0.436436 |
0.008638 | 0.991466 | 8268.915 | 0.362071 | 0.01 | 16.0804 | 3206 | 0.053433 | 0.412412 |
8.45E-04 | 0.999163 | 11844.24 | 0.355491 | 0.001 | 21.83417 | 4347 | 0.07245 | 0.42042 |
8.68E-05 | 0.999914 | 17909.71 | 0.347367 | 1.00E-04 | 32.21106 | 6417 | 0.10695 | 0.401401 |
7.95E-05 | 0.999921 | 18659.98 | 0.348861 | 9.00E-05 | 33.72864 | 6717 | 0.11195 | 0.424424 |
6.84E-05 | 0.999932 | 18836.21 | 0.343922 | 8.00E-05 | 33.86432 | 6746 | 0.112433 | 0.398398 |
6.02E-05 | 0.99994 | 19425.56 | 0.343967 | 7.00E-05 | 36.38693 | 7252 | 0.120867 | 0.4004 |
5.18E-05 | 0.999949 | 19915.75 | 0.348384 | 6.00E-05 | 35.72864 | 7111 | 0.118517 | 0.401401 |
4.31E-05 | 0.999957 | 20986.88 | 0.345924 | 5.00E-05 | 37.88442 | 7545 | 0.12575 | 0.399399 |
3.45E-05 | 0.999966 | 21588.46 | 0.348102 | 4.00E-05 | 38.66332 | 7699 | 0.128317 | 0.397397 |
2.60E-05 | 0.999974 | 23031.46 | 0.347106 | 3.00E-05 | 41.1407 | 8190 | 0.1365 | 0.408408 |
1.72E-05 | 0.999983 | 25443.31 | 0.343077 | 2.00E-05 | 45.56784 | 9075 | 0.15125 | 0.399399 |
8.59E-06 | 0.999991 | 29202.76 | 0.347322 | 1.00E-05 | 52.12563 | 10382 | 0.173033 | 0.413413 |
7.75E-06 | 0.999992 | 29921.75 | 0.345682 | 9.00E-06 | 54.65829 | 10881 | 0.18135 | 0.395395 |
6.97E-06 | 0.999993 | 31619.27 | 0.348494 | 8.00E-06 | 59.73869 | 11894 | 0.198233 | 0.422422 |
5.98E-06 | 0.999994 | 30864.09 | 0.345768 | 7.00E-06 | 57.84925 | 11516 | 0.191933 | 0.396396 |
5.21E-06 | 0.999995 | 33688.01 | 0.346296 | 6.00E-06 | 63.0201 | 12543 | 0.20905 | 0.406406 |
4.32E-06 | 0.999996 | 34364.69 | 0.346769 | 5.00E-06 | 64.0201 | 12746 | 0.212433 | 0.391391 |
3.44E-06 | 0.999997 | 36226.18 | 0.345999 | 4.00E-06 | 68.62814 | 13660 | 0.227667 | 0.404404 |
2.59E-06 | 0.999997 | 38357.81 | 0.347835 | 3.00E-06 | 71.62312 | 14258 | 0.237633 | 0.394394 |
1.73E-06 | 0.999998 | 41129.3 | 0.345109 | 2.00E-06 | 76.26131 | 15180 | 0.253 | 0.404404 |
8.52E-07 | 0.999999 | 46691.23 | 0.346195 | 1.00E-06 | 87.39196 | 17394 | 0.2899 | 0.406406 |
测试集中有40%的排斥子和60%的反鞍点,最大准确率只能达到40.6%。
这个结果清楚的表明
d2(p,a)-4-4-2-(2*k),k∈{0,1}是可以识别反鞍点的。
因此有理由推断神经网络可以表达一个和对称性有关的属性。
而且这个属性不能通过迭代次数曲线表达, 因此有理由推断神经网络至少携带了图片集的3种属性,分别是点的分布,数值大小,和对称关系。
由此很容易理解,神经网络具有抗图片扭曲的泛化能力,但假如将图片6扭曲成了9,如果泛化能力无限大那6和9就应该是同一个无法分类的对象,所以由此也可以印证神经网络是可以携带对称信息的,由此也很容易推断神经网络的泛化能力是有极限的。
实验参数
学习率 0.1 |
权重初始化方式 |
Random rand1 =new Random(); |
int ti1=rand1.nextInt(98)+1; |
tw[a][b]=xx*((double)ti1/100); |