2、讨论

2.1、caffe算法与结构

  • multi-gpu其实是在最近的model,比如说googlenet上,只需要model
    parallelism就可以了,因为参数的数量很少:)。
    caffe内部的Convolution计算是图像拉伸成向量进行的计算,这种方式会比普通的方法和fft的方法计算更快吗?放大点说,caffe做了哪些算法上的优化使得计算速度比较快呢?
答:那个其实是我的weekend hack,所以推荐大家用其他的优化,比如说cudnn等等。说实话写caffe的时候我没太关注速度。在神经网络的训练过程中,如何能够并行或者说更快地计算?主要是靠两点吧,一个是写更快的code(比如说用cudnn优化convolution),一个是写并行计算的框架(这方面我推荐用MPI入手,因为MPI虽然没有fault tolerance等等的好处,但是并行非常简单,可以作为最开始的测试)。使用gpu对计算性能进行优化,这个更多的是在code层面上调速度了,如果有兴趣的话,nvidia的nvprof应该会很有帮助。目前,caffe也有很多的branch,比如对分布式的支持,可以在parallel branch里面找到。
  • 目前dl近几年在siamese nets distances结构上的进展如何?研究思路如何?”
 答:Yann Lecun有paper:Learning a Similarity Metric Discriminatively with Application to Face Verification讲这个,值得看看。
  • dl能实现FFT吗?
答: facebook其实有fft的code,参见fbfft。
  • facebook是利用了FFT去快速计算,不是我问的意思。用傅立叶变换其实是提取了频域特征,根据应用的不同,最优的变换不一定是FT,可能是时频变换、分数阶FT等等变换。那么问题就来了:利用深度学习算法,能否学习到最优的时频特征表出?如果可以,是不是可以把信号处理里面的固定分析方法都扔掉?
答:这个我就的确不是专家了,我觉得这个有点类似于model design的问题,深度学习相当于也是设计了一大类的model,然后在这一类model当中寻找最优的,所以如果有一些oracle knowledge(比如说已有的固定分析的经验)可以知道如何rectify数据,我觉得应该还是有帮助的。
  • 用caffe纯粹做分类的话(前向),需要softmax层吗?看代码有个pro层和softmax一样吗?
答:不是很清楚pro层是哪个,不过也可以用logistic,任何传统的分类函数应该都是可以的。对于,softmax_layer和softmax_loss_layer的区别,softmax_layer是做softmax变换(就是把输入的score变成sum to 1的概率值), softmax_loss是计算prediction和true label之间的cross entropy loss function
  • 现在也有用权值不共享的卷积网络的,请问这个和权值共享网络分别更适合什么样的问题?
答:权值不共享的问题是参数太多,所以不是很好控制overfit,一般都是在网络的后期做locally connected,这对一些问题(比如说face)是个很好地tradeoff,但是还是得实际应用来测试:)
  • 用hdf5layer实现多label的过程不是很清楚,举个例子说,比如,输入低分辨图像,label是高分辨图像,这种有没有详细一点的教程,或者师兄能不能简单提一下?
答:这个主要就是要设计一个input层能够输出不同的top blob,其实caffe在这一点上做的不是很好(因为太关注classification了),可能看一下这些典型的输入层的实现会有帮助。
  • caffe能否在多个层都连接loss函数,同时进行反向传播?
答:可以的,关键是要处理好gradient merge的问题,其他都是OK的。
  • caffe实现多层loss反向传播,即在prototxt里,每一层后加上需要的loss函数,那么caffe最终的反向传播会是怎样进行的?
答:应该是这样的,每一层后面需要一个split层,把这一层的输入变成两个blob,一个继续往下传播,一个输入到loss层里面。在backprop的时候,split层会把这两条路径的gradient加起来。对于loss是什么了,比如说googlenet用到了几个branch来inject softmax,所以基本上还是要寻找和问题相关的loss term。
  • 用SGD的时候,收敛充分的前提下,不同的学习率衰减策略是不是结果都差不多?
答:恩,一般会差不多。
  • autoencoder 模型中,单个隐含层和多隐层 模型,效果差别很多啊吗?
答:这个可能和具体实现有关,隐层多了以后,representation power增加,很可能会提升效果,但是也可能会overfit,所以需要更仔细的training。

2.2、caffe工程与应用

  • 目前Caffe主要面对CV或图像的任务,但是也可以做nlp。那在移动端用深度学习可以实现实时人脸检测么?
答:人脸检测可能目前用传统方法还是很competitive的,但是做一些识别等等,我觉得目前的移动设备应该是可以支持的。DL也能和传统特征结合,即传统特征可以作为feature输入到网络里面,然后再继续做计算。
  • 对于多任务学习的DL有什么经验可以分享吗?
答:比如数据分布的均匀性的影响。数据分布均匀性一般都还是挺tricky的,实际操作上一般我觉得cap一些frequency(如果某一类太多了,就downsample一下)会使得training更好一些。
  • caffe能支持lstm、rnn的训练吗?另外,对于百度的dlmc您有什么看法?
答:Jeff Donahue有一个branch可以来做lstm,我自己在refactor的一些code应该也是可以的,但是因为公司review政策的缘故没法保证什么时候能release :) dmlc我觉得是个挺好的effort,在开源界看到更多中国学生的身影很兴奋!
  • 目前deep learning用在小数据集上有什么好的方法吗?在小数据集的问题上是不是可以通过减少网络的层数来减少过拟合?
答:小数据集基本上需要通过小的模型来防止overfit,当然如果数据集是图像等等,也可以通过finetuning。另外一个可能是直接手标更多数据,有时候糙快猛但是还挺好使的。
  • caffe对不同尺度的同一对象的分类和识别有哪些特殊的处理方法?
答:这个倒也不单是caffe的问题,在图像识别上如果需要处理不同尺度,一般就是做multi-scale的detection,可以参考一下selective search,R-CNN等等的工作。
  • 如果不使用matlab或python接口,直接在C++的caffe代码里对图像进行分类有什么好的方式吗,速度会不会比matlab和python更快?
答:我觉得速度应该差不多,因为matlab和python的overhead不会太大。(可以不使用python,直接使用c++, chrispher经过测试,速度差距还是很大的(至少一倍以上),python在预处理图像方面比较慢)。
  • CNN可以应用到对图像进行深度图提取吗?效果会怎样呢?
答:最近nyu应该有一篇stereo的文章,应该比较类似。
  • caffe的训练过程能否保持对象的旋转不变性怎样做到这点?
答:目前不是很好explicit地输入这样的constraint,主要还是靠data augmentation(输入各种旋转以后的图)来实现。
  • 怎么处理变长的图片,因为Conv对变长不明感,而且可以用Dynamic Pooling?
答:变长的图片可以用SPPNet这样的思路,最后做一个固定输出大小的pooling。
  • 用自己的数据(并不属于imagenet的1000个类)在imagenet训练的网络上做finetune时,发现怎么调整参数最后几乎都无法用来分类,这是什么原因呢?
答:这个可能需要看一下图片是否类似,比如说imagenet的模型用来做医学图像识别效果就很可能会不是很好,还是需要看这两个task的数据之间是否有相似性。
  • 用自己的数据集,且类型和和imagenet的类型不太一样(比如细胞类型),想用caff训练的话,最少得需要多少数据量,才比较好?
答:这个说不太好,所以最好还是先用一部分数据测试一下,然后你可以用从少到多的数据来训练,然后外推一下可能会需要多少数据。
  • DL中,能否预知到底学到了一个怎样的物理模型,来实现分类的?
答:目前比较困难,在图片上,大家做过一些有意思的实验来检测模型到底学了什么,可以参考karen simonyan的文章(用CNN来生成一个”最像”某一个类别的图像)
  • dl 在ctr预测上有什么好的论文或者资料么?
答:我不是很清楚,不过余凯师兄以前讲过百度用DL做CTR效果很好,所以还是很promising的。
  • 除了从分类结果看特征表出的优劣,有没有一种通行的方式去看特征表出的优劣?还有一个问题:lstm简直就是一个编码模型…以后机器学习的结构都要往电子工程上靠了吗?我觉得结构越来越复杂正背离dl的初衷了?
答:其实大家经常批评DL的问题就是说,我们从设计feature变成了设计model(我记得原话是jitendra malik讲的,我太八卦了)。所以这个的确也是一个难解的问题,兴许我们可以做一个算法来自动生成很多model然后evolve这些model?MIT曾经有一篇paper来自动学习网络的结构,但是目前state of the art的模型还经常靠手调。

贾扬清的个人主页:http://daggerfs.com/
转自:http://www.datakit.cn/blog/2015/06/12/online_meet_up_with_yangqing_jia.html

Caffe深度学习框架作者贾扬清online内容分享II相关推荐

  1. Caffe 深度学习框架上手教程

    转载自: Caffe 深度学习框架上手教程 - OPEN 开发经验库 http://www.open-open.com/lib/view/open1421995285109.html 阅读目录 Caf ...

  2. Caffe 深度学习框架介绍

    转自:http://suanfazu.com/t/caffe/281 Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,目前在Google工作. Caffe是 ...

  3. Caffe深度学习框架上手教程

    Caffe是一个清晰而高效的深度学习框架,本文详细介绍了caffe的优势.架构,网络定义.各层定义,Caffe的安装与配置,解读了Caffe实现的图像分类模型AlexNet,并演示了CIFAR-10在 ...

  4. caffe深度学习框架入门

    首先看一下这一篇,有一个大致了解 https://zhuanlan.zhihu.com/p/24087905 这其中有几个框架曾经辉煌过,但是现在已经被更新的框架取代了,或者被新一代的版本收编了,我们 ...

  5. 深度学习框架Caffe源码解析

    作者:薛云峰(https://github.com/HolidayXue),主要从事视频图像算法的研究, 本文来源微信公众号:深度学习大讲堂.  原文:深度学习框架Caffe源码解析  欢迎技术投稿. ...

  6. 资深算法工程师万宫玺:Java工程师转型AI的秘密法宝——深度学习框架Deeplearning4j | 分享总结

    资深算法工程师万宫玺:Java工程师转型AI的秘密法宝--深度学习框架Deeplearning4j | 分享总结 本文作者:杨文 2018-01-02 11:03 导语:一文读懂深度学习框架Deepl ...

  7. 快速了解深度学习框架--tensorflow(更新中)

    深度学习框架(工具)简单来说即库,需要import,比如tensorflow,Caffe- 深度学习框架提供了一系列的深度学习的组件(对于通用的算法,里面会有实现),当需要使用新的算法的时候就需要用户 ...

  8. 贾扬清分享_深度学习框架caffe

    Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作.本文是根据机器学习研究会组织的online分享的交流内容,简单的整理了一下. ## ...

  9. DL框架之Caffe:深度学习框架之Caffe的简介、安装、使用方法详细攻略

    DL框架之Caffe:深度学习框架之Caffe的简介.安装.使用方法详细攻略 目录 Caffe的简介 Caffe的安装 Caffe的使用方法 1.基本函数 ​ Caffe的简介 全称Convoluti ...

最新文章

  1. c语言程序设计试题及答案十,C语言程序设计试题试题及答案.doc
  2. 如何提高模型性能?这四大方法值得尝试 | CSDN 博文精选
  3. 提升篇——SELINUX相关介绍
  4. PHP中普通方法如何调用静态属性,php中的静态属性和静态方法如何调用
  5. 第十二届蓝桥杯省赛A组试题:左儿子右兄弟Java
  6. php变量的数据类型
  7. maven2-snapshot快照库和release发布库的应用
  8. [Matlab] 不能在 syms 中假设 symfun 的值域
  9. keras实例化model后,结果返回NoneType
  10. 市域治理现代化平台面纱揭开!来看JDD数字科技成果还有哪些惊喜
  11. 21天jmeter打卡day2-环境搭建
  12. 如何稳定地使用 Google 搜索
  13. 如何在Vim中进行不区分大小写的搜索
  14. Javascript特效:不断在页面跑的星星
  15. linux定时删除文件,Linux下定时删除文件
  16. [4G5G专题-45]:物理层-基带子载波数字调制解调(星座图, 相位调制PSK, 正交幅度相位调制QAM)
  17. 控制系统matlab计算及仿真,控制系统MATLAB计算及仿真实训
  18. 自动化之RPA工具之UiPath
  19. pandas daraframe 写入读取excel文件,并简单计算
  20. Java网课资源分享

热门文章

  1. 业务需求调研经验分享
  2. 15本经典金融投资著作
  3. iOS系统字体如何使用
  4. 如何理解什么是PHP接口,如何应用PHP接口?
  5. Python进阶之Scrapy-redis分布式爬虫抓取当当图书
  6. MVC3中_ViewStart.cshtml的一些事
  7. 怎么还原计算机字体库,如何在XP系统中恢复字库文件?WinXp系统恢复字库文件图文教程...
  8. 2020年如何成为全栈工程师
  9. java 中文分词转拼音_pyhanlp 繁简转换之拼音转换与字符正则化
  10. 数据库错误:1265