新浪博客

(资料)深度学习如何入门?

2019-02-01 17:10阅读:

深度学习如何入门?


2018年04月28日 13:20:38 nanfengzhuma 阅读数:627

序言

人工智能现在这么火,很多人都想转行,跃跃欲试,但是如果方法不对,就会走很多弯路
比如:有的人就非要系统学习数学知识、然后再系统学习Python、然后再学习机器学习,最后才学深度学习
其实如果想尽快入门并且入职,完全没必要,你可以直接学习深度学习,大量练习项目,再回头研究算法机理。这样你就更加容易理解算法。企业面试也是重点考察你的代码能力,所以先务实代码基础,再回头深挖算法机理。这样的的学习效率最高,而且更容易帮你入职。


本文将从如下三个方面教你如何入门深度学习
如何了解——哪些人适合学?哪些人不适合学?
如何学习——帮你规划学习路径;
学习什么——讲解入门基础知识;神经网络核心机理
我会通俗易懂的表达,不用专业术语,配合图文,保证零基础也听得懂

哪些人适合学


这几类人不要学
    1. 有的人说初中毕业的,也可以入行,我完全不赞同。试想初中毕业也就14岁左右,假如现在25岁,你让他学习高中、大学数学知识,可能么?求求你放过这些人,让他们做适合他们做的事
    2. 一直以来学习文学和语言专业等的文科生,我知道他们有高中数学基础,但是长期的文科发散思维,突然要变成理科逻辑思维,还是有些困难
    3. 期待学习两三个月,就变大神,拿年薪20+,基本上不可能
这几类人可以学
  1. 大学里学习过高等数学的本科生,硕博士研究生
  2. 有高等数学基础的公司技术岗在职人员,需要AI赋能的
  3. 过去PC、ios、安卓开发的码农,有编程基础的
  4. 准备引入AI技术的产品经理
误解:人工智能是门槛很高,很高大尚的技术,一般人是没办法入行的
规划学习路径,帮助大家入行:


  • step1:科普——深度学习为什么会爆发?代表性技术、公司及行业应用
  • step2:深度学习概论知识——深度学习框架到底是什么?为什么要用框架?
  • step3:深度学习预备知识——数学和Python知识要求
  • step4:深度学习核心知识——神经网络、卷积神经网络机理
  • step5:深度学习扩展知识——强化学习的基础机理

step1:科普

在踏入人工智能大门前,我先讲一下,为什么这几年深度学习突然火了?
主要原因是大数据和GPU


第一个原因:大数据,以前我们收集数据的成本非常高,同时数据的采集也比较困难,存储数据的工具也比较昂贵,这就导致了数据量非常小。到了21世纪硬件发展非常快,存储设备也非常便宜,而且互联网时代大家的数据都在云端,收集数据也就非常方便,这样我们就有了非常多非常大的数据量。
第二个原因:GPU快速的发展,因为数据量大,训练一个模型需要的时间非常久,时间成本非常高。但有了GPU,使得我们在训练模型上的速度非常的快。
看看这张图,是有了GPU加速的效果,我们发现,如果只使用CPU去训练一个模型,即使是一个简单的模型,都需要40多天才能训练完,但有了GPU之后,时间可以瞬间缩短十倍,只需要三天或者四天,这在时间上的节省效果是非常明显的。
代表事件:2016年AlphaGo 4比1 战胜李世石,掀起了一波AI热潮,DeepMind背后所用的深度学习一下子火了起来了。其实在内行看来,AlphaGo对阵李世石的结果是毫无悬念的,真正的突破在几年前就发生了

深度学习目前的行业应用、一些标志性公司、代表性的技术等


  1. 语音识别技术,国内公司讯飞、百度。国外公司亚马逊微软等,行业应用就是智能音箱等产品
  2. 图像识别技术,比如做安防的海康威视,图森科技,依图科技,旷视科技,代表性的就是面部识别iphone X的人脸识别
  3. 自动驾驶技术,比如特斯拉,uber,百度等公司开发的
  4. 金融领域的预测股价、医疗领域的疾病监测,教育领域的技术赋能等
  5. 阿里巴巴淘宝网的千人千面等

Step2:深度学习概论知识

概念1:先了解一下人工智能、机器学习、深度学习,他们之间得关系是什么?


概念2:机器学习和深度学习的具体区别和联系是啥?



机器学习有两个步骤:
第一步:通过人工来提取特征,通过这个特征来表述我们需要的数据,这个需要对特定领域进行手动提取特征,
第二步:等提取完特征之后,就可以使用机器学习的模型来解决问题。在模型中,通过学习不断去优化模型里面的参数,最终得到优化好的模型。
深度学习也有两个步骤:
第一步:深度学习是通过机器来自动地提取数据的内在特征,而不需要使用人工手动提取。
第二步:提取完特征之后,仍然使用一个算法模型,通过模型自我学习来优化模型中的权重和参数。深度学习相对于机器学习来讲,它更能够实行一种端到端的模型,中间减少了人为参与。
总结:
从进化过程来看,解决任务的方式从编程到机器学习,最后到深度学习,算法流程经历了一个需要人整个把控,到机器学习人工只需要干预其中一小部分,到最后深度学习人工基本不需要干预,整个都可以用机器来实现。当模型越来越智能,人对它的干预也就越来越少。

深度学习框架介绍

概念1:为什么要使用框架?
为了降低开发人工智能技术难度,很多大公司把底层算法都封装到了一个黑盒子里面,这个黑盒子就叫深度学习框架,有了这个框架,我们就不需要所有代码都自己写,直接通过一个调用函数直接调用就行。


有两种主流的框架类型
符号式编程:最主流的代表,当然就是TensorFlow了。
命令式编程:最主流主流的代表就是PyTorch。
概念2:使用框架有以下几个好处


  1. 框架的文档详细,可以帮助我们快速上手,而不需要自己再去重复造轮子;
  2. 使用框架比自己写更加简单,降低了前期的入门门槛;
  3. 使用框架之后大家的代码都是简洁、相似的,方便大家互相阅读、交流代码;
  4. 框架的底层都是由工程师精心优化好的,所以使用框架能够降低我们构建模型的时间和运行模型的时间,提高执行效率;
  5. 使用模型还能够方便我们部署最后训练好的模型。除此之外,框架还有很多优势,这里就不再一一赘述。
概念3:目前有如下三个主流的框架



  1. 首先当然是业内老大TensorFlow。TensorFlow是现在最流行的深度学习框架,在 github 上有超过90000 个star,他的特点非常明显,google开源,质量有保证,社区强大,同时TensorFlow是一个静态图的结构,而且不管是在服务器端还是手机端都有非常好的部署方式,分布式部署。
  2. 接着就是PyTorch,PyTorch是17年1月由Facebook开源的深度学习框架,在短短的时间内获得了大量的使用者,其最大的特点是不同于TensorFlow的静态图结构,他是一个动态图的机制,debug非常方便,能够构建很灵活的网络结构。
  3. 最后我们讲一下MxNet,MxNet是由distributed machine learning community(dmlc) 开发的框架,开发成员大部分都是中国人,很早就在github上开源,目前是

我的更多文章

下载客户端阅读体验更佳

APP专享