神经网络迭代次数的线性累加现象
神經網絡對應每個收斂標準δ都有一個特征的迭代次數n,因此可以用迭代次數曲線n(δ)來評價網絡性能。
在《神經網絡的迭代次數是一個線性的變量嗎?》中得到表達式
?
一個二分類網絡分類兩個對象A和B,B中有K張圖片,B的第K張圖片被取樣的概率為p,B中第K張圖片相對A的迭代次數為n最終的迭代次數等于pn的累加和。
?
本文驗算這個表達式是否正確
實驗過程
制作一個帶一個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。
用同樣的辦法制作另一個網絡
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? ; 60% x=1, 40%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的比例是6:4.
| 具體進樣順序 | ? | ? | ? | ? |
| 進樣順序 | 迭代次數 | ? | ? | ? |
| δ=0.5 | ? | ? | ? | ? |
| mnist 0-1 | 1 | ? | 判斷是否達到收斂 | |
| 60% x=1,40% x=0.1 | 2 | ? | 判斷是否達到收斂 | |
| 梯度下降 | ? | ? | ? | ? |
| mnist 0-2 | 3 | ? | 判斷是否達到收斂 | |
| 60% x=1,40% x=0.1 | 4 | ? | 判斷是否達到收斂 | |
| 梯度下降 | ? | ? | ? | ? |
| …… | ? | ? | ? | ? |
| mnist 0-4999 | 9997 | ? | 判斷是否達到收斂 | |
| 60% x=1,40% x=0.1 | 9998 | ? | 判斷是否達到收斂 | |
| 梯度下降 | ? | ? | ? | ? |
| …… | ? | ? | ? | ? |
| 如果4999圖片內沒有達到收斂標準再次從頭循環 | ? | ? | ||
| mnist 0-1 | 9999 | ? | 判斷是否達到收斂 | |
| 60% x=1,40% x=0.1 | 10000 | ? | 判斷是否達到收斂 | |
| …… | ? | ? | ? | ? |
| 達到收斂標準記錄迭代次數,將這個過程重復199次 | ? | ? | ? | |
| δ=0.4 | ? | ? | ? | ? |
| …… | ? | ? | ? | ? |
相當于分類兩個圖片集,一個圖片集是mnist的0另一個圖片集只有兩張圖片,兩張圖片被取樣的概率是6:4
得到的數據
| 1:0.1=6:4 | ? | ? | ? | ? | ? | ? | ? | ? |
| ? | ? | ? | ? | ? | ? | ? | ? | ? |
| f2[0] | f2[1] | 迭代次數n | 平均準確率p-ave | δ | 耗時ms/次 | 耗時ms/199次 | 耗時min/199次 | 最大準確率p-max |
| 0.499731669 | 0.498415314 | 15.4321608 | 0.502389014 | 0.5 | 829.9849246 | 165167 | 2.752783333 | 0.773049645 |
| 0.608582727 | 0.391220516 | 1106.678392 | 0.490625705 | 0.4 | 1032.306533 | 205430 | 3.423833333 | 0.976832151 |
| 0.712834918 | 0.28679338 | 1418.437186 | 0.576345082 | 0.3 | 1117.60804 | 222422 | 3.707033333 | 0.994799054 |
| 0.814122794 | 0.185951639 | 1466.688442 | 0.623818858 | 0.2 | 1118.422111 | 222661 | 3.711016667 | 0.997163121 |
| 0.912685745 | 0.087285272 | 1781.492462 | 0.646250163 | 0.1 | 1156.246231 | 230095 | 3.834916667 | 0.995271868 |
| 0.991973102 | 0.008021737 | 2625.341709 | 0.638720791 | 0.01 | 1313.492462 | 261385 | 4.356416667 | 0.996217494 |
| 0.99925116 | 7.48E-04 | 4167.311558 | 0.607593523 | 0.001 | 1618.939698 | 322169 | 5.369483333 | 0.998108747 |
| 0.999921571 | 7.86E-05 | 8358.19598 | 0.553640543 | 1.00E-04 | 2028.286432 | 403629 | 6.72715 | 0.995744681 |
| 0.999930909 | 6.92E-05 | 8459.060302 | 0.551466553 | 9.00E-05 | 2364.964824 | 470628 | 7.8438 | 0.997635934 |
| 0.999937007 | 6.29E-05 | 9290.869347 | 0.535559595 | 8.00E-05 | 2486.271357 | 494768 | 8.246133333 | 0.995744681 |
| 0.99994614 | 5.39E-05 | 9643.371859 | 0.547686423 | 7.00E-05 | 2552.115578 | 507879 | 8.46465 | 0.996690307 |
| 0.999954978 | 4.50E-05 | 10088.04523 | 0.546776435 | 6.00E-05 | 2647.643216 | 526881 | 8.78135 | 0.993853428 |
| 0.999961134 | 3.88E-05 | 11241.1809 | 0.529522316 | 5.00E-05 | 2855.462312 | 568237 | 9.470616667 | 0.995744681 |
| 0.999968124 | 3.18E-05 | 12429.0402 | 0.536198724 | 4.00E-05 | 3066.41206 | 610216 | 10.17026667 | 0.996217494 |
| 0.999976997 | 2.30E-05 | 13595.53266 | 0.547436948 | 3.00E-05 | 3072.015075 | 611347 | 10.18911667 | 0.993853428 |
| 0.999984209 | 1.58E-05 | 14639.11055 | 0.553756965 | 2.00E-05 | 3967.502513 | 789549 | 13.15915 | 0.995744681 |
| 0.99999235 | 7.65E-06 | 21105.31156 | 0.514109555 | 1.00E-05 | 5362.361809 | 1067111 | 17.78518333 | 0.986288416 |
| 0.999992956 | 7.04E-06 | 23825.72362 | 0.523351985 | 9.00E-06 | 5868.38191 | 1167816 | 19.4636 | 0.997635934 |
| 0.999993873 | 6.13E-06 | 22955.43216 | 0.5491999 | 8.00E-06 | 4949.914573 | 985034 | 16.41723333 | 0.993853428 |
| 0.999994449 | 5.56E-06 | 25968.22613 | 0.525471328 | 7.00E-06 | 6241.738693 | 1242135 | 20.70225 | 0.995744681 |
| 0.999995305 | 4.70E-06 | 26669.97487 | 0.516017439 | 6.00E-06 | 6459.59799 | 1285476 | 21.4246 | 0.991489362 |
| 0.999996124 | 3.87E-06 | 30357.0603 | 0.519445929 | 5.00E-06 | 6901.41206 | 1373382 | 22.8897 | 0.997163121 |
| 0.999996842 | 3.16E-06 | 32991.17085 | 0.532447106 | 4.00E-06 | 7681.236181 | 1528582 | 25.47636667 | 0.996217494 |
| 0.999997667 | 2.33E-06 | 37621.35176 | 0.52875251 | 3.00E-06 | 8458.40201 | 1683222 | 28.0537 | 0.994326241 |
| 0.99999837 | 1.63E-06 | 49854.86935 | 0.542544876 | 2.00E-06 | 11146.78392 | 2218227 | 36.97045 | 0.995744681 |
| 0.999999185 | 8.15E-07 | 74084.86935 | 0.528457892 | 1.00E-06 | 16062.72362 | 3196485 | 53.27475 | 0.995271868 |
所以現在有了3個迭代次數分別是
| x=1 | n1 |
| x=0.1 | n0.1 |
| x=1||x=0.1 | n1-0.1 |
驗算n1-0.1與n1和n0.1之間的關系
| ? | 1 | 0.1 | 理論值 | 實測值 | 理論值/實測值 |
| δ | 迭代次數n1 | 迭代次數n0.1 | 0.6*n1+0.4*n0.1 |
| |
| 0.5 | 17.40201005 | 17.87437186 | 17.59095477 | 15.4321608 | 1.139889287 |
| 0.4 | 951.2110553 | 1408.577889 | 1134.157789 | 1106.678392 | 1.024830517 |
| 0.3 | 1144.577889 | 1720.517588 | 1374.953769 | 1418.437186 | 0.969344136 |
| 0.2 | 1313.633166 | 1995.110553 | 1586.224121 | 1466.688442 | 1.081500389 |
| 0.1 | 1505.824121 | 2243.834171 | 1801.028141 | 1781.492462 | 1.010965906 |
| 0.01 | 2362.115578 | 3001.552764 | 2617.890452 | 2625.341709 | 0.997161796 |
| 0.001 | 4129.020101 | 4007.532663 | 4080.425126 | 4167.311558 | 0.979150483 |
| 1.00E-04 | 10353.37186 | 5532.668342 | 8425.090452 | 8358.19598 | 1.008003458 |
| 9.00E-05 | 10653.93467 | 5683.753769 | 8665.862312 | 8459.060302 | 1.024447398 |
| 8.00E-05 | 11292.43719 | 6131.934673 | 9228.236181 | 9290.869347 | 0.993258632 |
| 7.00E-05 | 11761.11055 | 6106.919598 | 9499.434171 | 9643.371859 | 0.985073925 |
| 6.00E-05 | 12657.69347 | 6014.688442 | 10000.49146 | 10088.04523 | 0.991321037 |
| 5.00E-05 | 13305.44221 | 6455.321608 | 10565.39397 | 11241.1809 | 0.939882923 |
| 4.00E-05 | 15844.29648 | 6724.738693 | 12196.47337 | 12429.0402 | 0.981288432 |
| 3.00E-05 | 17291.77387 | 7055.80402 | 13197.38593 | 13595.53266 | 0.970714885 |
| 2.00E-05 | 20753.56281 | 7763.41206 | 15557.50251 | 14639.11055 | 1.062735503 |
| 1.00E-05 | 27708.19598 | 8749.050251 | 20124.53769 | 21105.31156 | 0.953529524 |
| 9.00E-06 | 29358.8593 | 8879.41206 | 21167.0804 | 23825.72362 | 0.888412908 |
| 8.00E-06 | 30689.87437 | 9387.150754 | 22168.78492 | 22955.43216 | 0.965731543 |
| 7.00E-06 | 33437.22111 | 9532.648241 | 23875.39196 | 25968.22613 | 0.919407889 |
| 6.00E-06 | 36960.63819 | 9957.683417 | 26159.45628 | 26669.97487 | 0.980857927 |
| 5.00E-06 | 40669.92462 | 10661.56281 | 28666.5799 | 30357.0603 | 0.944313435 |
| 4.00E-06 | 44594.04523 | 11025.0402 | 31166.44322 | 32991.17085 | 0.944690425 |
| 3.00E-06 | 51522.10553 | 11653.63317 | 35574.71658 | 37621.35176 | 0.945599106 |
| 2.00E-06 | 67583.53266 | 13076.9196 | 45780.88744 | 49854.86935 | 0.918283169 |
| 1.00E-06 | 107224.5276 | 15184.58794 | 70408.55176 | 74084.86935 | 0.950376944 |
?
將理論值和實測值畫成圖
?
從數值看
這個公式還是符合的很好的。
?
表明這個關系是成立的。
實驗參數
| 學習率 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 |
?
本文原始數據比較多有感興趣的朋友可以到我的資源里下載
?
總結
以上是生活随笔為你收集整理的神经网络迭代次数的线性累加现象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金匮还元汤在哪里买?
- 下一篇: 神经网络迭代次数的数学构成