深度学习学完了都能从事哪些工作?

2020-07-21 11:00发布

3条回答
卡卡
2楼 · 2020-07-21 14:38






很早之前,红色石头就听过雷军说的一句话:“站在风口上,猪都可以飞起来”!这句话用来形容现在的深度学习非常贴切。是的,近几年来,深度学习的发展极其迅速。其影响力已经遍地开花,在医疗、自动驾驶、机器视觉、自然语言处理等各个方面大展身手。在深度学习这个世界大风口上,谁能抢先抢先进入深度学习领域,学会运用深度学习技术,谁就能真正地在AI时代“飞”起来。

对于每一个想要开始深度学习的大学生、IT程序员或者其他转行的人来说,最头疼也是最迫切的需求就是深度学习该如何入门呢?下面我来谈一谈我的看法。

  1. 放弃海量资料

  2. 没错,就是放弃海量资料!在我们想要入门深度学习的时候,往往会搜集很多资料,什么xx学院深度学习内部资源、深度学习从入门到进阶百G资源、xx人工智能教程,等等。很多时候我们拿着十几G、几百G的学习资源,然后踏踏实实地放到了某云盘里存着,等着日后慢慢学习。殊不知,有90%的人仅仅只是搜集资料、保存资料而已,放在云盘里一年半载也忘了打开学习。躺在云盘的资料很多时候只是大多数人“以后好好学习”的自我安慰和“自我”安全感而已。而且,面对海量的学习资料,很容易陷入到一种迷茫的状态,最直接的感觉就是:天啊,有这么多东西要学!天啊,还有这么多东西没学!简单来说,就是选择越多,越容易让人陷入无从选择的困境。

  3. 所以,第一步就是要放弃海量资料!而是选择一份真正适合自己的资料,好好研读下去、消化它!最终会发现,收获很大。

  4. 2.放弃从零起步

  5. 说到入门,很多人会想着那就要从最基础的知识开始学起!深度学习是一门融合概率论、线性代数、凸优化、计算机、神经科学等多方面的复杂技术。学好深度学习需要的理论知识很多,有些人可能基础不是特别扎实,就想着从最底层的知识开始学起,概率论、线性代数、机器学习凸优化公式推导,等等。但是这样做的坏处是比较耗时间,而且容易造成“懈怠学习”,打消学习的积极性。因为啃书本和推导公式相对来说是比较枯燥的,远不如自己搭建一个简单的神经网络更能激发自己的学习积极性。当然,不是说不需要钻研基础知识,基础理论知识非常重要!只是说,在入门的时候,最好先从顶层框架上有个系统的认识,然后再从实践到理论,有的放矢的查缺补漏机器学习知识点。从宏观到微观,从整体到细节,更有利于深度学习快速入门!而且从学习的积极性来说,也起到了“正反馈”的作用。

  6. 好了,谈完了深度学习入门的两个“放弃”之后,我们来看下一步深度学习究竟该如何快速入门?又该掌握哪些必备的知识?

  7. 1.选择一门合适的编程语言:Python

  8. 俗话说“工欲善其事,必先利其器”!学习深度学习,掌握一门合适的编程语言非常重要!最佳的选择就是Python。为什么人工智能、深度学习会选择Python呢?一方面是因为Python作为一门解释型语言,入门简单、容易上手。另一方面是因为Python的开发效率高,Python有很多库很方便做人工智能,比如Numpy、Scipy做数值计算的,Sklearn做机器学习的,Matplotlib将数据可视化的,等等。总的来说,Python既容易上手,又是功能强大的编程语言。可以毫不夸张地说,Python可以从支持航空航天器系统的开发到小游戏开发的几乎所有的领域。

  9. 也许有的人会说底层还所有的深度学习框架,例如PyTorch、TensorFlow等,虽然是Python语言,但是底层都是由C/C++编写的。Python实际上是实现API调用的功能,所以运行速度慢。事实上,这丝毫不影响Python的普及。如今,在GPU加速的前提下,Python的运行速度已经很快了。在众多因素影响下,Python毫无疑问成为了人工智能的最主要的编程语言。

  10. 2.选择一个最好的深度学习框架:PyTorchorTensorFlow?

  11. 如果说Python是我们手中的利器,那么一个好的深度学习框架就无疑给了我们更多的资源和工具,方便我们实现庞大、高级、优秀的深度学习项目。随着深度学习的研究热潮持续高涨,各种开源深度学习框架也层出不穷,包括TensorFlow、PyTorch、Caffe2、Keras、CNTK、MXNet、Paddle、DeepLearning4、Lasagne、Neon等等。其中,谷歌推出的TensorFlow无疑在关注度和用户数上都占据绝对优势,最为流行。但是作为入门推荐,我却选择了PyTorch。这是为什么呢?

  12. 首先,从难易程度上,PyTorch是Numpy的替代者,支持GPU,可以用来搭建和训练深度神经网络。熟悉Numpy、Python以及常见的深度学习概念(卷积层、循环层、SGD等),会非常容易上手PyTorch。而TensorFlow可以看成是一个嵌入Python的编程语言。你写的TensorFlow代码会被Python编译成一张图,然后由TensorFlow执行引擎运行。我见过好多新手,因为这个增加的间接层而困扰。也正是因为同样的原因,TensorFlow有一些额外的概念需要学习,例如会话、图、变量作用域(VariableScoping)、占位符等。另外还需要更多的样板代码才能让一个基本的模型运行。所以TensorFlow的上手时间,肯定要比PyTorch长。

  13. 其次,创建和运行计算图可能是两个框架最不同的地方。在PyTorch中,图结构是动态的,这意味着图在运行时构建。而在TensorFlow中,图结构是静态的,这意味着图先被“编译”然后再运行。PyTorch中简单的图结构更容易理解,更重要的是,还更容易调试。调试PyTorch代码就像调试Python代码一样。你可以在任何地方设置断点。调试TensorFlow代码可不容易。要么得从会话请求要检查的变量,要么学会使用TensorFlow的调试器。

  14. 总的来说,选择PyTorch的原因很简单,因为简单易懂。而且,它还弥补了Tensorflow静态构图的致命弱点。

  15. 3.夯实深度学习数学推导与理论

  16. 有人说深度学习就像一个黑匣子,完全不知道内部发生了什么。也有人说深度学习不需要数学理论,只要会调参数就行了。其实,这两种说法都有失偏颇。掌握基本的深度学习理论非常重要。神经网络是深度学习最重要的结构,关于神经网络包含了许多我们入门需要掌握的基本理论和数学推导。具体包括:


神经网络基础知识:感知机、梯度下降



神经网络的正向传播



神经网络的误差反向传播



防止过拟合技巧



神经网络梯度优化算法



网络初始化技巧与超参数调试



激活函数的选择与比较



卷积神经网络(CNN)



循环神经网络(RNN)



掌握深度学习基本的数学理论知识是非常重要的!只有对神经网络模型结构和推导过程有清晰的认识才能更好地建立模型优化直觉,构建性能良好的神经网络模型,而不是做只会使用框架和库,知其然不知其所以然的“调包侠”。

4.实践是最好的学习方式

纸上得来终觉浅,觉知此事要躬行!理论与模型的建立都是为了更好地实践,为了解决实际问题。深度学习也是这样,掌握每个理论知识后,更重要的是将理论用于实践。例如,使用深度学习模型解决图像识别、语音识别等,或者参加kaggle。通过实战,更能加深自己的理解,帮助自己更加熟练地掌握深度学习应用技巧。

而现在很多教程和课程往往忽视了实战的重要性,将大量的精力放在了理论介绍上。我们都知道纸上谈兵的典故,重理论,轻实战的做法是非常不可取的!就像我开头说的第2个“放弃”一样,在具备基本的理论知识之后,最好就去在实践、编写代码,解决实际问题。从学习的效率上讲,速度是最快的。

那么,针对以上关于深度学习入门的建议,有没有一份涵盖这些重点的完整的教程呢?答案是肯定的!针对这些建议,结合我自己在入坑深度学习的经验,我特此推出了一份写给所有想要入门深度学习的极简教程《深度学习Python入门与实战》。以上的经验分享,它全都包含!

这门课的知识体系完整,知识架构清晰。整体分为三个部分:

第一部分(第01-04课),主要介绍一些深度学习的预备知识,列举重要的Python基础知识,手把手教你搭建本课程需要的开发环境,使用Anaconda平台,重点介绍JupyterNotebook的使用以及知名的深度学习框架PyTorch。

第二部分(第05-14课),主要介绍神经网络的基础,以最简单的两层神经网络入手,详细推导正向传播与反向梯度的算法理论。然后,从简单网络推导至深度网络,并重点介绍神经网络优化算法及构建神经网络模型的实用建议。每一部分都会使用Python构建神经网络模型来解决实际问题。

第三部分(第15-18课),主要介绍卷积神经网络CNN和循环神经网络RNN,重点剖析两种模型的数学原理和推导过程。最后,利用越来越火的深度学习框架PyTorch分别构建CNN和RNN模型,解决实际项目问题。

本课程的独具特色包括:



内容深入浅出、理论推导详细。



理论结合实践,在代码实践中巩固知识。



知识体系完善,深度学习知识点各个击破



回到开头,虽然“站在风口上,猪都可以飞起来”成为了日后很多人引用的金句,但是在这句话的后面,“长出一个小翅膀,就能飞得更高”却鲜有人提及。归根结底,站在风口上固然重要,但是能否靠自己长出一双小翅膀才是能否取得成功的关键。不要犹豫,选择《深度学习Python入门与实战》,给自己的深度学习之路助力一把!

欢迎扫描二维码或点此试读购买!




小绵羊吖
3楼 · 2020-07-21 17:19

深度学习未来的职业发展方向有以下几种:

1)深度学习工程师。主要负责深度学习框架搭建、机器学习、图像处理等的算法和系统研发,支持公司相关产品在深度学习领域的研究。

2)机器视觉研发工程师。主要从事图像分析与理解领域的技术研发与工程落地,将深度学习技术运用到人脸识别、OCR、物体检测、分类、分割等具体领域,构建与优化深度学习模型,提升效果、性能与易用性。

3)语音识别工程师。主要负责语音识别核心模型的算法优化,跟踪业界领先的语音识别算法技术,推动语音识别研究进展。

4)自动驾驶工程师。主要负责高可靠自动驾驶软件系统的设计和实现、系统的优化与维护,根据自动驾驶功能需求,规范细化软件开发,完成计算平台软件开发环境的搭建,将算法移植到指定硬件平台,并进行性能优化。


微啦123
4楼 · 2020-07-22 09:17

人工智能算法工程师、深度学习算法工程师、自然语言处理算法工程师、计算机视觉工程师、图像处理算法工程师等等

相关问题推荐

  • 回答 20

    选对培训机构比较重要,还有就是选择的时候看一下自己适合哪种风格的讲课方式,这个也很重要。因为现在5G时代来临,人工智能绝对是一个发展的大趋势,如果你自己空余时间又比较多的话,其实可以报一个辅导班,学习学习一些基本的东西,毕竟多学点总是没有坏处...

  • 回答 16

    算法,数据相关的适合做人工智能

  • 回答 3

    深度学习是近几年人工智能领域的主要研究方向。深度学习的主要任务是通过构建深度卷积神经网络(Deep Neural Network,DNN)和采用大量样本数据作为输入,人们最终会得到一个具有强大分析能力和识别能力的模型,该模型包含了DNN的构成参数以应用于实际工作。...

  • 回答 3

    AI深度学习课程是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术,主要应用于图像识别、语音识别、自然语言处理等领域。学完可以从事深度学习工程师、机器学习工程师、人工智能工程师、高级算法工程师、高级算法工...

  • 回答 28

    人工智能取代的行业,一定有如下几个特征:1、大量重复型。2、逻辑性比较强。3、数据库依赖型。像司机,咨询,教育,医生,会计,律师助理,工程师,码农等,都是容易被取代的行业。当然,这都是强人工智能以后会发生的事,现在还是弱人工智能的时代,想进入...

  • 回答 9

    如果你是自己学着玩,提升自己的话,高中毕业都可以。如果是冲着AI算法岗或者科研一席之地,至少211硕士。具体可以亲身体验一下今年算法岗秋招。

  • 回答 9

    可以,未来的人工智能发展深度学习必然是现在大型机器生产科研必备的,证书的话某个培训好像有这个中科院的证书,具体你去百度吧

  • 回答 8

    我觉得就是人工智能的课程,现在家具都是智能家居了。这一块发展一定很好

  • 回答 3

    对于sgd算法而言,batch size太大太小都不好,太小的话训练不稳定,计算效率低;太大的话收敛速度慢,需要仔细调节一下。以2的倍数调节,例如32,64,128等

  • 回答 1

    在terminal中输入$wolf@wolf:~/Downloads/gitclonehttps://github.com/Tencent/ncnn cd切换到NCNN目录***这步很重要,这时候需要修改ncnn的root目录下的CMakeLists.txt文件,需要将倒数几行的add_subdirectory(examples),取消注释,这样就是默认编译example...

  • 回答 5

    人工智能的话其实到现在来说已经慢慢趋于成熟,学的话首先是一线城市,学出来好就业,还有就是薪资也高

  • 回答 3

    画个train and test error VS 训练数据量(training set size) 的learningcurve应该会更加直观了。可以找个简单的数据集,比如说handwritten digits或者什么的,分别用神经网络和决策树或者knn做出这个learningcurve。你会看到如果用一个决策树去解决这个问题...

  • 回答 2

    共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。     一幅图象的灰度共生矩阵能反映出图象灰度关于...

没有解决我的问题,去提问