当前位置:首页 > 数学课件 > 正文内容

数学专业可以学习人工智能深度学习吗?

zhao_admin11个月前 (06-18)数学课件54

完全没问题的。

人工智能问题其实就是数学问题。然后根据具体的领域加强这个领域的专业知识。比如说计算机视觉这块,需要补充视频图像处理、机器学习等方面的知识。

如果没怎么编写过程序,还需要加强编程能力。

先来给你说说数学专业本科生学的课程吧(如果是研究生都是估计直接冲,不会问这样的问题),数学分析、高等代数、解析几何、C/C++、概率论与数理统计、运筹学、离散数学、数据结构、数据库原理、复变函数、数值分析、算法设计及分析……

再来对比一下计算机专业学生的课程,C、离散数学、数据结构、java、数据库原理、EDA、概率论与数理统计、计算机网络、数值分析、计算机组成原理、操作系统……

不同学校同一个专业的课程也会不一样,但基本上都会有这些。目前人工智能火热,有些学校也会将机器学习等课程加入到本科生课程中。

人工智能涉及的范围很广,最为火热的莫过于深度学习,那么这里就认为指数学专业学生可不可以学深度学习。

其实从上面的课程设置来看,跟深度学习相关的就那么两样:数学、编程~

先说数学,数学专业学生在数学这方面占极大优势,比如生成对抗网络(神经网络的一种,一种深度学习方法)的生成模型和对抗模型就来自概率论与数理统计方面的知识,虽然两个专业都有学这门课,但课时是不同的,即数学专业的学生在课程要求上会更深入一点。

再说编程,现在深度学习几乎都是用python了吧,当然深度学习领域也有大神们还在写C/C++和cuda,但这样写是真的累skr人,且大部分人都没学过怎么用cuda。在编程方面计算机专业的学生会略占优势,因为就计算机思维来说是数学专业学生远比不上的,相对来说掌握python以及深pytorch、tensorflow这些度学习框架会更快点。

如果仅仅是调参,那么python掌握熟悉,熟悉一下深度学习框架,下载几个预训练模型套上数据即可,仅仅要求需要一定编程模型。但是在具体的实践中,完全一样的神经网络模型(深度学习方法)可能效果并不好,这就要求需要对神经网络有一定的了解,比如激活函数的效果,卷积池化的作用,根据这些来修改以达到良好的效果,然而激活函数、卷积池化这些其实全都是数学上来的,不见得多高深但是至少得会。

上图表示一个卷积操作,其数学表达式为:

相对其他专业来说,数学专业和计算机专业的学生是很有优势的了。做一些应用的话计算机专业的学生短期内会更有优势,比如用已有的神经网络模型完成一些图像识别、文本情歌分析,但是从长远来看,数学专业学生是更有优势的,因为在硬件条件固定的情况下,要想深度学习效果更好只有在理论上做到更有优,所以你可以看到SOTA网络(指该算法(模型)的性能在当前是最优)的数学理论越来越复杂。。。

如果打算走下去了,就开始学吧……

人工智能需要会什么编程?

人工智能涉及到的知识结构比较复杂,是一个典型的多学科交叉领域,涉及到哲学、数学、计算机、经济学、神经学和语言学等诸多内容。正因如此,人工智能领域的研发需要克服诸多困难,每一次进步都需要付出巨大的努力。虽然人工智能已经经过了60多年的发展,但是目前人工智能依然处在行业发展的初期。

编程语言是实现人工智能产品的一个重要工具,不少编程语言都可以完成人工智能产品的开发任务,比如C、Python、Java、C++、Lisp、Prolog等语言都可以用于人工智能领域的开发,其中Python对于初学者来说是个不错的选择。

目前Python语言在机器学习等人工智能细分领域有广泛的应用,而且从Python的发展情况来看,Python语言的编程生态正在逐渐完善(Web开发、大数据开发、嵌入式开发等),落地能力也比较强,因此采用Python从事人工智能开发的风险会比较小。由于Python语言自身具备语法简单、调整简单、开发简单等特点,所以在研发初期采用Python语言进行产品验证是一个不错的选择。

学习Python开发需要从基础语法开始,由于Python语法结构比较简单,所以即使没有编程基础的人也能较为顺利的掌握Python编程。另外,采用Python进行人工智能开发还需要学习几个比较常见的库,包括Numpy、Matplotlib、Scipy、pandas等,熟练使用这些库能够明显提升开发的效率。

人工智能研发往往需要具备扎实的数学基础,因为算法设计是人工智能研发的核心内容,而算法设计往往涉及到高数、线性代数、概率论等数学知识。因此,要想在人工智能的研发领域走得更远,一定要学好数学知识。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,也可以咨询我,谢谢!

人工智能需要会什么编程?

说明这个问题我想你问的一定不只是用什么语言,而是需要会什么方面的编程技术。其实编程在人工智能中只是一个辅助工具,从事人工智能是不需要你有十分过硬的编程技术的,但是既然人工智能是需要大量的运算和大量的数据的话,这种事情也只有计算机才能实现,所以将人工智能模型建立和训练就需要靠代码来实现。

代码知识实现AI的工具,数学才是人工智能的核心。下面就人工智能需要的编程技能大概说明一下:

人工智能技能需求这里有一张人工智能深度学习技能需求图分享给大家,这是我在上深度学习的课程时教材上面的,下面就根据这个图来展开说明。

数据获取数据是人工智能的基础和根本,没有数据就像大厦没有砂砾是建不起来的。数据来源可能有肯多,比如传感器。那么你可能就需要会通过串口或者socket等其他网络通讯编程将数据从传感器中取出来。又或者,数据是存在数据库比如mysql、redis、sqlite、oracle等,那么你可能就需要会从数据库中获取数据,比如sql语句。又或者,数据是以文档形式存放,那么你就需要会文档的读取。

数据分析有了数据后需要对数据进行处理,比如清洗、数据集成、数据归约、特征提取、离散化等处理。那么你可能会用到matalab工具、pandas、numpy、Hadoop等成熟库,还有数据可是话可能要用到的BI Tableau、Qlikview、PowrerBI等。

AI模型建立这个是人工智能的核心,智能模型的建立。它包括卷积神经网络、循环神经网络、生成式对抗网络等。

常用的编程工具和编程库是python、C#、C++等。以python为例,常用的库有Keras、Tensorflow、PyTorch等,目前这三个是主流的,若你想从事AI建模的工作,那么着三个库你是必须要会,是绕不开的

keras建立一个简单的神经网络代码:

成果部署建立并训练好的数据模型,你需要将之部署实用化,放置到项目中去,可以是app、可以是web、也可以是小程序,如果你需要从事这些方面的工作,那么你就需要具备相关的编程知识,比如app开发、web开发、系统运维等方面知识。

总结以上所列的编程技能并不代表一个人需要全会,上面提到的四个模块,每个模块都深不可测,个人只需要从事其中很小的一方面并专精就好,选择自己想从事的模块然后掌握相关技能就可以了。

至于编程语言,推荐Python。社区健壮、占有率高、好用、易用、发展迅猛。

扫描二维码推送至手机访问。

版权声明:本文由PPT写作技巧发布,如需转载请注明出处。

本文链接:http://www.ppt3000.com/post/69533.html

分享给朋友:

相关文章