深度学习 deep learning 深度学习框架 caffe 深入学习过程(一)

学习深度学习,首先是理论知识,这方面当然是必须的,但这是一个长期的知识积累的过程,不可能一蹴而就,看本书就可以解决的问题。首先要明确自己学习深度学习的目的是什么,深度学习自从06,07年得到关注,一直到12年才真正进入到大公司的聚光灯下,各大资本涌入到人工智能这个领域,一直持续到现在,已经将近10年的时间,在这期间,研究出了许多改善人们生活的成果,但是不能因为现在大家都说,你就说自己喜欢,不能单纯的跟风,觉得这个好,但你要明白,为什么深度学习好,好在哪里(可以学习人类无法描述的底层抽象特征,说白了,就是很会找规律),与以往的传统方法有什么不同(需要快速的机器,大量的数据,模型参数是变化的,可调的),缺点是什么(以某种概率近似正确,PAC原理),应用基础怎么样(主要在自然语言理解、处理,图像识别,计算机视觉,语音识别,模式识别,自动驾驶,玩游戏),未来发展趋势怎么样(主要在底层的,模仿人类与生俱来的能力上有优势),但是这些很好的能力,背后是有假设的,比如数据量要大,给出的结论具有统计特性,不针对某个特定的个体而言。

了解了这些,在开始学习深度学习框架的过程中,要分析几种框架有什么不同点,侧重点,发展的先后顺序,哪个社区比较庞大,比较活跃,每个框架主要解决什么问题。比如caffe,这个非常获得开源框架,主要解决的是深度学习中的图像处理,提取图像CNN特征用到的比较多,因此如果要学习caffe的框架,那么你的主要用途是在图像方面,或者语音方面,只要可以进行卷积的部分均可以。对于tensorflow而言,google是构建更加庞大,体系完整的机器学习框架,不断地加入了更多丰富的功能,看起来也蛮酷的。但是要明确,你只有学懂了一个,再去学别的才有意义,如果仅仅看这个好,看那个好,那么你永远也学不到精髓部分,换个地方打一枪,那么你浪费了很多时间,而且会让自己陷入什么都懂,什么都不精的痛苦处境(懂,还不想继续看,就是麻木了)。说了上面那些铺垫,是为了让看到我博客的爱好者们,可以大致了解自己想要什么,以及未来要干什么。下面说说阅读caffe源码的过程:

在开始看caffe源码的过程,其实可以从几个点来学习caffe,caffe是一套比较方便使用的框架,定义网络可以很直接的改写prototxt文件,然后不需要该源代码便可以直接训练你要的网络,将训练结果存到一个文件中,下次可以直接拿来用,很方便,如果是这个目标,那么你的关注点应该是学习如果定义,部署一个神经网络模型,如果定义输入,各个层,每层需要的kernel的形状,stride的大小,pooling的方式,以及用什么样的激活函数,最终根据训练目标,用什么样的损失函数来指导训练过程。接下来就是学习不同的模型,怎么使用。如果除了以上说的,还想看看源代码,改改源代码,那么可能就需要看看代码了。


具体看代码的过程,慢慢分析,会记录下来,共同分析。

展开阅读全文

没有更多推荐了,返回首页