用神经网络迭代次数曲线模拟原子光谱
大量實驗表明每個神經網絡對應每個收斂標準δ都有一個特征的迭代次數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
?
總結
以上是生活随笔為你收集整理的用神经网络迭代次数曲线模拟原子光谱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用数学方法构造神经网路的迭代次数1-9
- 下一篇: 阿克苏坤奥未来星城是哪个开发商?