天天看點

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

每個神經網絡對應每個收斂标準δ都有一個特征的疊代次數n,是以可以用疊代次數曲線n(δ)來評價網絡性能。

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

一個二分類網絡,分類兩個對象A和B,B中有K張圖檔,B的第i張圖檔被取樣的機率為pi,B中第i張圖檔相對A的疊代次數為ni最終的疊代次數nt等于pi*ni的累加和。

由此可以構造兩個矩陣一個是随機矩陣PJ

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

PJ表明圖檔集B中第i張圖檔被抽樣到的機率

和矩陣NJ

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

NJ表明圖檔集B中第i張圖檔相對A的疊代次數

總的疊代次數nt等于矩陣PJ和NJ的點積

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

為了驗證這個關系構造了等式

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

本文驗算這個表達式是否正确

實驗過程

首先用實驗的方法測量n1

制作一個帶一個3*3卷積核的神經網絡,測試集是mnist的0和一張圖檔x,将28*28的圖檔縮小成9*9,隐藏層30個節點是以網絡的結構是

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

這個網絡分成兩個部分左邊的是讓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,測試集是mnist的0和1

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

圖檔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.6

用同樣的辦法制作另一個網絡

d2(mnist0, x=0.6)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}

讓mnist 0向1,0收斂,右邊的是讓x向 0,1收斂。但讓x=0.6.得到疊代次數曲線n0.6

第三步測量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.6 0.1
δ 疊代次數n 疊代次數n 疊代次數n
0.5 17.40201005 18.7839196 17.87437186
0.4 951.2110553 1117.532663 1408.577889
0.3 1144.577889 1415.271357 1720.517588
0.2 1313.633166 1623 1995.110553
0.1 1505.824121 1821.562814 2243.834171
0.01 2362.115578 2582.668342 3001.552764
0.001 4129.020101 3895.211055 4007.532663
1.00E-04 10353.37186 7057.452261 5532.668342
9.00E-05 10653.93467 7175.934673 5683.753769
8.00E-05 11292.43719 7392.497487 6131.934673
7.00E-05 11761.11055 8186.427136 6106.919598
6.00E-05 12657.69347 8620.758794 6014.688442
5.00E-05 13305.44221 9001.532663 6455.321608
4.00E-05 15844.29648 9694.778894 6724.738693
3.00E-05 17291.77387 10665.48241 7055.80402
2.00E-05 20753.56281 11822.9397 7763.41206
1.00E-05 27708.19598 15788.16583 8749.050251
9.00E-06 29358.8593 15766.86935 8879.41206
8.00E-06 30689.87437 16904.54774 9387.150754
7.00E-06 33437.22111 18446.72864 9532.648241
6.00E-06 36960.63819 18505.60302 9957.683417
5.00E-06 40669.92462 19916.76884 10661.56281
4.00E-06 44594.04523 20718.10553 11025.0402
3.00E-06 51522.10553 26158.03518 11653.63317
2.00E-06 67583.53266 26274.55779 13076.9196
1.00E-06 107224.5276 37806.51759 15184.58794

現在做第3個網絡

d2(mnist0  ; 4x/9=1, 3x/9=0.6,2x/9=0.1)81-con(3*3)49-30-2-(2*k) ,k∈{0,1}

讓mnist 0向1,0收斂,右邊的是讓x向 0,1收斂。但讓x在1,0.6,0.1之間随機。讓1:0.6:0.1的比例是4:3:2.

具體進樣順序
進樣順序 疊代次數
δ=0.5
mnist 0-1 1 判斷是否達到收斂
4x/9=1, 3x/9=0.6,2x/9=0.1 2 判斷是否達到收斂
梯度下降
mnist 0-2 3 判斷是否達到收斂
4x/9=1, 3x/9=0.6,2x/9=0.1 4 判斷是否達到收斂
梯度下降
……
mnist 0-4999 9997 判斷是否達到收斂
4x/9=1, 3x/9=0.6,2x/9=0.1 9998 判斷是否達到收斂
梯度下降
……
如果4999圖檔内沒有達到收斂标準再次從頭循環
mnist 0-1 9999 判斷是否達到收斂
4x/9=1, 3x/9=0.6,2x/9=0.1 10000 判斷是否達到收斂
……
達到收斂标準記錄疊代次數,将這個過程重複199次
δ=0.4
……

相當于分類兩個圖檔集,一個圖檔集是mnist的0另一個圖檔集隻有三張圖檔,三張圖檔被取樣的機率是4:3:2

得到的資料

用0和x二分類
1:0.6:0.1=4:3:2
f2[0] f2[1] 疊代次數n 平均準确率p-ave δ 耗時ms/次 耗時ms/199次 耗時min/199次 最大準确率p-max
0.498465855 0.504407153 15.40201005 0.509835228 0.5 715.7839196 142442 2.374033333 0.822695035
0.607975726 0.391821652 1068.59799 0.488159473 0.4 869.080402 172949 2.882483333 0.894089835
0.714811563 0.28557279 1373.130653 0.548907659 0.3 944.959799 188063 3.134383333 0.995744681
0.815422226 0.184650986 1511.291457 0.594190812 0.2 1010.125628 201031 3.350516667 0.997635934
0.9131958 0.086833451 1666.718593 0.628121696 0.1 1038.889447 206755 3.445916667 0.996690307
0.991909048 0.00809399 2555.060302 0.628088433 0.01 1199.376884 238692 3.9782 0.997635934
0.999220131 7.80E-04 4194.979899 0.578426411 0.001 1489.859296 296483 4.941383333 0.996690307
0.999925034 7.48E-05 8077.261307 0.535775806 1.00E-04 1884.336683 374999 6.249983333 0.992434988
0.999929893 7.01E-05 8569.532663 0.539446642 9.00E-05 2150.693467 427989 7.13315 0.99858156
0.999936335 6.37E-05 9286.849246 0.521059197 8.00E-05 2265.557789 450862 7.514366667 0.996690307
0.999946467 5.35E-05 9572.59799 0.530955011 7.00E-05 2363.477387 470350 7.839166667 0.996690307
0.999953363 4.67E-05 9702.276382 0.545488673 6.00E-05 2383.447236 474308 7.905133333 0.995271868
0.999961078 3.89E-05 10840.82915 0.522461005 5.00E-05 2490.025126 495516 8.2586 0.996217494
0.999968703 3.13E-05 12212.41709 0.550059993 4.00E-05 2731.316583 543536 9.058933333 0.996217494
0.999976775 2.32E-05 13375.83417 0.530218468 3.00E-05 2159.150754 429681 7.16135 0.99858156
0.999983578 1.64E-05 15823.60302 0.534046117 2.00E-05 3254.648241 647681 10.79468333 0.989598109
0.999992049 7.94E-06 20360.31658 0.517267187 1.00E-05 3999.110553 795827 13.26378333 0.963120567
0.999992974 7.02E-06 20639.1005 0.514891241 9.00E-06 4148.809045 825613 13.76021667 0.991962175
0.999993747 6.26E-06 21407.29146 0.524893973 8.00E-06 4191.396985 834088 13.90146667 0.997635934
0.999994533 5.47E-06 25353.76382 0.511042209 7.00E-06 4840.41206 963258 16.0543 0.992434988
0.999995284 4.72E-06 24650.38693 0.527557409 6.00E-06 4721.844221 939647 15.66078333 0.989598109
0.999996007 3.99E-06 27221.62312 0.53021134 5.00E-06 5143.045226 1023466 17.05776667 0.988179669
0.999996817 3.18E-06 29481.81407 0.539643846 4.00E-06 5316.748744 1058033 17.63388333 0.996217494
0.999997542 2.46E-06 35670.74874 0.523297338 3.00E-06 7065.874372 1406110 23.43516667 0.997635934
0.999998413 1.59E-06 43239.72362 0.521408461 2.00E-06 9577.733668 1905969 31.76615 0.990543735
0.999999173 8.26E-07 64535.65327 0.510597907 1.00E-06 13978.8995 2781817 46.36361667 0.978250591

是以現在有了3個疊代次數分别是

x=1 n1
x=0.6 n0.6
x=0.1 n0.1
4x/9=1||3x/9=0.6||2x/9=0.1 n1-0.6-0.1
1 0.6 0.1 理論值 實測值 理論值/實測值
δ 疊代次數n 疊代次數n 疊代次數n n1*4/9+n0.6*3/9+n0.1*2/9    
0.5 17.40201005 18.7839196 17.87437186 17.96761586 15.40201005 1.166576038
0.4 951.2110553 1117.532663 1408.577889 1108.288666 1068.59799 1.037142757
0.3 1144.577889 1415.271357 1720.517588 1362.795645 1373.130653 0.992473398
0.2 1313.633166 1623 1995.110553 1568.194863 1511.291457 1.037652172
0.1 1505.824121 1821.562814 2243.834171 1775.072585 1666.718593 1.06501037
0.01 2362.115578 2582.668342 3001.552764 2577.730318 2555.060302 1.008872596
0.001 4129.020101 3895.211055 4007.532663 4024.086544 4194.979899 0.959262414
1.00E-04 10353.37186 7057.452261 5532.668342 8183.464545 8077.261307 1.013148422
9.00E-05 10653.93467 7175.934673 5683.753769 8390.116695 8569.532663 0.979063506
8.00E-05 11292.43719 7392.497487 6131.934673 8845.67895 9286.849246 0.952495159
7.00E-05 11761.11055 8186.427136 6106.919598 9313.062535 9572.59799 0.972887668
6.00E-05 12657.69347 8620.758794 6014.688442 9835.825237 9702.276382 1.013764693
5.00E-05 13305.44221 9001.532663 6455.321608 10348.55667 10840.82915 0.954590884
4.00E-05 15844.29648 9694.778894 6724.738693 11767.88889 12212.41709 0.96360031
3.00E-05 17291.77387 10665.48241 7055.80402 12808.35008 13375.83417 0.957573929
2.00E-05 20753.56281 11822.9397 7763.41206 14889.98827 15823.60302 0.940998599
1.00E-05 27708.19598 15788.16583 8749.050251 19521.7091 20360.31658 0.958811668
9.00E-06 29358.8593 15766.86935 8879.41206 20277.20771 20639.1005 0.98246567
8.00E-06 30689.87437 16904.54774 9387.150754 21360.82691 21407.29146 0.997829499
7.00E-06 33437.22111 18446.72864 9532.648241 23128.26298 25353.76382 0.912222073
6.00E-06 36960.63819 18505.60302 9957.683417 24808.30318 24650.38693 1.006406238
5.00E-06 40669.92462 19916.76884 10661.56281 27083.68118 27221.62312 0.994932634
4.00E-06 44594.04523 20718.10553 11025.0402 29175.61977 29481.81407 0.989614129
3.00E-06 51522.10553 26158.03518 11653.63317 34207.75489 35670.74874 0.958986175
2.00E-06 67583.53266 26274.55779 13076.9196 41701.29369 43239.72362 0.964420912
1.00E-06 107224.5276 37806.51759 15184.58794 63631.87102 64535.65327 0.985995613
用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2
用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

從數值看

用矩陣内積的辦法構造疊代次數受控的神經網絡1:0.6:0.1=4:3:2

這個公式還是符合的很好的。

表明神經網絡的疊代次數可以被看作是一個線性變量可以用機率矩陣和疊代次數矩陣的點積來計算。

将兩組圖檔分組應該至少區分點的分布,數值大小和對稱關系這3個屬性,在實驗

《圖檔的三種可能屬性:點的分布規律,數值大小,對稱關系》以表明疊代次數曲線不攜帶對稱關系屬性。是以盡管疊代次數可能是連續的,有很多種可能構造出同一個值,但并不表明有相同的分辨能力,

實驗參數

學習率 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

繼續閱讀