作者:章华燕,CSDN博客专家。
原文地址 :
https://blog.csdn.net/u013709270/article/details/74892124
本文经作者授权发布
近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个 IT 界。
所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布局人工智能技术和市场。
百度,腾讯,阿里巴巴,京东,等互联网巨头甚至都在美国硅谷大肆高薪挖掘人工智能人才。现在在北京,只要是机器学习算法岗位,少则月薪 20k,甚至 100k 以上……
不错,新时代时代来了,我们从互联网走向移动互联网,现在又从移动互联网走向人工智能时代。
业内有人称这一次的人工智能爆发是互联网 3.0 时代的开启。所以现在搞 IT 开发的工程师的不懂机器学习,就相当于低级程序员。赶紧从基础学起,入门机器学习,走进人工智能的大门……
▌AI新浪潮为什么会崛起?
人工智能(AI)问世之初曾经狂妄自大、令人失望,它如何突然变成当今最热门的技术领域?这个词语首次出现在 1956 年的一份研究计划书中。该计划书写道:“只要精心挑选一群科学家,让他们一起研究一个夏天,就可以取得重大进展,使机器能够解决目前只有人类才能解决的那些问题。”
至少可以说,这种看法过于乐观。尽管偶有进步,但 AI 在人们心目中成为了言过其实的代名词,以至于研究人员基本上避免使用这个词语,宁愿用 “专家系统” 或者 “神经网络” 代替。“AI” 的平反和当前的热潮可追溯到 2012 年的 ImageNet Challenge 在线竞赛。
ImageNet 是一个在线数据库,包含数百万张图片,全部由人工标记。每年一度的 ImageNet Challenge 竞赛旨在鼓励该领域的研究人员比拼和衡量他们在计算机自动识别和标记图像方面的进展。他们的系统首先使用一组被正确标记的图像进行训练,然后接受挑战,标记之前从未见过的测试图像。
在随后的研讨会上,获胜者分享和讨论他们的技术。2010 年,获胜的那个系统标记图像的准确率为 72%(人类平均为 95%)。
2012 年,多伦多大学教授杰夫 · 辛顿(Geoff Hinton)领导的一支团队凭借一项名为 “深度学习” 的新技术大幅提高了准确率,达到 85%。后来在 2015 年的 ImageNet Challenge 竞赛中,这项技术使准确率进一步提升至 96%,首次超越人类。
不错,这一切都归功于一个概念:“ 深度学习(Deep Learning) ”。虽然 2016 年之前,深度学习技术已经火了起来,但是真正大爆发的事件却是 2016 年 Google 在韩国首尔举行的人工智能机器人 AlphaGo 与围棋九段选手李世石之间的人机五翻棋大战,最终人类最强选手输给了机器人。
曾几时何,人们认为围棋是人类棋牌类游戏的最后的尊严阵地,就这样在人工智能轻松地攻陷了人类智力的最后一块阵地!这件事震惊了所有人。
从这以后,全球学术界和工业界都躁动了,巨头们都在加紧布局人工智能:Google 挖来了神经网络算法的奠基人、深度学习之父 Geoffrey Hinton;Facebook 则挖到了 Hinton 的学生,卷积神经网络(CNN)的奠基人 Yann LeCun;然而就在不到一年的时间,微软也是说动了一直保持中立留在学术界的深度学习领域三大牛的最后一位 Yoshua Bengio。
当然,国内的互联网巨头,百度、阿里、腾讯、京东、滴滴、美团等也都在布局 AI。其中百度更是被认为在 AI 上已经 All In 了。
深度神经网络(DNN)
▌机器学习是你必经之路
入门 AI,机器学习是必须要学习的,可以这么说:机器学习是人工智能的基石和精髓。只有学好了机器学习算法原理和思想,你才算真正的入门人工智能。但是,对于非专业的半路出家的你们该如何入门?这个问题其实很难回答,因为每个人的目标不一样,技术基础和数学基础也都不一样,所以因人而异。但是通常来说,学习机器学习算法,需要的必备知识还是可以罗列的。
机器学习必备基础
机器学习的学习过程
对于上图,之所以最左边写了『数学基础』『经典算法学习』『编程技术』 三个并行的部分,是因为机器学习是一个将数学、算法理论和工程实践紧密结合的领域,需要扎实的理论基础帮助引导数据分析与模型调优,同时也需要精湛的工程开发能力去高效化地训练和部署模型和服务。
在互联网领域从事机器学习的人基本上属于以下两种背景:其中绝大部分是程序员出身,这类童鞋工程经验相对会多一些;另一部分是学数学统计领域的,这部分童鞋理论基础相对扎实一些。因此对比上图,这二类童鞋入门机器学习,所欠缺和需要加强的部分是不一样的。
数学
曾经有无数的满怀激情,誓要在机器学习领域有一番作为的同学,在看到公式的一刻突然就觉得自己狗带了。是的,机器学习之所以门槛高并且显得高大上的主要原因就是数学。
每一个算法,要在训练集上最大程度拟合同时又保证泛化能力,需要不断分析结果和数据,调优参数,这需要我们对数据分布和模型底层的数学原理有一定的理解。
所幸的是如果只是想合理应用机器学习,而不是做相关方向高精尖的研究,所需要的数学知识读完本科的理工科童鞋还是能很容易的把这些数学知识学明白的。
基本所有常见机器学习算法需要的数学基础,都集中在微积分、线性代数和概率与统计当中。下面我们先过一过知识重点,文章的后部分会介绍一些帮助学习和巩固这些知识的资料。
微积分
微分的计算及其几何、物理含义,是机器学习中大多数算法的求解过程的核心。比如算法中运用到梯度下降法、牛顿法等。
如果对其几何意义有充分的理解,就能理解 “梯度下降是用平面来逼近局部,牛顿法是用曲面逼近局部”,能够更好地理解运用这样的方法。
凸优化和条件最优化的相关知识在算法中的应用随处可见,如果能有系统的学习将使得你对算法的认识达到一个新高度。
梯度下降法示意图
线性代数
大多数机器学习的算法要应用起来,依赖于高效的计算,这种场景下,程序员童鞋们习惯的多层 for 循环通常就行不通了,而大多数的循环操作可转化成矩阵之间的乘法运算,这就和线性代数有莫大的关系了。
向量的内积运算更是随处可见。矩阵乘法与分解在机器学习的主成分分析(PCA)和奇异值分解(SVD) 等部分呈现刷屏状地出现。
奇异值分解过程示意图
在机器学习领域,有相当多的应用与奇异值分解都有非常紧密的联系,比如机器学习中常做 feature reduction 的 PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的 LSI(Latent Semantic Indexing)
概率与统计
从广义来说,机器学习在做的很多事情,和统计层面数据分析和发掘隐藏的模式,是非常类似的。以至于传统的机器学习很大一部分被称作统计学习理论,这充分说明了统计学在机器学习领域的重要性。
极大似然思想、贝叶斯模型是理论基础,朴素贝叶斯 (NaiveBayes)、语言模型 (Ngram)、隐马尔科夫 (HMM)、隐变量混合概率模型是他们的高级形态。常见分布如高斯分布是混合高斯模型 (GMM) 等的基础。
朴素贝叶斯算法的基本原理
经典算法的学习
机器学习中有很多的经典算法:感知机,KNN,朴素贝叶斯,K-Means,SVM,AdaBoost,EM,决策树,随机森林,GDBT,HMM……
算法这么多,那么对于初学者应该怎么学习呢?我的答案是:分门别类很重要。基本上,对机器学习算法的分类普遍的观点是分为三大类:有监督学习,无监督学习,强化学习。
编程技术
对于编程技术学习和选择,无非就是 编程语言 和 开发环境。我个人的建议是 Python + PyCharm。原因很简单,Python 简单易学,不至于让我们把太多的时间花在语言的学习上(PS:学习机器学习的重点在于各个机器学习算法理论的学习和掌握)。并且 Jetbrains 公司开发的 Python 集成开发环境 PyCharm 也是非常的简单易用。
Python 与 PyCharm
▌你是否真的准备好了?
虽然目前 AI 领域发展火热,商汤科技 B 轮融资 4.1 亿美元Google一线的各大业务纷纷改用深度学习,落伍移动时代的微软则已拉起一支近万人的AI队伍。平均每10.9个小时诞生一家AI企业。
这一迹象,对于广大程序员来说,特别是对即将走向技术一线的准程序员而言,还是值得重点关注的。回顾一下移动互联网所带来的机遇,很容易就能算清,掌握AI能为一线工作带来怎样的优势。
不过,跟移动开发不同,要求严苛的数学门槛,成本高昂的实战训练,令AI人才的培养周期猛增至5年以上……似乎没有硕士、博士的知识储备,就一定要跟AI相关的技术工作说再见了吗?
下面的总结,大家可以自行对照:
如果你数学一般,但是编程能力非常好,你曾经有着用代码改变世界的雄心。对于这一类 猿友 ,我觉得你转行也行,但是你一定要走应用化的 AI 道路。
如果你数学很好,但是编程薄弱。恭喜你,你具备了转行 AI 的先天优势。对于这类 猿友,我觉得你可以转行 AI,但是你得努力把编程水平提上来。
如果你数学很牛,曾经与菲尔兹奖擦肩而过,曾经给 Apache 顶级项目贡献 N 万行核心代码。恭喜你,AI 领域需要的就是你,你就是未来的 Hinton,吴恩达……
AI 大行其道,你准备好了吗?
在这里,推荐 CSDN 学院开设了王牌高端课程《人工智能工程师》实训营,划重点:用 4 个月时间帮助你成为高端人工智能开发工程师,实现转型。
实训营从数学基础开始补起,从机器学习原理及推荐系统实现等的基础理论,再到四个工业级项目的系统实战,共计三阶段。
联系 CSDN 学院职场规划师,获取一对一专属服务
(包括:IT 职场规划服务/专属折扣)
为什么推荐CSDN实训营?
很多学员都曾苦恼,工作中缺乏“好师傅”,很多 bug,也都得绞尽脑汁自己解决。在人工智能实训营,这些问题都将不存在。课程形式采用线上学习,学习者无需脱产,利用每天空闲时间,按照课程学习计划表进行即可。课程采用闯关式学习,每阶段都有作业,也就说,你在第一天学习到的某个知识点,接下来就要通过案例作业去训练消化。所有的知识点组成了一个大型项目的解决方案。
另外我们采取导师+课程助教的服务模式。
授课的两位老师分别是:中国科学院大学计算机与控制学院副教授卿来云老师、和计算机视觉领域处理大牛智亮老师。两位老师一个偏重理论知识、算法推倒;一个偏重实际操作,实战经验,可以全方面的为学员提供知识的讲解。
课程助教将会会带领你一起攻克项目,review你的代码并给出意见。最后,课程助教会带你们一起进行项目最后上线路演,并接受导师的点评。
实训营究竟怎么样?先来看看往期学员上课后的感受吧:
接下里,给大家展示下部分学员的作品:
对于课业完成优秀的同学,CSDN 学院还将提供名企推荐,看到这里,你想不想踩在过来人的肩膀上,轻松实现转型人工智能工程师呢?不妨填加 CSDN 学院小姐姐的微信聊一聊吧,报人工智能头条的粉丝,还将获得千元优惠券哦。
联系 CSDN 学院职场规划师,获取一对一专属服务
(包括:IT 职场规划服务/专属折扣)
最后,祝愿所有的朋友能学有所成~
点击 | 阅读原文 | 查看更多课程内容!