Re: [请益] 非本科(无程式基础),想走机械学习

楼主: narwhalgary (独角鲸葛瑞)   2016-05-13 15:01:46
我想就原po的问题做一些分享,不能说绝对正确,
至少是我转进资工三年来的心得,
原po的问题是,一个没有程式和资工基础的人,是否有办法转进机器学习的领域?
这个问题其实很大很难回答,首先,机器学习这个词现在是很广泛的,
凡是有用到一些类似的算法,不管再电脑视觉、人工智能、自然语言处理等等,
其实都可以归到机器学习的范畴,问题是,你到底对哪个有兴趣?
接下来的讨论就学术的领域回答,因为我不知道工业领域的可能性:
(1)我可能对很多都有兴趣,反正以后再转就好啦
Ans:错。
一旦你进了实验室,你大半的实验方向其实就决定了,举例来说,
我进了电脑视觉的实验室,你就不能去做自然语言的东西啦,除非你转实验室。
所以你必须先清楚自己到底对哪种有兴趣才是最重要的。
(2)可是我又还没有进实验室,我哪知道?
Ans:错。
你当然可以进实验室再找方向,但是这真的很冒险,尤其是你事先离职进入一个
未知的领域,我建议你先看一些top conference,看一些paper让你有些感觉,
你真的对某一方面有很浓厚的兴趣,你再去深入考虑要不要进去这领域。
举例:电脑视觉有CVPR,ECCV,ICCV,人工智能有AAAI等等(我只看电脑视觉的)。
(3)好吧,那假设我想走电脑视觉这样算决定题目了吗?
Ans:还是不行。
光是电脑视觉里面还有好几个子项目,classification,recoginition,image matching
很多东西可以跟类似的算法结合,但是差异真的很大,你必须了解每个子项目
的优势和缺点,你才有可能做的好,不然你会痛苦很久,通常了解一个子项目,
我会建议你花一年的时间实作一些open source的程式,假设今年是2016,
你最好把2015的每种最好的方法至少有办法做出两三种来,不然你无法比较。
(4)可是我只是想踏入这个领域,有必要要求这么高吗?
Ans:有。
一旦你踏入了某某资工系,或某某学术机构,你想做类似ML的研究,除非你是一开始
就想走创业这条路,不然你大概就是学术研究优先,如果你要学术研究,
你的目标就是打败现今最强的方法,才有可能发paper(有用的paper),
如果你只是想要随便发一篇硕士论文,随便毕业一下去上班,那我不建议你这样走。
但是当然,没有开始了解就没有结果,没有接触也没有感触,所以这也只是建议而已。
(5)好吧,所以你还是没回答我转进去是不是可行的?
Ans:可以的。
因为我是物理系的,博士班才转进去,我同实验室的各种电机系、半导体和写网页的,
其实和ML没半点关系,大家即使进去了,其实也会卡住很久,卡住几个月或几年这
是看你的努力程度和资质,并不是说有程式背景就会一帆风顺,重要的还是你的动机,
足不足够让你撑到你发达的那天(发paper的那天)。
(6)那我需要先学好什么程式吗?
Ans:yes and no.
你不应该默认你自己该学什么程式,因为你会需要学很多种(掩面),特别是不同领域
习惯使用的程式也差很多,我举个例子来说,你应该有听过深度学习(deep learning),
你知道光是深度学习的套件大概就有六七种之多,你知道光是电脑视觉之中,每种子项目
所使用的套件就有严重的不同,简单来说,一旦以前的人用了某种套件,你最好能够
跟他比较,那你就最好学会这种套件,而学会一种,都要花上很多很多的时间,
所以回过头来,我还是先建议你先决定你到底真正对哪种领域的哪个子项目有兴趣,
才是最重要的。
可能有些人会跟你说,‘只要你精通某种程式,你就可以写出天下所有算法。’
理想上来说是这样没错,但是实际上我认为是浪费时间,因为学术研究上,
你会发现很多人的算法,你是极为难以复制的,简单来说,你最好使用他提供的
程式,不然你重新做出来的东西效能可能没有人家report的十分之一,而这不是因为他的
方法错了,是因为你程式做错了(当然也有可能是因为他paper说谎,不过通常是
写错了),如果你是对ML本身有兴趣而不是程式优化,你不该太执著于自己把某种方法
做出来,因为通常是做不到的(而通常有人会误解这是自己程式基础不够)。
(7)那我到底应该先会什么?
Ans:Google。
这点我真的完全没有在开玩笑,基本上你只要有一台电脑,可以google,可以拿到那些
paper,你就可以开始做研究了。因为我刚刚提到的每一点,都可以从搜寻开始,
你可以搜寻那些大领域、子项目、paper、最新的code,你通通拿的到,只是可能你不
知道其实现在的网络如此强大,还有你可能没有一些一起研究的同学之类的。你可能
不知道一些专有名词如何去搜寻,可能你也不知道要先去找引用citation最多的paper,
有些东西的确需要老师,有些也许需要学校,但是你最需要的其实是google,
举例来说,你想知道什么是PCA,你可以去翻课本,去上数学课,你也可以去google找
到一篇中国人写的blog然后用一个小时弄懂顺便把他的code拿来实作一下,(为什么
是中国人是因为他们写blog分享研究的风气很盛行,你甚至不太需要懂英文)。
(8)我什么时候才知道我具备这些能力了?
Ans:Related work。
你看paper的related work的时候,你已经知道作者会讲某些方法,而这些方法
你都大概知道做什么了,而且你知道彼此的优劣,你就具备了研究的能力了。
(9)那我该怎么开始?
Ans:开始看paper。
只有开始看,你才有机会去碰到我刚刚说的每一项问题,你才知道原来自己是做不出
来某些paper上面根本没有提过,但是他们放出来的code里面却有的细节,
你才知道某些paper是bull shit,某些是瑰宝,你的心里应该要记得某些打动你
心的paper,如果你对某些work有深深的敬畏,你就知道你其实适合做研究了,
至于是不是ML,是哪种ML,我觉得还是先看paper之后你才知道。
(10)那考试呢?
Ans:蒐集资料。
基本上台大博士班的考试,期中或是资格考,还是一个蒐集资料的过程,简单来说
就是考古题,我和我同学都认为蒐集完这个资料能让我考试准备的过程越短越好,
为什么?因为我们想要做研究,考试是浪费时间但是又不得不考。你可能会问,
申请硕士或博士的考试呢?我认为最好的方法就是不考试,所以你应该先去找个
老师,用研究助理的方法直接进去研究(我们很多同学都无背景),然后申请学校
的时候最好有老师的推荐信,这样口试委员基本上就让你过了(真的),如果
你可能没办法这样,那你可能会需要笔试,就硬著头皮去做吧,但是你要知道,
真正重要的开始是你开始看paper研究,开始真正的去想、思考、实作,
而不是说你辞职想考资工系叫做开始。

万事顺利
作者: alongalone (沿着孤单的路)   2016-05-13 15:07:00
首推..!?
作者: storm654321 (P助)   2016-05-13 16:41:00
推分享
作者: LinkCoffin (LinkCoffin)   2016-05-13 17:12:00
作者: neo5277 (I am an agent of chaos)   2016-05-13 17:12:00
看天分
作者: stitchris (史迪奇里斯)   2016-05-13 17:22:00
作者: xaos (wtichen)   2016-05-13 17:26:00
好文 推想当初 大一进资工系都不知道领域会分这么细到大四了 只知道自己蛮喜欢ai少了很多时间去做相关的专题
楼主: narwhalgary (独角鲸葛瑞)   2016-05-13 17:33:00
有人问可以省很多时间啊(茶
作者: MIKEmike07 (加油!)   2016-05-13 18:30:00
XXX1好文 m
作者: A4P8T6X9 (残废的名侦探)   2016-05-13 19:28:00
推好文
作者: htc812 (大帅)   2016-05-13 19:47:00
推,我数学转资工的心路历程和你满像
作者: hsu761001 (忙里偷闲)   2016-05-13 19:55:00
楼主: narwhalgary (独角鲸葛瑞)   2016-05-13 20:08:00
希望抛砖引玉,大家能分享各自不同的经验
作者: hei566 (Cheer)   2016-05-13 21:48:00
好文 不过当初真的很难想那么细
作者: james847286 (金X5)   2016-05-13 22:05:00
推 这篇还蛮中肯的
作者: cocoyan (抠抠厌)   2016-05-13 23:06:00
好文
作者: joeywayi (拉拉拉吃屎啦)   2016-05-14 03:13:00
推推我也是物理系
作者: nitero (nitero)   2016-05-14 09:06:00
好文
作者: yibaby77 (P)   2016-05-14 12:21:00
作者: baseguard (....NN )   2016-05-14 18:08:00
computer vision不一定全跟ML有关
作者: ptt0211 (松城煙雲)   2016-05-15 00:03:00
好文推
作者: jskblack (天空茶)   2016-05-16 23:17:00
Image processing->computer vision-> ML
作者: dophin332 (...)   2016-05-19 16:40:00

Links booklink

Contact Us: admin [ a t ] ucptt.com