Caffe上的训练技巧总结


最近需要在他人代码基础上做修改,由于是caffe代码,那么需要花费一段时间来适应,把自己一些调参技巧总结出来,包括网上别人的经验。

Caffe相关超参含义

caffe网络结构的定义和其它平台列如pytorch、tensorflow相似,所以对于从别的平台转过来的我来说,理解caffe中的相关超参能让我快速上手caffe。

  • net:网络结构的配置文件
  • lr_policy:学习率更新策略
  • base_lr:初始学习率
  • gamma:学习率降低的倍数
  • iter_size:网络参数更新间隔
  • stepsize:学习率更新间隔
  • average_loss:取最近iters的平均值
  • display:打印信息的间隔
  • max_iter:最大迭代次数
  • momentum:动量值
  • weight_decay:权重衰减的正则化参数
  • snapshot:模型保存间隔
  • snapshot_prefix:模型保存路径及文件名前缀
  • solver_mode:GPU或者CPU方式

调参经验

  1. finetune时,记得固定网络前几层,只训练后面部分(有跨连接层时,记得锁住它的梯度回传),因为网络底层学习的细节信息在很多任务都是通用的,往往发生改变的都是高层需要学习的语义信息,最终整个网络再一起训练。
  2. finetune时,也可以把网络后面部分学习率增大,前面学习率不变(相比上一种方式效果往往更好)。
  3. 一般使用高斯分布初始化参数权重(图像处理界中有三个无脑用:xavier,relu,3x3)。
  4. 网络已收敛,可以学习率乘以0.1继续学习,直到loss不在下降。
  5. caffe中,use_global_stats==true时,会强制使用模型中存储的BatchNorm层均值和方差参数,而非基于当前batch(随机初始化开始训练用false,加载预训练权重可用true)。
  6. 常用超参设置,学习率取0.001,weight decay取0.005或者0.0005;momentum取0.9;caffe中一般层卷积lr_mult为1、decay_mult为1,bias为false;输出层的bias为true,bias的lr_mult为2、decay_mult为0;BatchNorm的lr_mult都为0;Scale的lr_mult都为0;Deconvolution的lr_mult、decay_mult都为0。
  7. caffe中需要固定网络底层所有权重时,在梯度回传需要终止的层里加入参数:propagate_down:0,指不会往下传递梯度信息;假若要固定某一个layer的权重,把此layer的lr_mult置为0,指此layer不更新权重。
  8. 网络学习的主要内容在底层与高层,少量中间层。
  9. 验证方案可行性时,可以再验证集上快速训练,查看效果。
  10. 可以发现在目前很多计算机视觉任务中,网络结构一般都只有三次下采样,采用空洞卷积保持同样感受野,与以前的图片分类任务不同,因为目前很多任务都是pixel级别,需要更多的保留空间信息。
  11. SGD搭配momentum刚开始快下降,后期震荡下降(隔段时间会出现新的最低loss)且收敛超级慢,但是能收敛到非常好的效果,适用于最终效果(精调SGD,手动调学习率)。
  12. Adam收敛一直很快,效果也不错,但结果不一定有SGD精调的好,适用于快速验证模型。
  13. 可以尝试先Adam再SGD的策略,Adam中有三个超参:一阶动量momentum 0.9,二阶动量momentum2 0.999,防零除数delta 1e-8

Finetune经验

需要把ResNet101上的效果效果迁移到ResNet50上去(res4削去后18层,use_global_stats都为true),使用SGD优化,手动调学习率:

  1. 前三个stage网络层的学习率不变(lr_mult: 1),后两个stage网络层的学习率*10(lr_mult: 10),基础学习率降低10倍(乘以0.1,即由5e-8变成5e-9)。
  2. 第一阶段:基础学习率5e-9,迭代次数3000
    第二阶段:基础学习率5e-10,迭代次数4000
    第三阶段:基础学习率5e-11,迭代次数5000
  3. 统一整个网络层的学习率(lr_mult: 1),基础学习率5e-11,迭代次数5000。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342