DL杂谈
好久不写了,几点这次项目经验吧,本次训练位多任务训练,主要目的训练人脸角度,具体公司项目不细谈。
讲一下主要碰到的坑:
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杂谈的更多相关文章
- DIV+CSS中标签dl dt dd常用的用法
转自:http://smallpig301.blog.163.com/blog/static/9986093201010262499229/ < dl>< /dl>用来创建一个 ...
- [CUDA] CUDA to DL
又是一枚祖国的骚年,阅览做做笔记:http://www.cnblogs.com/neopenx/p/4643705.html 这里只是一些基础知识.帮助理解DL tool的实现. “这也是深度学习带来 ...
- 深度学习 - DL
雷锋网 - 2016 | 人工智能在深度学习领域的前世今生(原文链接) Deep Learning - DL,深度学习是机器学习的一种. 深度学习最重要的作用:表示学习 深度学习实践的四个关键要素 计 ...
- 【转】PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
原文地址: PHP 杂谈<重构-改善既有代码的设计>之一 重新组织你的函数 思维导图 点击下图,可以看大图. 介绍 我把我比较喜欢的和比较关注的地方写下来和大家分享.上次我写 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_2_卷积神经网络
先一层一层的说卷积神经网络是啥: 1:卷积层,特征提取 我们输入这样一幅图片(28*28): 如果用传统神经网络,下一层的每个神经元将连接到输入图片的每一个像素上去,但是在卷积神经网络中,我们只把输入 ...
- 动态加载框架DL分析
动态加载框架DL分析 插件化开发,主要解决三个问题1.动态加载未安装的apk,dex,jar等文件2.activity生命周期的问题,还有service3.Android的资源调用的问题 简单说一下怎 ...
- HTML 列表 <ol><ul><li><dl><dt><dd>
<ol>标签-有序列表 定义和用法: <ol>标签定义有序列表. HTML 与 XHTML 之间的差异 在 HTML 4.01 中,ol 元素的 "compact&q ...
- ul和dl的区别
列表中有标题的时候就用dl,没有的话就用ul
- 【管理心得之三十二】PMP杂谈---------爱情必胜术
这次一反常态,没有场景设计,我想借此文普及一下PMP是什么? 但我不知道这样枯燥的话题能否能引起你的兴趣,我不得不套用“标题党”<爱情必胜术>来博你眼球. 我真没有说谎,此文是献给那些孤身 ...
随机推荐
- Python 单元测试 之setUP() 和 tearDown()
setUp:表示前置条件,它在每一个用例执行之前必须会执行一次 setUp可以理解为我们需要自动化测试时,需要打开网页窗口,输入对应测试地址,这一些属于前置条件. tearDown:表示释放资源,它在 ...
- HDU 1853 Cyclic Tour[有向环最小权值覆盖]
Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/65535 K (Java/Others)Total ...
- android菜鸟学习笔记9----Activity(二)
关于Activity的生命周期: 下面是Activity整个生命周期中,状态发生变化时所回调的方法,它们对应着Activity完整的生命过程. void onCreate(Bundle savedI ...
- MaLoc: a practical magnetic fingerprinting approach to indoor localization using smartphones
https://www.indooratlas.com/ MaLoc: a practical magnetic fingerprinting approach to indoor localizat ...
- 使用Fiddler测试HTTP接口
Fiddler下载地址:https://www.telerik.com/download/fiddler/fiddler4 在测试http接口前,为避免干扰,我们启用过滤器 然后运行过滤器设置 我们以 ...
- spring 获取bean的几种方式
1.读取xml文件的方式,这种在初学入门的时候比较适用 . ApplicationContext applicationContext = new ClassPathXmlApplicationCon ...
- vector缩减容量
在C++标准库容器vector的容量是不会自动的缩减的,也就是说删除元素操作,其引用.指针.迭代器也会继续有效.那么当在一个较大的vector中删除了大量的元素之后,其实际的size比较小,而其cap ...
- uboot 2013.01 s3c6400编译失败
通常我们对s3c6410平台开发u-boot是在s3c6400的基础上修改而成的,但是从uboot 2013.01这个版本之后的版本都把smdk6400对应的配置给删除了. 这是因为该版本smdk64 ...
- debian7 amd64版本添加对x86包的支持
dpkg --add-architecture i386apt-get updateapt-get install ia32-libs ia32-libs-gtk
- Android4.4 GPS框架分析【转】
本文转载自:http://blog.csdn.net/junzhang1122/article/details/46674569 GPS HAL层代码在目录trunk/Android/hardware ...