神经网络迭代次数的线性累加现象

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

 

本文原始数据比较多有感兴趣的朋友可以到我的资源里下载

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黑榆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值