接着我的微博继续八卦吧

微博里问了几个人,关于deep learning和cnn的区别,有不少热心网友给了回答,非常感谢。结合我听课和看文章的理解,我大胆大概总结一下:

在上世纪90年代,neural network火了后就不再火了,听说,在投稿到nips时,如果你的关键词是neural network等,会大大降低你的文章的接受率,而如果是bayesian parameters or svm等,就会提高接受率,云云,但是在06年左右,neural network又开始出来闹腾了。

其实,之前neural network之所以偃旗息鼓了,主要是因为深层神经网络中,使用BP进行训练,是走不动了,层一深,训练无差就被前面层吃掉了,这样就没法再进行进一步训练了。因此,很多使用neural network的都是一两层的,唯一一个比较成功的案例是1998年lecun的lenet,用了七层,也就是cnn, convolutional neural network,这个是通过convolutional 和subsampling对network进行了降维,只有在最后三层是fully connected的,维度降低了,再用BP梯度进行训练,就好些了。当时是对图像手写体进行了识别,很成功的说,当时的图片大小是32X32。

06年时,hinton提出了RBM训练多层,同时,微软什么的又成功将多层neural network成功应用了,于是neural network又火了。这个,我最近还没仔细跟踪,不八卦了。

接着说cnn吧,cnn在12年的imagenet上火了,当时是hinton的学生,就是那个Alex,用cnn,成功用在了大图片大数据上,基于gpu, cuda进行编程,娃哈哈,效果很好,甩了第二名很远。我看文章中,就是用的lecun的cnn,一共8层,5层是做convolutional 和pooling的,后面三层是fully connected的,也是用梯度下降进行训练的,在训练时,用到了dropout,同时还用了局部normalization,其实这个我也不懂。

基于两块GPU,完成的效果还不错,而且人家可真是实打实的大图片大数据,好吧,12年的文章,至今已经被引用超过100次了。

另外,看了几篇文章,best practice for cnn applied to document 还有几篇介绍的博客什么的,目前对cnn的训练思路是没问题了,打算就着网上的代码,咀嚼一遍试试,只是,目前看Alex的imagenet代码,还是很不清晰,主要是基于cuda的编程,不明白,再者,人家的程序写的框架性是真好,框架性越好,其实对某一个针对性问题越不容易理解,是的,扩展性好,可我小虾米只想顺着结构走,还不会跟着对象走。

deep learning学习记录二的更多相关文章

  1. deep learning学习记录三

    deep learning,这几年有多火!! imagenet比赛,大家今年都是基于去年的基础上改进和应用的,效果比去年提升当然. 在deep learning方向,hinton, benjio, l ...

  2. deep learning学习记录一

    最近不小心又赶了一下时髦,在做deep learning.今天去听了复旦吴老师的课程,感觉吴老讲解的还是很清晰的. 上午刚看过cnn,下午讲解的就是这章,相对来说,我听着给了很多启发.

  3. 深度学习模型调优方法(Deep Learning学习记录)

    深度学习模型的调优,首先需要对各方面进行评估,主要包括定义函数.模型在训练集和测试集拟合效果.交叉验证.激活函数和优化算法的选择等. 那如何对我们自己的模型进行判断呢?——通过模型训练跑代码,我们可以 ...

  4. 深度学习笔记之关于总结、展望、参考文献和Deep Learning学习资源(五)

    不多说,直接上干货! 十.总结与展望 1)Deep learning总结 深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法.换句话来说,深度学习算法自动的提取分类需要的低层 ...

  5. Material Calendar View 学习记录(二)

    Material Calendar View 学习记录(二) github link: material-calendarview; 在学习记录一中简单翻译了该开源项目的README.md文档.接下来 ...

  6. Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客

    ==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...

  7. 【deep learning学习笔记】注释yusugomori的DA代码 --- dA.h

    DA就是“Denoising Autoencoders”的缩写.继续给yusugomori做注释,边注释边学习.看了一些DA的材料,基本上都在前面“转载”了.学习中间总有个疑问:DA和RBM到底啥区别 ...

  8. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  9. 2.VUE前端框架学习记录二

    VUE前端框架学习记录二:Vue核心基础2(完结)文字信息没办法描述清楚,主要看编码实战里面,有附带有一个完整可用的Html页面,有需要的同学到脑图里面自取.脑图地址http://naotu.baid ...

随机推荐

  1. 白话SpringCloud | 第七章:分布式配置中心的使用

    前言 介绍完服务的容错保护处理,接下来我们来了解下关于分布式配置中心的相关知识和使用.众所周知,随着项目的越来越多,日益庞大,每个子项目都会伴随着不同的配置项,于此也就多了很多的配置文件.倘若某些配置 ...

  2. 【linux相识相知】sed命令

    在之前的博客中我们介绍了文本三剑客中grep,本次博客就另外一名剑客——sed做出详细的描述,sed真的是一款强大的工具.下面让我们来一起看一下吧! 概述和工作机制 SED的英文全称为Stream E ...

  3. Javascript 简单实现鼠标拖动DIV

    http://zhangbo-peipei-163-com.iteye.com/blog/1740078 比较精简的Javascript拖动效果函数代码 http://www.jb51.net/art ...

  4. SpringSecurity 3.2入门(9)自定义权限控制代码实现

    1. 一个自定义的filter,必须包含authenticationManager,accessDecisionManager,securityMetadataSource三个属性,我们的所有控制将在 ...

  5. 06.do-while循环的练习

    练习1: namespace _09.do_while循环练习01 { class Program { static void Main(string[] args) { //计算1到100之间的整数 ...

  6. PAT 1083 List Grades

    #include <cstdio> #include <cstdlib> using namespace std; class Stu { public: ]; ]; }; i ...

  7. Javascript 自定义输出

    缘由 前段时间再看了一些javascript的学习资料,也写的一些demo,在输出的时候一般都用alert,但这个方法会打断函数运行,用起来不是很好.还有就是console.log这个方法,这种方法原 ...

  8. 【Linux】GDB程序调试

    一.GDB简介 GDB是GNU发布的一款功能强大的程序调试工具.GDB主要完成下面三个方面的功能: 启动被调试程序. 让被调试的程序在指定的位置停住. 当程序被停住时,可以检查程序状态(如变量值) 二 ...

  9. JS高级程序设计第三版——基本概念

    前言:任何语言的核心都必然会描述这门语言最基本的工作原理.而描述的内容通常都要设计这门语言的语法.操作符.数据类型.内置功能等用于构建复杂解决方案的基本概念. 语法: 1.  区分大小写: 2.  标 ...

  10. swftools 将pdf转换swf常见问题说明

    swftools将PDF转成swfSWFTools提供了一系列将各种文件转成swf的工具: font2swf.exe gif2swf.exe jpeg2swf.exe pdf2swf.exe png2 ...