将神经网络的收敛权重导出,用openscad画出,观察训练集和权重分布的关系
(A,B)---m*n*k---(1,0)(0,1)
用神经网络分类A和B,A有8个1,B有6个1,收敛结果为
0 |
1 |
1 |
0 |
0 |
0 |
|||
1 |
1 |
1 |
1 |
1 |
1 |
|||
1 |
1 |
1 |
1 |
1 |
1 |
|||
861 |
||||||||
f2[0] |
f2[1] |
迭代次数n |
平均准确率p-ave |
1-0 |
0-1 |
δ |
耗时ms/次 |
|
8611 |
1.00E-04 |
0.999901 |
126990 |
1 |
1 |
1 |
1.00E-04 |
545 |
收敛w1为
0.067 |
2.157999 |
2.108999 |
-0.29944 |
-0.38044 |
-0.27344 |
-0.41644 |
-0.29544 |
-0.30344 |
0.079 |
-2.06642 |
-2.11642 |
0.407278 |
0.280278 |
0.266278 |
0.326278 |
0.310278 |
0.334278 |
0.073 |
-3.05253 |
-3.03253 |
0.486027 |
0.400027 |
0.428027 |
0.490027 |
0.573027 |
0.525027 |
-0.048 |
2.070484 |
2.026484 |
-0.24693 |
-0.26093 |
-0.30893 |
-0.32293 |
-0.36593 |
-0.37393 |
0.069 |
-1.52763 |
-1.59963 |
0.199317 |
0.249317 |
0.227317 |
0.213317 |
0.231317 |
0.237317 |
0.023 |
-2.37743 |
-2.42743 |
0.386981 |
0.311981 |
0.426981 |
0.293981 |
0.438981 |
0.388981 |
0.069 |
1.021144 |
0.872144 |
-0.09195 |
-0.04595 |
-0.07195 |
-0.05395 |
-0.13795 |
-0.18695 |
0.087 |
-0.11306 |
-0.07506 |
0.028709 |
0.082709 |
0.070709 |
-0.04829 |
0.064709 |
0.050709 |
-0.034 |
2.961721 |
2.955721 |
-0.41367 |
-0.39767 |
-0.45967 |
-0.46467 |
-0.54267 |
-0.53867 |
将其画成图
图片明显的有B0列x=1,2,AB重合的0列x=0,AB重合的1列x=3,4,5,6,7,8。其中B0列所在位置与B中0的位置对应。且这两列几乎是相同的。而重合1列与B0列的正负顺序刚好是相反的。比较特别的是重合0列。
将初始化的w1导出
0.067 |
0.033 |
-0.016 |
0.051 |
-0.03 |
0.077 |
-0.066 |
0.055 |
0.047 |
0.079 |
-0.024 |
-0.074 |
0.049 |
-0.078 |
-0.092 |
-0.032 |
-0.048 |
-0.024 |
0.073 |
-0.094 |
-0.074 |
-0.012 |
-0.098 |
-0.07 |
-0.008 |
0.075 |
0.027 |
-0.048 |
-0.014 |
-0.058 |
0.095 |
0.081 |
0.033 |
0.019 |
-0.024 |
-0.032 |
0.069 |
-0.006 |
-0.078 |
0.005 |
0.055 |
0.033 |
0.019 |
0.037 |
0.043 |
0.023 |
0.063 |
0.013 |
0.001 |
-0.074 |
0.041 |
-0.092 |
0.053 |
0.003 |
0.069 |
0.087 |
-0.062 |
0.051 |
0.097 |
0.071 |
0.089 |
0.005 |
-0.044 |
0.087 |
-0.07 |
-0.032 |
0.033 |
0.087 |
0.075 |
-0.044 |
0.069 |
0.055 |
-0.034 |
0.091 |
0.085 |
0.047 |
0.063 |
0.001 |
-0.004 |
-0.082 |
-0.078 |
对比
收敛w1 |
初始w1 |
0.067 |
0.067 |
0.079 |
0.079 |
0.073 |
0.073 |
-0.048 |
-0.048 |
0.069 |
0.069 |
0.023 |
0.023 |
0.069 |
0.069 |
0.087 |
0.087 |
-0.034 |
-0.034 |
所以事实上重合0列的权重其实没有变化.
按照对称性进一步总结权重的分布规律,
按列分布,
正负对称,
A0列或B0列高度比较突出,且A0列或B0列彼此之间是几乎一致的.
重合1列的高度较小,且正负关系与A0列或B0列相反
重合0列没有变化
做第二组
依然是A有8个1,B有6个1,得到的结果
0 |
1 |
1 |
1 |
0 |
0 |
|||
1 |
1 |
1 |
1 |
1 |
0 |
|||
1 |
1 |
1 |
1 |
1 |
1 |
|||
862 |
||||||||
f2[0] |
f2[1] |
迭代次数n |
平均准确率p-ave |
1-0 |
0-1 |
δ |
耗时ms/次 |
|
8621 |
1.00E-04 |
0.9999 |
108492 |
1 |
1 |
1 |
1.00E-04 |
493 |
收敛w1为
-1.46522 |
1.299419 |
1.208419 |
-0.2368 |
-0.1558 |
1.247419 |
-0.2408 |
-0.1278 |
-0.2328 |
1.615345 |
-1.41306 |
-1.53006 |
0.223286 |
0.243286 |
-1.50006 |
0.308286 |
0.314286 |
0.183286 |
1.742934 |
-1.45339 |
-1.34639 |
0.218542 |
0.192542 |
-1.52339 |
0.253542 |
0.305542 |
0.178542 |
-1.28404 |
1.073168 |
1.157168 |
-0.26987 |
-0.10487 |
1.258168 |
-0.09687 |
-0.24187 |
-0.22987 |
1.66984 |
-1.44515 |
-1.33815 |
0.328692 |
0.171692 |
-1.45515 |
0.240692 |
0.258692 |
0.141692 |
0.221716 |
-0.17194 |
-0.07694 |
-0.07522 |
-0.07322 |
-0.08294 |
0.017776 |
-0.08322 |
0.085776 |
1.112849 |
-0.86189 |
-0.97489 |
0.108956 |
0.048956 |
-1.02489 |
0.213956 |
0.155956 |
0.165956 |
-1.85919 |
1.606952 |
1.632952 |
-0.24824 |
-0.19824 |
1.636952 |
-0.28924 |
-0.29324 |
-0.34324 |
-1.05839 |
0.901493 |
0.970493 |
-0.21089 |
-0.07189 |
1.000493 |
-0.15689 |
-0.06989 |
-0.21489 |
画成图
这张图分成,A0列x=0,B0列x=1,2,5,AB重合1列x=3,4,6,7,8.
这张图里没有重合0列,而有一个独立的A0列.很明显A0列和B0列正负是相反的。
因此进一步的总结权重的分布规律
按列分布,
正负对称,
A0列或B0列高度比较突出,且A0列或B0列彼此之间正负关系相反
重合1列的高度较小,且正负关系与A0列或B0列相反
重合0列没有变化
A0列,B0列,重合1列,重合0列彼此之间几乎一致。
所以二值化神经网络的第一层权重只有A0,B0,重合1,重合0这4种可能。其中A0列和B0列比较突出,重合1列变化不明显,而重合0列完全没有变化。
这可以用移位距离和假设去解释,因为A0和B0列对应的是需要移位的1,而重合0列完全无需移位。
转载:https://blog.csdn.net/georgesale/article/details/125832939