神经网络迭代次数的数学构成

每个神经网络对应每个收敛标准δ都有一个特征的迭代次数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的点积

为了验证这个关系构造了等式

制作一个二分类网络区分数据集mnist0和数据集B,其中B中只有两张图片两张图片被抽样到的概率比是7:3.

 

本文验算这个表达式是否正确

实验过程

制作一个带一个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  ; 70% x=1, 30%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的比例是7:3.

具体进样顺序

   

 

进样顺序

迭代次数

  

 

δ=0.5

   

 

mnist 0-1

1

 

判断是否达到收敛

70% x=1,30% x=0.1

2

 

判断是否达到收敛

梯度下降

   

 

mnist 0-2

3

 

判断是否达到收敛

70% x=1,30% x=0.1

4

 

判断是否达到收敛

梯度下降

   

 

……

   

 

mnist 0-4999

9997

 

判断是否达到收敛

70% x=1,30% x=0.1

9998

 

判断是否达到收敛

梯度下降

   

 

……

   

 

如果4999图片内没有达到收敛标准再次从头循环

 

 

mnist 0-1

9999

 

判断是否达到收敛

70% x=1,30% x=0.1

10000

 

判断是否达到收敛

……

   

 

达到收敛标准记录迭代次数,将这个过程重复199次,取平均

  

 

δ=0.4

   

 

……

   

 

相当于分类两个图片集,一个图片集是mnist的0另一个图片集只有两张图片,两张图片被取样的概率是7:3

得到的数据

用0和x二分类

        

1:0.1=7:3

        
         

f2[0]

f2[1]

迭代次数n

平均准确率p-ave

δ

耗时ms/次

耗时ms/199次

耗时min/199次

最大准确率p-max

0.502766167

0.498438788

16.89447236

0.500913551

0.5

713.4773869

141997

2.366616667

0.926713948

0.608346966

0.391795164

1069.512563

0.477824109

0.4

889.9497487

177116

2.951933333

0.946099291

0.713220097

0.286685412

1283.241206

0.550461527

0.3

918.8994975

182877

3.04795

0.994799054

0.81561914

0.184037021

1421.693467

0.592434988

0.2

946.2060302

188295

3.13825

0.996690307

0.912185353

0.087938344

1701.321608

0.638827708

0.1

991.1859296

197262

3.2877

0.996690307

0.991788205

0.008210193

2598.407035

0.605723654

0.01

676.4773869

134619

2.24365

0.996690307

0.999231196

7.69E-04

4168.899497

0.55280421

0.001

1414.160804

281418

4.6903

0.996690307

0.999924902

7.51E-05

8854.396985

0.515128836

1.00E-04

2244.592965

446674

7.444566667

0.998108747

0.999928081

7.19E-05

9283.763819

0.530389536

9.00E-05

2297.58794

457220

7.620333333

0.994326241

0.999935669

6.43E-05

9880.266332

0.520472338

8.00E-05

2392.567839

476122

7.935366667

0.986761229

0.999944152

5.58E-05

10601.24121

0.532264158

7.00E-05

2505.40201

498591

8.30985

0.997163121

0.999952671

4.73E-05

10848.90955

0.53355192

6.00E-05

2547.145729

506914

8.448566667

0.997635934

0.99995988

4.01E-05

11631.47236

0.535542963

5.00E-05

2689.668342

535245

8.92075

0.993380615

0.999968882

3.11E-05

12720.22613

0.55244069

4.00E-05

2134.442211

424754

7.079233333

0.998108747

0.999976519

2.35E-05

13737.0201

0.544514535

3.00E-05

3031.844221

603338

10.05563333

0.991962175

0.999984538

1.55E-05

17248.18593

0.52698243

2.00E-05

3657.703518

727887

12.13145

0.994799054

0.999992179

7.83E-06

22052.75879

0.528897442

1.00E-05

4364.21608

868495

14.47491667

0.995271868

0.99999317

6.83E-06

24384.80905

0.511448495

9.00E-06

4749.442211

945139

15.75231667

0.996690307

0.999993717

6.28E-06

26705.69347

0.521218385

8.00E-06

4640.160804

923393

15.38988333

0.998108747

0.999994442

5.55E-06

27993.34171

0.527341198

7.00E-06

5443.035176

1083165

18.05275

0.995271868

0.999995217

4.78E-06

28507.85427

0.513510816

6.00E-06

5401.894472

1074977

17.91628333

0.99858156

0.99999597

4.03E-06

32254.60804

0.531187854

5.00E-06

5895.522613

1173209

19.55348333

0.991016548

0.999996785

3.22E-06

33503.83417

0.52082873

4.00E-06

6474.693467

1288464

21.4744

0.997635934

0.99999755

2.45E-06

40578.65829

0.532316428

3.00E-06

7652.869347

1522922

25.38203333

0.997163121

0.999998323

1.68E-06

52578.50754

0.510424463

2.00E-06

9643.909548

1919170

31.98616667

0.988652482

0.99999916

8.40E-07

74879.58291

0.515432957

1.00E-06

14311.54271

2847998

47.46663333

0.992907801

所以现在有了3个迭代次数分别是

x=1

n1

x=0.1

n0.1

0.7x=1||0.3x=0.1

n1-0.1

验算n1-0.1与n1和n0.1之间的关系

7:3

 

1

0.1

理论值

实测值

 

δ

 

迭代次数n1

迭代次数n0.1

0.7*n1+0.3*n0.1

 

理论值/实测值

0.5

16.89447236

17.40201005

17.87437186

17.54371859

16.89447236

1.038429506

0.4

1069.512563

951.2110553

1408.577889

1088.421106

1069.512563

1.017679589

0.3

1283.241206

1144.577889

1720.517588

1317.359799

1283.241206

1.026587825

0.2

1421.693467

1313.633166

1995.110553

1518.076382

1421.693467

1.067794441

0.1

1701.321608

1505.824121

2243.834171

1727.227136

1701.321608

1.015226708

0.01

2598.407035

2362.115578

3001.552764

2553.946734

2598.407035

0.982889401

0.001

4168.899497

4129.020101

4007.532663

4092.573869

4168.899497

0.98169166

1.00E-04

8854.396985

10353.37186

5532.668342

8907.160804

8854.396985

1.005959053

9.00E-05

9283.763819

10653.93467

5683.753769

9162.880402

9283.763819

0.986979051

8.00E-05

9880.266332

11292.43719

6131.934673

9744.286432

9880.266332

0.986237223

7.00E-05

10601.24121

11761.11055

6106.919598

10064.85327

10601.24121

0.949403289

6.00E-05

10848.90955

12657.69347

6014.688442

10664.79196

10848.90955

0.983028931

5.00E-05

11631.47236

13305.44221

6455.321608

11250.40603

11631.47236

0.967238341

4.00E-05

12720.22613

15844.29648

6724.738693

13108.42915

12720.22613

1.030518562

3.00E-05

13737.0201

17291.77387

7055.80402

14220.98291

13737.0201

1.035230553

2.00E-05

17248.18593

20753.56281

7763.41206

16856.51759

17248.18593

0.977292201

1.00E-05

22052.75879

27708.19598

8749.050251

22020.45226

22052.75879

0.998535034

9.00E-06

24384.80905

29358.8593

8879.41206

23215.02513

24384.80905

0.95202817

8.00E-06

26705.69347

30689.87437

9387.150754

24299.05729

26705.69347

0.90988303

7.00E-06

27993.34171

33437.22111

9532.648241

26265.84925

27993.34171

0.938289166

6.00E-06

28507.85427

36960.63819

9957.683417

28859.75176

28507.85427

1.012343878

5.00E-06

32254.60804

40669.92462

10661.56281

31667.41608

32254.60804

0.981795099

4.00E-06

33503.83417

44594.04523

11025.0402

34523.34372

33503.83417

1.030429638

3.00E-06

40578.65829

51522.10553

11653.63317

39561.56382

40578.65829

0.974935237

2.00E-06

52578.50754

67583.53266

13076.9196

51231.54874

52578.50754

0.974381951

1.00E-06

74879.58291

107224.5276

15184.58794

79612.54573

74879.58291

1.063207655

 

 

从数值看

这个公式还是符合的很好的。

表明这个表达式是有价值的。

 

实验参数

学习率 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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑榆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值