用数学方法构造神经网路的迭代次数1-9
神經網絡對應每個收斂標準δ都有一個特征的迭代次數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的過程。
將上圖簡寫成
S(mnist0)81-(con3*3)49-30-2-(1,0)
S(x)81-(con3*3)49-30-2-(0,1)
w=w,w1=w1,w2=w2
進一步簡寫成
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 |
?
現在做第3個網絡
d2(mnist0? ; 90% x=1, 10%x=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}
讓mnist 0向1,0收斂,右邊的是讓x向 0,1收斂。但讓x在1和0.1之間隨機。
讓1與0.1的比例是9:1.
| 具體進樣順序 | ? | ? | ? | ? |
| 進樣順序 | 迭代次數 | ? | ? | ? |
| δ=0.5 | ? | ? | ? | ? |
| mnist 0-1 | 1 | ? | 判斷是否達到收斂 | |
| 90% x=1,10% x=0.1 | 2 | ? | 判斷是否達到收斂 | |
| 梯度下降 | ? | ? | ? | ? |
| mnist 0-2 | 3 | ? | 判斷是否達到收斂 | |
| 90% x=1,10% x=0.1 | 4 | ? | 判斷是否達到收斂 | |
| 梯度下降 | ? | ? | ? | ? |
| …… | ? | ? | ? | ? |
| mnist 0-4999 | 9997 | ? | 判斷是否達到收斂 | |
| 90% x=1,10% x=0.1 | 9998 | ? | 判斷是否達到收斂 | |
| 梯度下降 | ? | ? | ? | ? |
| …… | ? | ? | ? | ? |
| 如果4999圖片內沒有達到收斂標準再次從頭循環 | ? | ? | ||
| mnist 0-1 | 9999 | ? | 判斷是否達到收斂 | |
| 90% x=1,10% x=0.1 | 10000 | ? | 判斷是否達到收斂 | |
| …… | ? | ? | ? | ? |
| 達到收斂標準記錄迭代次數,將這個過程重復199次 | ? | ? | ? | |
| δ=0.4 | ? | ? | ? | ? |
| …… | ? | ? | ? | ? |
相當于分類兩個圖片集,一個圖片集是mnist的0另一個圖片集只有兩張圖片,兩張圖片被取樣的概率是9:1
得到的數據
| 用0和x二分類 | ? | ? | ? | ? | ? | ? | ? | ? |
| 1:0.1=9:1 | ? | ? | ? | ? | ? | ? | ? | ? |
| f2[0] | f2[1] | 迭代次數n | 平均準確率p-ave | δ | 耗時ms/次 | 耗時ms/199次 | 耗時min/199次 | 最大準確率p-max |
| 0.498104124 | 0.502676985 | 16.44723618 | 0.507694501 | 0.5 | 705.7939698 | 140453 | 2.340883333 | 0.93286052 |
| 0.607871638 | 0.392303481 | 962.2462312 | 0.469812419 | 0.4 | 860.839196 | 171307 | 2.855116667 | 0.771631206 |
| 0.713203914 | 0.287205344 | 1173.944724 | 0.510825998 | 0.3 | 901.3768844 | 179390 | 2.989833333 | 0.996217494 |
| 0.815556635 | 0.184524514 | 1334.738693 | 0.546073155 | 0.2 | 929.1155779 | 184894 | 3.081566667 | 0.990543735 |
| 0.90997792 | 0.090066952 | 1611.693467 | 0.542224123 | 0.1 | 973.8894472 | 193804 | 3.230066667 | 0.997635934 |
| 0.991681618 | 0.008309057 | 2341.964824 | 0.569198237 | 0.01 | 1099.482412 | 218797 | 3.646616667 | 0.993853428 |
| 0.999210695 | 7.89E-04 | 4295.603015 | 0.509585754 | 0.001 | 1426.964824 | 283982 | 4.733033333 | 0.994799054 |
| 0.99991913 | 8.10E-05 | 9687.070352 | 0.502465044 | 1.00E-04 | 2373.773869 | 472383 | 7.87305 | 0.995271868 |
| 0.999923991 | 7.60E-05 | 10210.03518 | 0.496014351 | 9.00E-05 | 2356.180905 | 468880 | 7.814666667 | 0.908274232 |
| 0.999935256 | 6.48E-05 | 10843.55276 | 0.497753543 | 8.00E-05 | 3242.708543 | 645299 | 10.75498333 | 0.991489362 |
| 0.999943561 | 5.64E-05 | 10806.32663 | 0.502959241 | 7.00E-05 | 3266.79397 | 650109 | 10.83515 | 0.969267139 |
| 0.999950232 | 4.98E-05 | 12581.07035 | 0.497993514 | 6.00E-05 | 3724.944724 | 741264 | 12.3544 | 0.989125296 |
| 0.999958783 | 4.13E-05 | 13029.84422 | 0.498421184 | 5.00E-05 | 3809.974874 | 758185 | 12.63641667 | 0.997635934 |
| 0.999966645 | 3.33E-05 | 14310.57789 | 0.510201124 | 4.00E-05 | 3262.095477 | 649172 | 10.81953333 | 0.968794326 |
| 0.999974884 | 2.51E-05 | 16443.79397 | 0.502852323 | 3.00E-05 | 4501.236181 | 895749 | 14.92915 | 0.994799054 |
| 0.99998357 | 1.64E-05 | 19419.17085 | 0.503299001 | 2.00E-05 | 5115.778894 | 1018040 | 16.96733333 | 0.993380615 |
| 0.999991794 | 8.20E-06 | 27144.11558 | 0.489817884 | 1.00E-05 | 6756.723618 | 1344588 | 22.4098 | 0.973995272 |
| 0.999992793 | 7.20E-06 | 29046.41709 | 0.497423287 | 9.00E-06 | 6943.306533 | 1381720 | 23.02866667 | 0.995271868 |
| 0.999993282 | 6.72E-06 | 31390.61809 | 0.496453901 | 8.00E-06 | 7751.251256 | 1542499 | 25.70831667 | 0.996217494 |
| 0.999994272 | 5.73E-06 | 31424.78894 | 0.496423013 | 7.00E-06 | 7481.080402 | 1488736 | 24.81226667 | 0.988652482 |
| 0.999994899 | 5.11E-06 | 36383.01005 | 0.481965382 | 6.00E-06 | 8729.462312 | 1737170 | 28.95283333 | 0.926241135 |
| 0.999995796 | 4.20E-06 | 36290.04523 | 0.500666453 | 5.00E-06 | 7995.130653 | 1591032 | 26.5172 | 0.972104019 |
| 0.999996677 | 3.32E-06 | 42239.1005 | 0.486182686 | 4.00E-06 | 9862.758794 | 1962705 | 32.71175 | 0.885106383 |
| 0.999997456 | 2.55E-06 | 48473.47236 | 0.488192737 | 3.00E-06 | 10236.57789 | 2037079 | 33.95131667 | 0.997635934 |
| 0.999998261 | 1.74E-06 | 65778.96985 | 0.483386198 | 2.00E-06 | 13816.74874 | 2749549 | 45.82581667 | 0.94893617 |
| 0.999999127 | 8.72E-07 | 86632.40704 | 0.494909536 | 1.00E-06 | 18408.96482 | 3663384 | 61.0564 | 0.969739953 |
測試集是0和1,雖然訓練集沒有1,平均準確率接近0.5,但最大準確率還是能超過99%
?
所以現在有了3個迭代次數分別是
| x=1 | n1 |
| x=0.1 | n0.1 |
| 0.9x=1||0.1x=0.1 | n1-0.1 |
驗算n1-0.1與n1和n0.1之間的關系
| ? | 1 | 0.1 | 理論值 | 實測值 | 理論值/實測值 |
| δ | 迭代次數n1 | 迭代次數n0.1 | 0.9*n1+0.1*n0.1 |
|
|
| 0.5 | 17.40201005 | 17.87437186 | 17.44924623 | 16.44723618 | 1.060922701 |
| 0.4 | 951.2110553 | 1408.577889 | 996.9477387 | 962.2462312 | 1.036063023 |
| 0.3 | 1144.577889 | 1720.517588 | 1202.171859 | 1173.944724 | 1.024044689 |
| 0.2 | 1313.633166 | 1995.110553 | 1381.780905 | 1334.738693 | 1.03524451 |
| 0.1 | 1505.824121 | 2243.834171 | 1579.625126 | 1611.693467 | 0.980102704 |
| 0.01 | 2362.115578 | 3001.552764 | 2426.059296 | 2341.964824 | 1.035907658 |
| 0.001 | 4129.020101 | 4007.532663 | 4116.871357 | 4295.603015 | 0.958391952 |
| 1.00E-04 | 10353.37186 | 5532.668342 | 9871.301508 | 9687.070352 | 1.019018253 |
| 9.00E-05 | 10653.93467 | 5683.753769 | 10156.91658 | 10210.03518 | 0.994797413 |
| 8.00E-05 | 11292.43719 | 6131.934673 | 10776.38693 | 10843.55276 | 0.99380592 |
| 7.00E-05 | 11761.11055 | 6106.919598 | 11195.69146 | 10806.32663 | 1.036031191 |
| 6.00E-05 | 12657.69347 | 6014.688442 | 11993.39296 | 12581.07035 | 0.953288761 |
| 5.00E-05 | 13305.44221 | 6455.321608 | 12620.43015 | 13029.84422 | 0.968578744 |
| 4.00E-05 | 15844.29648 | 6724.738693 | 14932.3407 | 14310.57789 | 1.043447778 |
| 3.00E-05 | 17291.77387 | 7055.80402 | 16268.17688 | 16443.79397 | 0.98932016 |
| 2.00E-05 | 20753.56281 | 7763.41206 | 19454.54774 | 19419.17085 | 1.001821751 |
| 1.00E-05 | 27708.19598 | 8749.050251 | 25812.28141 | 27144.11558 | 0.9509347 |
| 9.00E-06 | 29358.8593 | 8879.41206 | 27310.91457 | 29046.41709 | 0.94025072 |
| 8.00E-06 | 30689.87437 | 9387.150754 | 28559.60201 | 31390.61809 | 0.909813306 |
| 7.00E-06 | 33437.22111 | 9532.648241 | 31046.76382 | 31424.78894 | 0.98797048 |
| 6.00E-06 | 36960.63819 | 9957.683417 | 34260.34271 | 36383.01005 | 0.941657732 |
| 5.00E-06 | 40669.92462 | 10661.56281 | 37669.08844 | 36290.04523 | 1.038000592 |
| 4.00E-06 | 44594.04523 | 11025.0402 | 41237.14472 | 42239.1005 | 0.976278951 |
| 3.00E-06 | 51522.10553 | 11653.63317 | 47535.25829 | 48473.47236 | 0.980644793 |
| 2.00E-06 | 67583.53266 | 13076.9196 | 62132.87136 | 65778.96985 | 0.944570453 |
| 1.00E-06 | 107224.5276 | 15184.58794 | 98020.53367 | 86632.40704 | 1.131453425 |
?
?
從數值看
這個公式還是符合的很好的。
表明神經網絡的迭代次數可以被看作是一個線性變量可以用概率矩陣和迭代次數矩陣的點積來計算。
?
實驗參數
| 學習率 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 |
總結
以上是生活随笔為你收集整理的用数学方法构造神经网路的迭代次数1-9的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ?j锅馍馍一天能做多少
- 下一篇: 用神经网络迭代次数曲线模拟原子光谱