美文网首页
如何自学人工智能?人工智能好学?初学者如何从零学习人工智能和机器

如何自学人工智能?人工智能好学?初学者如何从零学习人工智能和机器

作者: 资料库大师 | 来源:发表于2017-10-26 10:48 被阅读82次

    这应该不是一篇科普文。 自从几个月前开始关注Artificial Intelligence (AI)和Machine Learning (ML),我读过不少科普的文章。从中有一定的收获,大概对AI和ML有一些感觉了,其中有一些科普文章有一定的深度。但更多的感觉是,想真正了解AI和ML,掌握技术并且能够应用到实际的项目中去,那些科普文的内容是不够的,更何况可能有些作者本人的理解也不够深入,写的更是皮毛上的皮毛。很多都是看着很轻松,貌似看完觉得自己懂了一些,其实好像什么也没懂。

    如果真想掌握技术的话,这不是一条好的途径。有的时候必须得Learn XXX the hard way。但同时,如果按照课本一张一张读,在教室一节一节课的上,又太慢了,尤其对于很多想自学的人不是很可行。同时,技术太多,技术进展又太快,已经不在学生阶段又想用学生阶段的方式来学,估计得越学越跟不上了。

    很多人都有这个苦恼吧,我也有。这里我给不出什么灵丹妙药般神奇的解决方案,只是来分享下我自己亲测过的一些与AI和ML相关的资源吧。

    1. Udacity Machine Learning Nanodegree

    这算是我Machine Learning的启蒙。虽然说之前也看过不少别的课程或者视频了,但因为付钱上了这个课程,就要赶紧写作业,做project。人就是得靠外在动力驱使才能干的更好吧,性本贱。。。

    我从这门课里收获还是蛮大的,但并不是说这个nanodegree好。相反,除了这门课里的五六个project还算不错,助教interactively批改认真之外,真的不值得花钱去上这门课。因为一是这个nanodegree的课都是Udacity里的免费课,二是有些老师我确实很不喜欢。如果可以说不礼貌的话,我要说有些老师教的就是屎,尤其是Georgia tech的这两个人,Charles Isbell and Michael Littman。如果他们对你的口味,就请忽略我的评论吧。

    我在另一篇文章里详细列出了这个nanodegree的课程表(Udacity ML Nanodegree Syllabus)。主要来说,就是四块:

    1) Model Evaluation and Validation

    2) Supervised Learning

    3) Unsupervised Learning

    4) Reinforcement Learning

    个人感觉其中Reinforcement Learning要比supervised/unsupervised Learning要难,完全不像一个概念。这个Reinforcement Learning的概念跟后面UC Berkeley的AI课讲的差不多,现在Machine Learning和Artificial Intelligence的分类比较杂,具体对待吧。这个RL的project是train一个很简单的self-driving car,用到了Q-learning的概念,当时做这个project的时候挺享受的。个人理解是这种RL得大量的试错,并且能否预先定义一个参数少并且够用的states对training的结果和速度非常重要。

    如果你上了Udacity里的这五门课:

    Intro to Machine Learning, Instructors: Katie Malone, Sebastian Thrun

    Machine Learning for Trading, Instructors: Tucker Balch, Arpan Chakraborty

    Machine Learning, Instructors: Charles Isbell, Michael Littman

    Machine Learning: Unsupervised Learning, Instructors: Charles Isbell, Michael Littman

    Reinforcement Learning: Charles Isbell, Michael Littman

    那么这个Nanodegree里讲的内容就是这些课的子集。你只需要去Github下载课堂的project自己做就好了(Github udacity/machine-learning)。当然,是不会有人给你改作业的,你也拿不到这个小证书,但这些都真的很重要吗,可能每个人自己知道吧。

    这门课没有教你code from scratch,基本就是教怎么用python的Sklearn的包。我做过的课堂project就放在这里了(Udacity_MachineLearning_Nanodegree Project Solutions).

    2. Stanford CS231n class, Convolutional Neural Networks for Visual Recognition. (CS231n Convolutional Neural Networks for Visual Recognition)

    李飞飞和另几个老外的课,非常非常推荐。既简单又深入。简单到你只要会python,会基本的数学就能上手。深入到,他们带着你从最简单的一些regression编到非常复杂的Convolutional Neural Network, LSTM, Recursive Neural Network。甚至用自己写的python程序编deep dream那种creepy的照片!注意,这里不用任何的deep learning的package。把作业都做完需要更多的时间,但一遍之后真正就掌握了,再不用听别人跟你扯什么是backpropagation,什么是卷积神经网络了。满打满算,从刚开始看class notes到编完一个复杂的Conv Net,我用了三周的时间,中间也花了不少时间自己推公式,思考对比,还算是比较值。做完后写了个小总结(Github Convolutional Neural Net from Scratch),LSTM那些我暂时还没有搞。

    3. UC Berkely CS188 Class, Intro to AI (Berkeley AI Materials).

    这门课我没有做作业,也没有很仔细的看课件,我是把所有的课程视频看了一遍。个人感觉,目前网络上能找到的最好的AI课程了吧,没有之一。AI的概念我不是很清楚,我感觉整个行业也有些模糊(以上说的神经网络应该算是AI吧),这个课里讲的AI很多是关于decision making, planning等等的,涉及到很多agent, state, action, policy, search等等的概念。还讲到很多的贝叶斯网络,markov model,hidden markov model等等的。

    顺便说一句,Udacity上最早的MOOC课大概就是Intro to Artificial Intelligence,Sebastian Thrun和Peter Norvig教的(都是standford faculty),这个课讲的内容与UC Berkeley的课很像,但Berkeley的课更深入也更好一些。

    4. Youtube channel

    很神奇的是,Youtube里有很多个人或者组织办的channel,就是来讲课的。想想现在教学的方式真的是在变化,当然,能对传统教学的模式有多大冲击就是另一个话题了。

    其中两个channel推荐:

    Siraj Raval,这个印度小哥讲课很短(5-10分钟),非常炫酷,讲着讲着就唱一段Rap,听他的课觉对不犯困。而且他讲的东西都很应用很前沿,一开始接触有种惊叹的感觉。然而,在我试着跑他的模板Code并加以自己尝试之后,观点有所转变。这哥们很多code都是直接wrap别人的,造成的后果就是特别乱,package用的很杂。不知道为啥,反正他的很多模板code我都没有跑成功。多说一句,这哥们刚开始跟Udacity合作,开办了个人的AI课程。卧槽,印度人的这种能装逼能吹的能力真的得好好学一学。不管怎样,还是挺适合刚入门的人开开眼界的。

    sentdex,一个美国本科小哥,完全非科班出身。可以看出来他自己对Machine Learning和AI并不是理解很深入,讲的基本上都是用Sklearn的包。但好处是他还有个个人网页 (Python Programming Tutorials),可以很方便的查一些内容。另外,这个小哥讲的非常入门,而且我亲测的,他讲的几乎所有的code都能跑,他也会手把手教你怎么安装一些软件或者package。虽然不够深入不够炫酷,但对于初学者来说,这种直接就能跑,也不用自己找bug的教程还是比较省心的。因为他讲的浅,所以基本一个月后你就不用去follow他了。

    5. Udacity Artificial Intelligence Nanodegree & Udacity Self-driving Car Nanodegree

    我还参加的Udacity AI nanodegree,之前搞的那个Machine Learning Nanodegree也搞完了。另外,我一个要好的学造汽车的哥们,也参加了Udacity Self-driving Car Nanodegree。

    这两个一月份刚刚开始,都是第一期。模式跟以往的Udacity Nanodegree很不一样。以往的Nanodegree的课基本都是免费的公开课,而这两个的课都没用公开。另外,之前的Nanodegree都没有时间限制,你要是快的话,一个月就能全部结束。但这两个都要按部就班一个term一个term搞,一个term三个月吧。

    从另一个角度看,就知道目前AI在社会有多火了。这两个课程都是要报名的,而且名额有限。也许是Udacity在搞饥饿营销吧。第一期的报名人数大大超过了名额。

    从目前的课表看,这个AI nanodegree term 1的内容跟UC Berkeley的AI课很相似。而self-driving car的第一期教computer vision,主要就是让你用OpenCV以及用Tensorflow和Keras搞一搞神经网络。

    6. 我亲测过的一些材料会挑一些共享在Github上,欢迎来李继尧的Github瞅一瞅,能批评指正那更是感激不尽了。

    我从事行业工作8年,工作之余搜集了一些视频资料,涉及的领域有下面这些,

    有JAVA高级架构师、系统高级架构师、大数据、机器(深度)学习/数据挖掘/数据分析/算法、Android、IOS、Web前端、JavaScript、WebApp(React Native)、微信小程序开发、C、C++、Python开发运维、Linux运维架构内核、PHP、.Net、数据库、UID、游戏开发、软件测试、网络编程、FFmpeg开发、计算机软考等教程

    我把资料都挂在了店里,也算是物尽其用(资料费用基本在 1 元左右 -搬运费/人工维护费),希望能帮到需要的人,不用费时在找资料;

    资料也在不断更新中,不论是新手,还是老手,都能找到你需要的资料;

    相关文章

      网友评论

          本文标题:如何自学人工智能?人工智能好学?初学者如何从零学习人工智能和机器

          本文链接:https://www.haomeiwen.com/subject/tabhpxtx.html