cifar10训练困在86.40分已经有十天左右了!到了这种地步,推进0.5分都是极大的奢侈!
而今天奢侈的很,cifar100训练进步了2分!
当前我有两个版本突破60,关于cifar100训练测试!
两个版本全都相同,都是darknet残差方式!区别在于残差中调用mul函数不同:
global void mul(float* a, float* b, float* c, int N) {
int index = blockIdx.x * blockDim.x + threadIdx.x;
if (index < N) {
//正确的!
cindex = aindex * bindex ;//借鉴darknet,leakyrelu放在add之前了202607101514
//数学推导板上钉钉的公式
}
}
下面这个版本发现有错误,但奇怪的是他训练过程及其稳定!均值方差非常好!
global void mul(float* a, float* b, float* c, int N) {
int index = blockIdx.x * blockDim.x + threadIdx.x;
if (index < N) {
cindex = aindex * (bindex > 0 ? 1 : 0.1);//错误之处!
//cindex = aindex * (bindex > 0 ? 1 : 0.1);//之前最优版本,leakyrelu放在add之后
}
}
其实这个错误不经意间犯得最为值得!这两天反思后,觉得取得了举一反三的结果,我更加明白了relu是怎么在神经网络中被发明了!
他和上面这个错误息息相关!
bindex其实是反向传播的梯度,在这里不经意归一化了!(以为搞错了!实际歪打正着,这是对数学公式对战唯一的一次胜利!)
想想从前,每一幅图输入时每一个像素灰度都是0到255之间的整数,为了归一化,我们每个像素都乘以1/255,归一化的神经网络输入好处我就不说了!
其实梯度在累加的过程中,会很大!而无意中使用bindex > 0 ? 1 : 0.1,使得梯度得到了归一化!从而取得与数据输入归一化异曲同工的效果!
今天在这个稳定的错误程序中加入动量!竟然突破了62分!
反而,前几天在上面正确的版本中加入动量,成绩不进反退!
这个62分,还有一个不经意的功劳!加入动量后学习率0.001降为0.0006开始训练,当训练成绩>=20,lr=0.001忘记注释掉了!反而意想不到!
两个弄巧成拙!凑了一台好戏!
均值方差控制的也不错!(使用了标签平滑!)
轮次:39
learn rate:1e-05
时间: 57338.640625 ms
train Classification result: 96.84% ok (used 49984 images)
rb均值: 3.1559176445,rb方差:6.339084625244
rb均值: -3.5237095356,rb方差:16.553157806396
rb均值: 1.3194233179,rb方差:8.603158950806
rb均值: -0.2647599578,rb方差:5.307930469513
rb均值: -2.6401040554,rb方差:7.876890659332
rb均值: -0.9736434817,rb方差:7.387883663177
rb均值: -6.9212861061,rb方差:15.886942863464
rb均值: 4.6336851120,rb方差:11.679138183594
rb均值: -1.6870222092,rb方差:9.741674423218
rb均值: -10.9639501572,rb方差:26.401962280273
rb均值: 2.9199206829,rb方差:24.300241470337
rb均值: 0.6499052644,rb方差:8.130165100098
rb均值: -25.6357288361,rb方差:135.308609008789
rb均值: 3.7694642544,rb方差:7.570552825928
rb均值: -2.5074608326,rb方差:73.662803649902
rb均值: -4.2826662064,rb方差:6.955929279327
rb均值: 0.3805699348,rb方差:7.165820598602
rb均值: -5.8621630669,rb方差:11.628858566284
rb均值: -22.3512954712,rb方差:95.594551086426
rb均值: -2.6342554092,rb方差:15.822338104248
rb均值: 3.8364806175,rb方差:10.831961631775
rb均值: 0.5539311171,rb方差:6.120437622070
rb均值: 2.3127861023,rb方差:8.183695793152
rb均值: 2.3640151024,rb方差:23.573930740356
rb均值: 3.6155755520,rb方差:47.077365875244
rb均值: 8.2053003311,rb方差:36.803733825684
rb均值: -0.3376236856,rb方差:5.198929309845
rb均值: 0.4893179834,rb方差:5.987854957581
rb均值: -1.2076964378,rb方差:23.403068542480
rb均值: 0.6159626842,rb方差:17.505569458008
rb均值: -1.4596841335,rb方差:7.159701824188
rb均值: 0.7051710486,rb方差:8.308012008667
rb均值: 0.5167669058,rb方差:36.500518798828
rb均值: -0.6483759284,rb方差:16.459644317627
rb均值: 0.0398292392,rb方差:5.606358528137
rb均值: -0.2383923382,rb方差:10.584978103638
rb均值: 0.2039899230,rb方差:10.883444786072
rb均值: 0.8533190489,rb方差:14.274778366089
rb均值: -0.7949096560,rb方差:5.958536624908
rb均值: 1.4553885460,rb方差:6.059937000275
rb均值: -0.3263475299,rb方差:6.012618541718
rb均值: -0.6245368123,rb方差:11.667125701904
rb均值: 7.4970045090,rb方差:45.726276397705
rb均值: 5.9974436760,rb方差:28.262134552002
rb均值: -1.7554030418,rb方差:23.797418594360
rb均值: -3.2541863918,rb方差:5.393849849701
rb均值: 0.5163502097,rb方差:8.745270729065
rb均值: 3.2103307247,rb方差:16.865434646606
rb均值: -1.9630352259,rb方差:12.948085784912
rb均值: -4.1114406586,rb方差:12.020648002625
rb均值: 1.6654202938,rb方差:31.438783645630
rb均值: -2.0312099457,rb方差:6.236555576324
rb均值: -1.1618505716,rb方差:7.584306240082
rb均值: -1.0794583559,rb方差:8.178300857544
rb均值: -0.4213424921,rb方差:8.683448791504
rb均值: -1.2669473886,rb方差:6.423748970032
时间: 3887.017090 ms
Test Classification result: 61.99% ok (used 9984 images)
轮次:40
learn rate:1e-05
时间: 57416.054688 ms
train Classification result: 97.04% ok (used 49984 images)
rb均值: 3.1558451653,rb方差:6.356445789337
rb均值: -3.5246522427,rb方差:16.598445892334
rb均值: 1.3182243109,rb方差:8.637469291687
rb均值: -0.2616595328,rb方差:5.329726219177
rb均值: -2.6381053925,rb方差:7.817754745483
rb均值: -0.9726614952,rb方差:7.381344795227
rb均值: -6.9319329262,rb方差:15.897154808044
rb均值: 4.6409153938,rb方差:11.630031585693
rb均值: -1.6915422678,rb方差:9.770375251770
rb均值: -10.9564313889,rb方差:26.360956192017
rb均值: 2.9078741074,rb方差:24.331979751587
rb均值: 0.6523727775,rb方差:8.147792816162
rb均值: -25.6477527618,rb方差:135.631088256836
rb均值: 3.7666397095,rb方差:7.581957340240
rb均值: -2.5302393436,rb方差:73.965568542480
rb均值: -4.2851686478,rb方差:6.967039108276
rb均值: 0.3741289973,rb方差:7.160306930542
rb均值: -5.8671002388,rb方差:11.613038063049
rb均值: -22.3493518829,rb方差:95.644561767578
rb均值: -2.6184046268,rb方差:15.830087661743
rb均值: 3.8305666447,rb方差:10.848986625671
rb均值: 0.5516595840,rb方差:6.134596347809
rb均值: 2.2996501923,rb方差:8.210930824280
rb均值: 2.3664622307,rb方差:23.660209655762
rb均值: 3.5953993797,rb方差:47.129043579102
rb均值: 8.1882648468,rb方差:36.873538970947
rb均值: -0.3340447247,rb方差:5.210563182831
rb均值: 0.4820796549,rb方差:5.976417541504
rb均值: -1.1869524717,rb方差:23.466165542603
rb均值: 0.6079909205,rb方差:17.518922805786
rb均值: -1.4524834156,rb方差:7.172708511353
rb均值: 0.7026505470,rb方差:8.325027465820
rb均值: 0.5507266521,rb方差:36.610908508301
rb均值: -0.6370051503,rb方差:16.512233734131
rb均值: 0.0290898290,rb方差:5.638688087463
rb均值: -0.2720140815,rb方差:10.589720726013
rb均值: 0.2295146137,rb方差:10.904971122742
rb均值: 0.8787136078,rb方差:14.210704803467
rb均值: -0.8037786484,rb方差:5.956958293915
rb均值: 1.4139653444,rb方差:6.047412395477
rb均值: -0.3326930702,rb方差:6.019556999207
rb均值: -0.6094141006,rb方差:11.665938377380
rb均值: 7.4774804115,rb方差:45.858524322510
rb均值: 5.9789390564,rb方差:28.332067489624
rb均值: -1.7312602997,rb方差:23.752588272095
rb均值: -3.2733788490,rb方差:5.416170120239
rb均值: 0.5269907713,rb方差:8.756384849548
rb均值: 3.2034552097,rb方差:16.872035980225
rb均值: -1.9572863579,rb方差:12.982262611389
rb均值: -4.0963406563,rb方差:12.003026008606
rb均值: 1.6511263847,rb方差:31.409618377686
rb均值: -2.0333678722,rb方差:6.247591972351
rb均值: -1.1615767479,rb方差:7.543854236603
rb均值: -1.0620728731,rb方差:8.136231422424
rb均值: -0.4368553460,rb方差:8.672158241272
rb均值: -1.3005530834,rb方差:6.454317569733
时间: 3849.450928 ms
Test Classification result: 62.00% ok (used 9984 images)