深度学习现在有多火?需要什么基础?_第6页回答

2020-05-27 12:01发布

74条回答
息红泪
1楼 · 2020-05-27 13:55.采纳回答

数学基础
如果你能够顺畅地读懂深度学习论文中的数学公式,可以独立地推导新方法,则表明你已经具备了必要的数学基础。
掌握数学分析、线性代数、概率论和凸优化e799bee5baa6e58685e5aeb931333431373233四门数学课程包含的数学知识,熟知机器学习的基本理论和方法,是入门深度学习技术的前提。因为无论是理解深度网络中各个层的运算和梯度推导,还是进行问题的形式化或是推导损失函数,都离不开扎实的数学与机器学习基础。
数学分析
在工科专业所开设的高等数学课程中,主要学习的内容为微积分。对于一般的深度学习研究和应用来说,需要重点温习函数与极限、导数(特别是复合函数求导)、微分、积分、幂级数展开、微分方程等基础知识。在深度学习的优化过程中,求解函数的一阶导数是最为基础的工作。当提到微分中值定理、Taylor公式和拉格朗日乘子的时候,你不应该只是感到与它们似曾相识。
线性代数
深度学习中的运算常常被表示成向量和矩阵运算。线性代数正是这样一门以向量和矩阵作为研究对象的数学分支。需要重点温习的包括向量、线性空间、线性方程组、矩阵、矩阵运算及其性质、向量微积分。当提到Jacobian矩阵和Hessian矩阵的时候,你需要知道确切的数学形式;当给出一个矩阵形式的损失函数时,你可以很轻松的求解梯度。
概率论
概率论是研究随机现象数量规律的数学分支,随机变量在深度学习中有很多应用,无论是随机梯度下降、参数初始化方法(如Xavier),还是Dropout正则化算法,都离不开概率论的理论支撑。除了掌握随机现象的基本概念(如随机试验、样本空间、概率、条件概率等)、随机变量及其分布之外,还需要对大数定律及中心极限定理、参数估计、假设检验等内容有所了解,进一步还可以深入学习一点随机过程、马尔可夫随机链的内容。
凸优化
结合以上三门基础的数学课程,凸优化可以说是一门应用课程。但对于深度学习而言,由于常用的深度学习优化方法往往只利用了一阶的梯度信息进行随机梯度下降,因而从业者事实上并不需要多少“高深”的凸优化知识。理解凸集、凸函数、凸优化的基本概念,掌握对偶问题的一般概念,掌握常见的无约束优化方法如梯度下降方法、随机梯度下降方法、Newton方法,了解一点等式约束优化和不等式约束优化方法,即可满足理解深度学习中优化方法的理论要求。
机器学习
归根结底,深度学习只是机器学习方法的一种,而统计机器学习则是机器学习领域事实上的方法论。以监督学习为例,需要你掌握线性模型的回归与分类、支持向量机与核方法、随机森林方法等具有代表性的机器学习技术,并了解模型选择与模型推理、模型正则化技术、模型集成、Bootstrap方法、概率图模型等。深入一步的话,还需要了解半监督学习、无监督学习和强化学习等专门技术。

作者追问:2020-05-27 13:55

如果我什么基础都没有就不能学习了吗?

小太阳的杨杨杨
2楼 · 2021-07-09 15:40

深度学习需要有数学和计算机基础。
深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。

绕指长衫
3楼 · 2021-08-16 17:31

深度学习涉及到数学基础,python开发,是人工智能的必修课,深度学习的算法如果你不懂数学那我想可以不用接触了。首页你学习能力要有一定的基础,才能更容易理解它

椰松面包
4楼 · 2021-08-18 18:52

很火,但是好像挺难学的吧 数学基础,代码基础 都要会的

王先森
5楼 · 2021-08-26 11:14

在大学计算机领域,深度学习、AI都是很高深的课程,大部分的学生选择这些专业也是看到专业的前景很不错,而且应届薪资也很高。但是这些课程门槛都不低,逻辑思维、高数是必不可少的。例如深度学习需要微积分、线性代数、概率论、复变函数、数值计算等等(具体要看职位要求),而斐波那契、杨辉三角和这些高数算法相比简直是小巫见大巫。
目前来说,做AI、深度学习之类的最好语言莫属于python了,培训机构现在也主要培训python,而AI和深度学习就是课程的两个分支,需要自行选择,就算是本科、研究生最后也很少有人选择这两种,普遍选择前端、后台、大数据、自动化方向,甚至是转行做运维、产品、实施之类的。
总体来说深度学习要求高,需要付出的努力绝对要比普通程序员大得多,但回报也绝对不小,985/211应届生校招进入BAT少说20k起步,在学校有好成绩的更是拿年薪。
如果你还是不能下定决心,推荐你去看看培训机构深度学习的课程表,电话咨询咨询你的情况能不能更好的去学习。

cza380
6楼 · 2021-09-17 11:21

深度学习是基于python开发的延伸,在人工智能领域应用也比较多,但是他涉及到算法,一起很多知识,所以建议有python工作经验,基础比较扎实,再学

回答: 2021-11-05 11:11

深度学习是未来的大趋势,特别后面涉及到视觉识别,人工智能,基本都是未来科技发展的大方向,需要有python的基础的经验

婷婷是头儿a
7楼 · 2021-10-29 17:19

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

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

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

2.选择一个最好的深度学习框架:PyTorch or TensorFlow?

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

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

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

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

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

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

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

  • 神经网络的正向传播

  • 神经网络的误差反向传播

  • 防止过拟合技巧

  • 神经网络梯度优化算法

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

  • 激活函数的选择与比较

  • 卷积神经网络(CNN)

  • 循环神经网络(RNN)


Danke - 四有青年
8楼 · 2021-11-05 16:43

还挺难的 Python相关的内容

722
9楼 · 2022-03-28 15:08

学习深度学习课程的话最基本的就是要具有一定的编程基础,并且具备一定的数学基础。比如计算机相关专业的本科生、研究生,计算机相关专业的高校讲师,从事IT行业的编程人员,人工智能领域的从业人员。在有一定基础的前提下还是能学会的。
无编程基础的人员则需要提前学习python的基础课程(报名陕西优就业的深度学习课程会单独赠送python基础课程的,无基础学员也能学习)。

相关问题推荐

  • 回答 157

    其实学软件测试是很好找工作的,因为一般的高等院校没有专门的软件测试专业,所以大部分人才都是通过培训机构培养的,但是远远赶不上每年的人才需求,因为软件测试的人才缺口很大。另外软件测试分为功能测试、性能测试、接口测试、自动化测试,只要掌握好其中...

  • 回答 80
    已采纳

    付出和回报是成正比的,要想高薪,工作肯定是避免不了会累一些的!IT行业里,又要工资还可以,又要岗位工作不是很累的,那大概只有软件测试和UI设计了。相比开发类的岗位,动不动就加班的!测试可能会轻松不少!而UI设计的话,也相对来说,薪资尚可,不催图的...

  • 回答 53
    已采纳

    目前为止,转IT仍然是非常好的选择,不是坑。认为转IT是坑通可能是有几个原因:一是听说就业门槛高二是听说青春饭,有年龄限制三是听说行业发展迅速技术迭代快需要不断学习IT行业确有如下几个特点:1. 收入可观,2.相对公平,3.当代年轻人的舞台。1、可观的收...

  • 回答 36

    首先,要看你想学的科目方向,不过我觉得最重要的是思维逻辑能力,不过现在发展也比较成熟了,找个好老师,靠谱的机构,还是问题不大

  • 回答 38

    Java和C都可以,主要是看做那方便以及就业需求量,不过个人觉得JAVA相对来说要简单一些

  • 回答 35

    学java、Python都还不错,薪资都比较高呢,而且市场需求大。

  • 回答 36

    有了转行的想法就尽快转,不要拖着。既然自己有感兴趣的方向,那就去试试呀,怕什么。

  • 回答 25

    自己学肯定有难度的,建议培训,要是培训的话,4个月左右吧,不难的,只要自己好好学,绝对不是问题。

  • 回答 19

    首先web行业的就业情况还是很不错的第一、web前端前景1、现在进入到了互联网时代,不管干什么基本都离不开网络,尤其是电商行业,对于用户的交互和体验度更加注重,而这些基本都是web前端技术实现的效果。2、 现在对于IT互联网的应用广泛,app、小程序、移动...

  • 回答 25

    每年Java还是很香,招聘需求还是很旺,但是企业对于人才的要求也是越来越高。底层饱和,中高级人才稀缺,是当前大多数开发岗位的现状,无论是Java还是前端,都是如此。因此如果只是抱着挣快钱的想法来入行的,建议可以绕道了。不是真心想进入这行的,不是真正...

  • IT行业就业怎么样?2021-08-16 15:56
    回答 20

    自己看

  • 回答 12

    提升自身条件,技术也要提高,这样才能去好的企业大厂发展

  • 回答 19

    Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模板T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比...

  • 回答 13

    Java企业级解决方案较多且成熟,国内搜索网站上对于各种问题的解答较多,相比而言,Python成熟企业级解决方案没Java多,资料多以外文为主。国内web开发大环境一直以Java为主,从业者人口基数众多,小白学习Java无论是书籍还是视频资料一搜一大把,从业者技术...

  • 回答 10

    django现在在生产环境用得还是比较多的,但是只能说数量比较多,质量很差;意思就是,越大型的项目越不会选django,因为它封装得太好,不够灵活,一般快速上马项目可以,但是长期维护下来很难受一般如果有开发团队的都选flask和tornado...

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