本文转自公众号 人工智能头条
深度学习到底有多热,这里我就不再强调了,也因此有很多人关心这样的几个问题,“适不适合转行深度学习(机器学习)”,“怎么样转行深度学习(机器学习)”,“转行深度学习需要哪些入门材料?”等等。
而网上相应问题的回答也比较杂乱,存在不走心、不够基础等等问题。
考虑到太多的人没有一定的专业基础,又恰恰对转行、学习的问题比较关心,因此,本文希望从一个小白的角度出来,真正从零基础的角度来为大家提供一些专业的建议和指导.
避免大家看很多无用的信息,少走弯路。接下来,本文从以下几个方向出发,来展开叙述:
1、什么样的人适合入行深度学习?
2、怎样学习深度学习?
3、有哪些入门深度学习的材料推荐?
哪些人适合入行深度学习
深度学习存在一定的门槛,这是必然的,并不是网上说的仅仅成为一个“调包狭”。你可能是结合一些实际的业务场景,需要复现一些模型,甚至自己设计一些模型,所以需要具备一定的数学、英语、编程等等能力。
1.初中毕业、高中毕业是否适合学习深度学习?
这里,我不建议这样的人转行深度学习,因为你现在需要的不是深度学习,而是高中知识积累、大学的知识积累,思维模式的培养,如果你还年轻,那我建议你先去把这些该走的路走完,再考虑入行深度学习。
你们的人生还有很多种可能,没有必要急着早早的作出选择。当然,如果你已经到了一定年纪了,那我觉得真的没必要在这个上面折腾了,赚钱的机会还有很多。
2.文科生是否适合学习深度学习?
对于文科生的话,我觉得不能一概而论。有些文科生,尤其学习语言学、文学专业的,他们的思维方式可能更多的偏向于发散思维,对于逻辑思维能力可能会有所欠缺。
对于这样的人,不是很建议入行深度学习,更多的是希望把本行业的事情做好,或者可以选择一些深度学习产品经理等等这样的岗位,避免一些编程、模型设计训练的任务。
3.机械、电气等理工科的专业背景的人是否适合入行深度学习?
对于诸如电气、电子、机械、化工、生物等等这样的理工科专业的学生,如果选择入行深度学习,个人觉得还是存在可能的。
以机械为例,很多机械行业的朋友,也会接触到底层编程的一些任务;对于一些电子和电气相关的专业的学生,往往也会接触到一些编程的任务。
同样,还具备一些信号处理的知识,对于这些人来讲,深度学习和机器学习,入门相对门槛会低一些。当然,实际上还要结合自身的情况来看,具体是否合适,可以对照我后面的几个标准。
4.年纪太大了是否适合转行深度学习?
个人不建议,因为核心竞争力确实会和一些年轻人存在一些差距。如果有可能,更希望能够在本领域深耕下去。
5.期待学习两三个月成大神,年薪20万+。
任何一门技术的学习,都需要一定时间的积累,尤其对于深度学习、机器学习这样的工作。短期内,结合专业的指导,你可能会初窥门径,但精通一定不行。虚心学习,经过一定时间积累,年薪20万+希望还是很大的。
总结下,有哪些人适合入行深度学习?
大学里学习过高等数学的本科生,硕博士研究生;
有高等数学基础的公司技术岗在职人员,需要 AI 赋能;
过去 PC、iOS、安卓开发的码农,有编程基础的人;
具备较好的逻辑思维能力的本科生。
如何入行深度学习
聊完了什么人适合入行深度学习,我们再来看一看如何学习深度学习?
具体你需要经历以下几个步骤:
1、深度学习整体概述:了解深度学习的前世今生、为什么会爆发深度学习热潮?代表的技术有哪些,涉及到什么样的领域、产品、公司,以及各行各业中的应用。尽可能的科普深度学习的相关知识。
2、深度学习概论知识:深度学习、机器学习、人工智能等区别和联系;
3、深度学习预备知识:数学基础(线性代数、矩阵、概率统计、优化等等)、机器学习基础、编程基础;
4、深度学习核心知识:神经网络、深度网络结构、图像任务、语音任务、自然语言任务;
5、深度学习进阶知识:如何使用深度学习框架,完成网络的搭建、训练。
关于深度学习的公司,也就是人工智能公司,我们在之前也提到过,这里,我们再重点介绍一些代表性的企业:
1、语音识别技术,国内公司讯飞、百度。国外公司 Google、亚马逊,微软等,行业应用就是智能音箱等产品;
2、图像识别技术,比如做安防的海康威视,图森科技,依图科技,旷视科技,代表性的就是面部识别,iPhone X 的人脸识别;
3、自动驾驶技术,比如特斯拉,Uber,百度等公司开发的自动驾驶技术;
4、金融领域的预测股价、医疗领域的疾病监测,教育领域的技术赋能等;
5、阿里巴巴淘宝网的千人千面等。
接下来我们看一些关于深度学习的概论知识。
我们必须要清楚的就是深度学习属于机器学习的一种方法,除了深度学习以外,还包括了线性回归、逻辑回归、SVM、随机森林、图模型、贝叶斯等等很多方法。
而深度学习,并不是对所有的任务都有效,有些时候,也需要用到一些传统的机器学习方法。而机器学习则是实现人工智能必不可少一种技术手段。
深度学习和传统机器学习有哪些区别和联系呢?请看下面这几点。
1、数据依赖性。深度学习与传统的机器学习最主要的区别在于,随着数据规模的增加其性能也不断增长。当数据很少时,深度学习算法很容易过拟合(可以简单理解成性能不好)。
2、硬件依赖。深度学习算法需要进行大量的矩阵运算,GPU 主要用来高效优化矩阵运算,所以 GPU 是深度学习正常工作的必须硬件。与传统机器学习算法相比,深度学习更依赖安装 GPU 的高端机器。当然,除了 GPU 以外,还有一些其他的深度学习芯片发展也十分重要。通常的做法是,GPU 训练,而在实际的项目中则使用其他的深度学习芯片代替。
3、特征表示。传统机器学习更多的依赖手动设计特征,需要引入更多的领域知识,而深度学习,则能够直接抽取不同粒度上的特征,因此,能够具有更高的表示能力。
4、端到端。对于传统的机器学习方法,更加注重逻辑规则的设计,在解决一个问题的时候,会将其拆分成几个不同的子问题,而深度学习则更加强调从数据的角度出发,直接对问题进行求解,也就是更加的端到端。
5、训练时间。深度学习模型的训练一般需要较长的时间,不过好在测试的时候,则需要较少的时间。
6、可解释性。深度学习算法的可解释性较差,更像一个黑盒运算。
了解完深度学习的一个基本情况以后,我们再来看一些学习深度学习,你需要学习哪些预备知识?
1、数学(高数、线性代数、概率统计、矩阵分析,如果还有机会,可以了解下优化的相关知识);
2、英语,需要阅读大量的英语文献,英语阅读和理解的能力还是应该具备的;
3、编程,至少会 Python,如果有精力再学一下 C/C++;
4、机器学习,关于一些传统的机器学习算法建议还是要了解一下的。
准备好了上述的一些基本能力以后,我们再看看关于深度学习的一些核心知识,你需要了解:
1、神经网络;
2、CNN、RNN、LSTM 等不同的网络结构;
3、深度学习的框架:Caffe、TensorFlow,以及这些框架如何使用;
4、深度学习+图像处理模型;
5、深度学习+语音识别模型;
6、深度学习+自然语言处理模型。
注意: 对于上述提到的(深度学习+图像处理模型、深度学习+语音识别模型、深度学习+自然语言处理模型)三个任务,其实不需要你都精通,只要专注于其中一个领域就可以,这个要结合自己的兴趣来看。
具体可以看一下之前的几篇文章“深度学习在计算机视觉行业中的应用、深度学习在语音技术领域的应用、深度学习在自然语言处理行业中的应用”,看看自己更喜欢哪个行业,初期就以这个行业研究为主,后续如果有机会,在考虑更高层面上的通用技术和框架。
最后,理论部分都强调完了以后,我们在重点强调一下进阶的知识,也就是实战部分。大家在学习深度学习的时候,一定要认识到,深度学习更多的还是需要编程!编程!编程!也就是说,不能仅仅停留在理论层面,更多的还是需要动手实战的能力,利用 Caffe 或者 TensorFlow 针对一些实际的分类任务进行实验。只有这样才能更快地积累经验,更早的入行深度学习。
最后,为大家推荐一些课程和教材:
首先是线性代数,推荐麻省理工推出的课程《麻省理工公开课:线性代数》,你会发现和我们本科学得线性代数好像不太一样,这个讲解的更加容易理解!!不再是停留在做计算题的层次,是真的有用!
斯坦福机器学习:斯坦福大学公开课 :机器学习课程,这个就不强调了,NG 的课程,一般这个行业的的都会学习下!
张志华老师的《统计机器学习》,《机器学习导论》,这个课程涉及到更加深入的统计机器学习理论,看完以后你会对概率论有更深入的了解!
周志华老师的西瓜书,它对机器学习整体的介绍还是比较基础的!记得在找工作时候,每次面试前都会看一遍这本书!
Caffe 和 TensorFlow 的学习则更多的是实现一些 Demo 和阅读文章,后续我也会推出一些入门的课程,希望大家能够持续学习下去。