一.前记
2017年4月11号来到武大,提前进入国家多媒体软件工程技术中心刑侦组实验室学习,实验室的研究方向是机器视觉,主要涉及目标检测、目标跟踪、行人重识别、图像分割等方向。自己之前也是深深的被机器学习技术的应用所吸引。屌屌的无人车,网购商品推荐,新闻,歌曲等等个性化推荐系统,还有安防,公安刑侦用到的各种人脸识别(武汉东湖绿道人脸识别系统检测到逃犯),再如机器人主持节目,最强大脑中的小度。还有今天刚刚看到在上海停车场,可以利用计算机视觉技术结合物联网,支付技术自动识别车牌号来扣取车主支付宝上的money,应用真的好多好多。在这些应用背后是什么样的技术在支撑?很重要的一点是机器学习算法(重要但不是唯一的技术)。在选择实验室之前,通过网上了解到刑侦组涉及的方向和项目,很感兴趣,可以学习一下背后支撑这么有意思的系统的知识和技术,也感谢老师给的机会~
二.机器学习的过程是什么样子的?(后面的所有内容仅是个人理解,有可能有些地方有偏差)
机器也能学习?人学习可以通过老师讲,和伙伴交流,自己看书上网去学知识,人是具有一定抽象能力的,很容易对具体事物抽象出特征,举一反三,比如看到一辆汽车后,再看到其他汽车,也仍然可以辨认出来这就是汽车。而机器只懂得0和1,机器更强大的能力在于计算,怎么样让它也认识汽车。这就要通过大数据和我们人为设定的模型(含有很多未知参数),然后通过一定的算法去求解出参数,从而得到一个确定的数学模型。然后我们可以用这个模型可以用来对新数据进行预测(对物体分类或者预测一些事件,比如股价,或者某人的医学分析来预测患有某种疾病的概率大),或者在计算过程中分析出数据内在的关系。怎么样计算还是要人去告诉它,计算的方法也就是机器学习算法。
对初学者,想了解机器学习更多的应用的话,参考一篇文章: http://blog.jobbole.com/62334/
三.人工智能(AI)与机器学习(ML)的关系:
AI:Artificial Intelligence,本身就是一个机器,但它拥有一些智能。什么叫智能,通常包含五个方面:Reasoning,Knowledge,Planning,Communication,Perception。也就是说研究一种机器,能够进行自我的逻辑推理,能够把现实世界通过知识描述和表达出来,同时还能自我设置目标并实现目标,另外可以理解书面和口头语言,能通过对世界的图形、声音以及其他途径去感知世界(机器视觉应该算作这一部分吧)
ML:目前认为是实现人工智能最好的技术手段。
四.我的学习路线
1.使用书籍:王斌老师翻译的《机器学习实战》,简短的原理说明,具体的python代码实现,操作性和直观性强。李锐老师还翻译过《信息检索导论》和《大数据:大规模互联网数据挖掘与分布式处理》
李航老师的《数学统计方法》,讲解了一些在实际应用中重点的机器学习算法,重在讲解背后的数学原理,数学公式推导详细
周志华老师的经典著作《机器学习》,讲解的知识很全,但不细致。公式推导跳跃性有点大(对于我这种数学不好的而言)
可以看到每本书特点,和侧重点不同,所以结合起来看咯,理论指导实践,实践又能加深理论的认识,这才是工科学习的魅力。在学习的时候一定要敲代码,这个过程可以学习python和一门框架,比如TensorFlow,Caffe2等。通过Python还可以了解一下数值计算,编程数学一起学习咯。目前只是找到了学习的感觉,希望在九月份开学之前可以掌握其中的百分之七十吧~两年的非全专硕,时间少,任务重,压力大啊~
2.网上有很多前辈的博客,看书看不懂的地方就要上网差博客了,自己现在走的路,已经有很多前人都走过了~
3.推荐Coursera平台上吴恩达老师讲解的Machine Learning课程
4.经典论文:初学者可以先看一些综述类的文章,然后在阅读细节的时候,书籍或者博客里也会有一些参考文献值得一读~
五.分享下导师提的四好要求:
1.态度好,前提吧
2.编程好:我之前用过Java,开发过一些简单的Android应用,研究生阶段主要学习C++和Python,Python是真的个人喜欢,丰富的第三方库,简洁的语法,现在很多深度学习框架也主要支持Python。学习C++为了更加了解一些底层吧,而且有些场合下性能要求高,python要结合C++才可以吧~而且觉得研究生阶段一定要做一两个有深度,让自己在某项技术上有深刻见解。
3.数学好:算法背后一定是数学原理在支撑,掌握一些基本的数学知识,才能更好的读懂文章和算法。主要有:线代,概率论,高数,凸优化,离散随机系统等
4.英语好:在很多科研领域上,中国毕竟和发达国家有些差距,好的论文肯定都是英文版的,顶级会议也在国外~
六.把握机遇
错过了移动互联网,大数据,云浪潮和互联网,还要再错过人工智能吗?
不怕别人比你优秀,就怕比你优秀的人还比你勤奋~