一名通俗轨范员该若何转人工智能倾向?_机械_论文
一. 目的
本文的目的是给出一个大略的,平滑的,易于实现的学习方法,帮助 “普通” 程序员踏入AI领域这个门。这里,我对普通程序员的定义是:拥有大学本科知识;平时事情较忙;自己能获取的数据有限。因此,本文更像是一篇 “from the scratch” 的AI入门教程。
二. AI领域简介
AI,也便是人工智能,并不仅仅包括机器学习。曾经,符号与逻辑被认为是人工智能实现的关键,而如今则是基于统计的机器学习霸占了主导地位。最近火热的深度学习正是机器学习中的一个子项。目前可以说,学习AI紧张的是学习机器学习。
但是,人工智能并不等同于机器学习,这点在进入这个领域时一定要认识清楚。关于AI领域的发展历史先容推举看周老师写的《机器学习简介》。下面一个问题是:AI的门好跨么?实在很不好跨。我们以机器学习为例。
在学习过程中,你会面对大量繁芜的公式,在实际项目中会面对数据的缺少,以及艰辛的调参等。如果仅仅是由于以为这个方向未来会“火”的话,那么这些困难 会随意马虎让人放弃。考虑到普通程序员的特点,而要学习如此困难的学科,是否便是没有道路的?答案是否定的。只要制订得当的学习方法即可。
三. 学习方法
学习方法的设定大略说便是回答以下几个问题:我要学的是什么?我若何学习?我如何去学习?这三个问题概括说便是:学习目标,学习方针与学习操持。学习目 标比较清楚,便是踏入AI领域这个门。这个目标不大,因此实现起来也较为随意马虎。“过大的目标时便是为了你日后放弃它时找到了足够的情由”。
学习方针可以总结为 “兴趣为先,践学结合”。
大略说便是先培养兴趣,然落后修中把实践穿插进来,螺旋式提高。这种办法学习效果好,而且不随意马虎让人放弃。有了学习方针往后,就可以制订学习操持,也称为学习路线。下面便是学习路线的先容。
四. 学习路线
我推举的学习路线是这样的,如下图:
图1 AI领域学习路线图
这个学习路线是这样设计的:
首先理解这个领域,建立起全面的视野,培养起充足的兴趣,然后开始学习机器学习的根本,这里选择一门由浅入深的课程来学习, 课程最好有足够的实验能够进行实战。根本打下后,对机器学习已经有了充足的理解,可以用机器学习来办理一个实际的问题。
这时还是可以把 机器学习方法当作一个黑盒子来处理的。实战履历积累往后,可以考虑连续进行学习。这时候有两个选择,深度学习或者连续机器学习。深度学习是目前最火热的机 器学习方向,个中一些方法已经跟传统的机器学习不太一样,因此可以单独学习。除了深度学习以外,机器学习还包括统计学习,集成学习等实用方法。
如果条件足够,可以同时学习两者,一些规律对两者是共通的。学习完后,你已经具备了较强的知识储备,可以进入较难的实战。这时候有两个选择,工业界的可以选择看开源项目,以改代码为目的来读代码;学术界的可以看特定领域的论文,为办理问题而想发论文。
无论哪者,都须要知识过硬,以及较强的编码能力,因此很能稽核和磨炼水平。经由这个阶段往后,可以说是踏入AI领域的门了。“师傅领进门,修行在个人”。之后的路就要自己走了。
下面是关于每个阶段的详细先容:
0.领域理解
在学习任何一门知识之前,首先第一步便是理解这个知识是什么?它能做什么事?它的代价在什么地方?如果不理解这些的话,那么学习本身便是一个没有方向的舟,不知道驶向何处,也极易有沉船的风险。
理解这些问题后,你才能培养出兴趣,兴趣是最好的引***,学习的动力与持久力才能让你搪塞接下来的多少个阶段。 关于机器学习是什么,能做什么,它与深度学习以及人工智能的关系,从机器学习谈起。
1.知识准备
如果你离校过久,或者以为根本不牢,最好事先做一下准备复习事情。“工欲善其事,必先利其器”。以下的准备事情不多,但足以搪塞后面阶段的学习。
数学:复习以下基本知识。线性代数:矩阵乘法;高数:求导;概率论:条件与后验概率。其他的一些知识可以在后面的学习的过程中按需再补;
英文:常备一个在线英文词典,例如爱词霸,能够不吃力的看一些英文的资料网页;
FQ:可以随时随地上Google,这是一个很主要的工具。不是说百度查的不能看,而是很多情形下Google搜出来的资料比百度搜的几十页的资料还管用,尤其是在查英文关键字时。节省韶光可是很主要的学习效率提升;
2.机器学习
机器学习的第一门课程首推Andrew Ng的机器学习。这门课程有以下特点:难度适中,同时有足够的实战例子,非常适宜第一次学习的人。
3.实践做项目
学习完了根本课程,你对机器学习就有了初步理解。现在利用它们是没有问题的,你可以把机器学习算法当作黑盒子,放进去数据,就会有结果。在实战中你更须要去关心如何获取数据,以及怎么调参等。如果有韶光,自己动手做一个大略的实践项目是最好的。
这里须要选择一个运用方向,是图像(打算机视觉),音频(语音识别),还是文本(自然措辞处理)。这里推举选择图像领域,这里面的开源项目较多,入门也 较大略,可以利用OpenCV做开拓,里面已经实现好了神经网络,SVM等机器学习算法。项目做好后,可以开源到到 Github 上面,然后不断完善它。实战项目做完后,你可以连续进一步深入学习,这时候有两个选择,深度学习和连续机器学习;
4.深度学习
深度学习:深度学习是目前最火热的研究方向。有以下特点:知识更新快,较为零星,没有系统讲解的书。因此学习的资源也相对零散,下面是一些资源先容。个中不推举的部分并不代表不好,而是在这个初学阶段不得当:
推举,UFLDL: 非常好的DL根本教程,也是Andrew Ng写的。有很详尽的推导,有翻译,且翻译质量很高;推举,Deep learning (paper):2015年Nature上的论文,由三位深度学习界的大牛所写,读完备篇论文,给人居高临下,一览众山小的觉得,强烈推举。如果只能读一篇论文理解深度学习,我推举此篇。这篇论文有同名的中文翻译;推举,Neural networks and deep learning:这本书的作者非常善于以浅近的措辞表达深刻的道理,虽然没有翻译,但是阅读并不困难;推举,Recurrent Neural Networks: 结合一个实际案例见告你RNN是什么,整篇教程学完往后,会让你对RNN如何产生浸染的有很清晰的认识,而这个效果,乃至是读几篇干系论文所没有的;
5.连续机器学习
深度学习未必便是未来的一定主流,至少一些大牛是这么认为的。传统的机器学习有如下特点,知识系统化,有相对经典的书。个中统计学习(代表SVM)与集成学习(代表adaboost)是在实践中利用非常多的技能。下面是干系资源:
推举,机器学习(周志华): 如果是在以前,机器学习方面的经典教材首推PRML,但现在周老师的书出来往后,就不再是这样了。首先推举读周老师的书。这本书有一个特点,那便是再难的 道理也能用浅近精髓精辟的措辞表达出来。正如周老师的名言:“表示你水平的地方是把难的东西讲随意马虎了,而不是把随意马虎的东西讲难,想把一个东西讲难实在太简 单”;
6.开源项目
当知识储备较为充足时,学习可以再次转入实践阶段。这时候的实践仍旧可以分两步走,学习经典的开源项目或者揭橥高质量的论文。开源项目的学习该当以只管即便 以优化为目的,纯挚为读代码而学习效果每每不太好。好的开源项目都可以在Github 里搜索。这里以深度学习为例。深度学习的开源精良库有很多,例如torch,theano等等,这里列举个中的两个:
推举,DeepLearnToolbox:较早的一个深度学习库,用matlab措辞撰写,较为适宜从刚学习的课程转入学习。遗憾的是作者不再掩护它了;
推举,tensorflow:Google的开源库,时至今日,已经有40000多个star,非常惊人,支持移动设备;
7.会议论文
较好的课程都会推举你一些论文。一些著名的技能与方法每每出身于一些主要的会议。因此,看往年的会议论文是深入学习的方法。在这时,一些论文中的内容会使令你学习数学中你不善于的部分。有时候你会以为数学知识储备不足,因此每每须要学习一些赞助课程。
当你看完足够的论文往后,在这个阶段,如果是在校学生,可以选择某个课题,以发论文为目的来学习研究。一样平常来说,论文是事情的产物。有时候一篇基于实验的论文每每须要你写代码或者基于开源项目。因此开源项目的学习与会议论文的事情两者之间是有干系的。
两者可以同时进行学习。关于在哪里看论文,可以看一下CCF推举排名,理解一下这个领域里有哪些精良的会议。
下面先容两个图像与机器学习领域的著名顶级会议:
CVPR:与另两个会议ICCV和ECCV合称打算机视觉领域的三大会,把稳会议每年的主页是变动的,因此搜索须要加上年份;
Conference on Neural Information Processing Systems:简称NIPS,许多主要的事情揭橥在这上面,例如关于CNN的一篇主要论文便是揭橥在上面;
8.自由学习
到这里了,可以说是进入这个门了。下面可以依据兴趣来自由学习。
cs229:Ng写的讲义很不错,个中关于SVM的推导部分很清晰,想学习SVM推举;
Neural Networks for Machine Learning:大牛的视角跟人便是不一样,看看Hinton对神经网络是怎么看的,每每会让你有种原来如此的感悟。实在看这门课程也等同于读论文,由于险些每节课的参考资料里都有论文要你读;
CS231n: Convolutional Neural Networks for Visual Recognition:最新的知识,还有详细的作业。海内该当有团队对字幕进行了翻译,可以找找;
PRML:作为一门经典的机器学习书本,是很有阅读必要的,会让你对机器学习拥有一个其他的不雅观察视角;
五. 总结
本文的目的是帮助对AI领域理解不深,但又想进入的同学踏入这个门。这里只说踏入,是由于这个领域的专精实在非常困难,须要数年的积累与努力。在进行领域学习前,充分认识自己的特点,制订得当的学习方法是十分主要的。
首先得对这个领域进行充分理解,培养兴趣。在学习时,保持着循规蹈矩的学习方针,不要年夜进的学习过难资源;结合着学习与实践相辅的策略,不要只读只看, 实际动手才有造诣感。学习某个资源时要有充分的目的,不是为了学开源项目而看代码,而是为了写开源项目而看;不是为了发论文而写论文,而是为了干工作而写 论文。
如果一个学习资源对你过难,并不代表一定是你的问题,可能是学习资源的演讲或撰写人的问题。能把难的问题讲大略的人才是真正有水 平的人。以是,一定要学习优质资源,而不是不分是非黑白的学习。末了,牢记以兴趣来学习。学习的韶光很长,过程也很困难,而只有兴趣才是让你始终如一,攻 克难关的最佳助力。
谨以此文与在学海中乘舟的诸位共勉。我便是一名普通程序员,刚刚转入AI领域,还有很多不敷。希望此文可以帮助到大家。大数据技能学习互换群:805017805,成都加米谷大数据培训学校转自网络,仅供参考学习。
本文系作者个人观点,不代表本站立场,转载请注明出处!