好久不写了,几点这次项目经验吧,本次训练位多任务训练,主要目的训练人脸角度,具体公司项目不细谈。

讲一下主要碰到的坑:

1 最主要问题,网络结构不对称,导致主任务与辅助任务之间的梯度关系不平衡从而导致没法收敛!!!!真的是调参调的心都碎了,最后显示梯度发现这个问题

caffe显示梯度代码:https://blog.csdn.net/jyli2_11/article/details/74989852

其间做过的其他尝试:

1.1 先训练辅助任务, 采用SGD设置大学习率,辅助任务下降至符合要求以后再训练主任务------结果主任务降不下来

1.2 先主任务后辅助,与上面差不多

1.3 交替训练,各跑几轮,都降不下来。。。。。我想死了已经

1.4 以训练终极应达到的loss为标准配比损失函数权重

1.5 以训练过程中的loss基本相同为标准配比损失函数权重

1.6 使用不同的优化方法,主要包括SGD和AdaDelta

以上在没改网络之前都是没用的东西,再改了网络以后采用1.5方法下降速度比较快

所以网络结构很重要!!!虽然其他大佬跟我讲我这个收敛不下来的问题应该网络不是主要原因,但这是我自己经验好吧,先记着。

具体说一下网络结构,使用Mobilenet基础上进行简化,上面讲的没对称指的就是分任务的时候没有同样使用Conv-BN-Scale-Relu结构,直接使用Conv-TanH导致上诉问题,

其实说白了也不是结构对称,就是差个归一化,导致梯度不一样

贴个美美的图吧

2 再讲一点关于caffe的

本次多任务使用主要使用concat层以及slice层,slice层图见上,concat层

数据输入部分采用ImageData格式,比原来那个好用的不行,强烈推荐

因为训练图片只有18W零旋转角度样本,其他角度需要代码生成,所以需要改一定的caffe源码

具体更改Image_Data_Layer.cpp方法见 https://www.cnblogs.com/haiyang21/p/7182676.html?utm_source=itdadao&utm_medium=referral

没改他这么多,自己调着用就行,主要注意top[1]初始化空间分配问题

ok,就讲这么多了,咖啡电视走起来~

DL杂谈的更多相关文章

  1. DIV+CSS中标签dl dt dd常用的用法

    转自:http://smallpig301.blog.163.com/blog/static/9986093201010262499229/ < dl>< /dl>用来创建一个 ...

  2. [CUDA] CUDA to DL

    又是一枚祖国的骚年,阅览做做笔记:http://www.cnblogs.com/neopenx/p/4643705.html 这里只是一些基础知识.帮助理解DL tool的实现. “这也是深度学习带来 ...

  3. 深度学习 - DL

    雷锋网 - 2016 | 人工智能在深度学习领域的前世今生(原文链接) Deep Learning - DL,深度学习是机器学习的一种. 深度学习最重要的作用:表示学习 深度学习实践的四个关键要素 计 ...

  4. 【转】PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数

    原文地址: PHP 杂谈<重构-改善既有代码的设计>之一 重新组织你的函数 思维导图   点击下图,可以看大图.    介绍   我把我比较喜欢的和比较关注的地方写下来和大家分享.上次我写 ...

  5. [DL学习笔记]从人工神经网络到卷积神经网络_2_卷积神经网络

    先一层一层的说卷积神经网络是啥: 1:卷积层,特征提取 我们输入这样一幅图片(28*28): 如果用传统神经网络,下一层的每个神经元将连接到输入图片的每一个像素上去,但是在卷积神经网络中,我们只把输入 ...

  6. 动态加载框架DL分析

    动态加载框架DL分析 插件化开发,主要解决三个问题1.动态加载未安装的apk,dex,jar等文件2.activity生命周期的问题,还有service3.Android的资源调用的问题 简单说一下怎 ...

  7. HTML 列表 <ol><ul><li><dl><dt><dd>

    <ol>标签-有序列表 定义和用法: <ol>标签定义有序列表. HTML 与 XHTML 之间的差异 在 HTML 4.01 中,ol 元素的 "compact&q ...

  8. ul和dl的区别

    列表中有标题的时候就用dl,没有的话就用ul

  9. 【管理心得之三十二】PMP杂谈---------爱情必胜术

    这次一反常态,没有场景设计,我想借此文普及一下PMP是什么? 但我不知道这样枯燥的话题能否能引起你的兴趣,我不得不套用“标题党”<爱情必胜术>来博你眼球. 我真没有说谎,此文是献给那些孤身 ...

随机推荐

  1. Android 红色小圆球提示气泡 BadgeView

    今天给大家分享两个实用有简单的一个小圆球提示气泡: BadgeView 参考地址: https://github.com/qstumn/BadgeView;       个人地址:http://git ...

  2. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

    sftp -b batchfile username@remote_host 报错:Permission denied (publickey,gssapi-keyex,gssapi-with-mic, ...

  3. android菜鸟学习笔记10----Intent及<intent-filter>

    关于Bundle: 注意到Activity的onCreate()方法的签名是protected void onCreate(Bundle savedInstanceState),其参数是一个Bundl ...

  4. VC调用Delphi DLL

    别的没什么,是一定可以调用成功的.但是意外的是,ShowMessage函数在DLL里也可以轻易被调用.此外,Delphi里的var 相当于VC里的引用,需要在函数原型里正确标识,否则传递普通变量甚至常 ...

  5. 记录Elasticsearch的一次坑

    Elasticsearch建立mapping关系时,默认会给string类型加上分词. 所以例如openid这种,如果你用默认的分词,就可能会出现查不到数据的情况. 解决方案: 1.将数据备份 2.r ...

  6. python数据分析之:数据加载,存储与文件格式

    前面介绍了numpy和pandas的数据计算功能.但是这些数据都是我们自己手动输入构造的.如果不能将数据自动导入到python中,那么这些计算也没有什么意义.这一章将介绍数据如何加载以及存储. 首先来 ...

  7. python cookbook第三版学习笔记五:datetime

    Python中表示时间的模块是datetime,引入下面的模块 from datetime import datetime,timedelta print datetime.today()  #打印出 ...

  8. web前端开发-Ajax(1)

    1.简单简绍Ajax的功能 Ajax是处于前端和后端之间的这么一个东西,他可以拿到你前端form的内容,并且在你触发Ajax的时候,先将某些数据发送到服务器端,等接受到服务器 返回的数据时,执行某个函 ...

  9. Android系统Gps分析(一)【转】

    本文转载自:http://blog.csdn.net/xnwyd/article/details/7198728 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   1 G ...

  10. Contiki Rtimer 模块

    一.rtimer概述 The Contiki rtimer library provides scheduling and execution of real-time tasks (with pre ...