变来变去的主题,到底想做啥?

来源:互联网 发布:加工中心编程招聘信息 编辑:程序博客网 时间:2024/05/18 05:18

变来变去的主题,到底想做啥?


    本博客第一篇非技术贴,嗯!要好好记记流水

1.从计算机图形学开始

  14年初,组长拿着一本《实时计算机图形学》和一份TinyGL的源码跟我说,对照着这本书分析下TinyGL的源码,以后说不定我们会用的到。然后组长就辞职读研去了。

  不过我一下子就沉迷进了这个对我来说很陌生的领域。为什么呢?仔细想想,好像在这之前我并没有一个可以说的上是比较擅长的专业领域,掌握的知识都是常说的公共课。于是在自己还算可以得数学和编程基础上,似乎一小段时间我的知识量飞速上升,这让长时间没有长进的我自信感爆棚,并且更加专注于此。另外一个原因就是工作内容并不是特别有趣。当时的工作主要在于Linux内核,我在的小组叫做显示组,主要工作就是维护核内显卡驱动正常地运行。内核代码枯燥无味,再加上每天不断地微调代码重启机器,这些当然没有在电脑上画画来的有趣。于是在周围几乎人人摆着Linux相关书籍的情况下,我桌上摆的是《计算机图形学》,《3D数学》,《微分几何》,《计算几何》(某天某领导拿着我的微分几何跟我说,微积分?你不会是想考研吧–)。

  真正说得上有所长进,是偶然发现了MIT6.837这门计算机图形学的公开课,让我从看书看代码到自己写代码,这也让我热衷于书本与公开课的课后习题。其中遇到了一些问题,让我开始看《微分几何》,《计算几何》《CAGD》等相关书籍。虽然只是添加部分代码,但是当时自己用openGL正确画出一个期望的几何体,用自己写的光线追踪器生成一张高清图像,成就感还是很足的。感谢主管对我这种“不务正业”看的很开,没有让我停下来去沉迷Linux内核,并表示让我多多学习,以后说不定会用得上(并没有)。部门的部长和我说,图形学是可以看看,但是和你们做的并没有太大关系。说的很对,直到我离职,我就只写过一个在字符界面绘制旋转的地球的程序,用来测试似乎还有问题的FB的mmap函数,关键词:旋转,纹理。

  然后我就辞职去读研了。

  还记得当时复试的时候老师问我,读研准备做些什么啊。我回答说,我要做一个游戏引擎!吓,其实我当时也没想真去自己写一个,只是想分析一个开源引擎的源码,不过豪言还是要说的,反正你又不是我导师。然后真去弄了本《Game Engine Architecture》《Physically Based Rendering》《real-time shadows》,现在他们还静静地躺在我的衣柜里,崭新的。本以为会主攻图形学一条路走到黑的,怎么貌似离散成数字图像了-_-

2.机器学习与西瓜书

  图像就图像,反正也差不多……(谁说差不多的,不懂你说个Void啊)。一个关心怎么成像,一个主要去分析图像上的内容,差的真不是一点点。现在我要关心的是:特征,ROI,匹配,相关……这些都是啥?

  既然转到了图像上,那就看图像处理与计算机视觉方面的论文。不少论文都提到,凸优化,机器学习,深度学习。还好凸优化本科还学过,有点基础,机器学习呢,肯定是要去看看的。还有一个原因就是自己想写一个升级的AI,来解决自辞职后打升级1缺3的痛苦(升级作为一款不打钱又适合消遣的游戏,我发现好像连消遣的时间都没有了)。当时都规划好了:服务器,阿里云学生机只要9块9;网站PHP和HTML5;数据库Mysql;图形界面WebGL。那么就差个AI了,嗯,一等二十四。

  根据AI的字面意思,我开始看机器学习。一开始是看网上的公开课,斯坦福大学的机器学习。由于当时coursera上这门课已经下架了,我是在下载的所有视频压缩包。里面开头两句话就把Matlab夸到天上去了,正好我也才刚开始,学啥不是学,那就决定是Matlab了。断断续续看了个把月,视频看了一大堆,好像就只记得个梯度下降法,这么当电影一样的看下去,再看两个月也没用。之后就准备买本相关的书来看看,在《机器学习实战》和《西瓜书》对比了很久,后来由于西瓜书参加京东300-150的活动,这下就不用考虑了。

  看书的过程还是愉快的,因为是在暑假,心无旁骛,大概2-4天就能看完一章,包括后面的大部分习题以及感兴趣的参考文献。可以说效率很高,对机器学习的概念也是越来越清晰。现在回过头来看,西瓜书确实是一本很好的中文机器学习入门书,虽然对每个方面都浅尝辄止,但第一它对每个方面的主要内容介绍与算法推导叙述的很详细,扩展内容也在阅读材料中给出相关论文参考;第二就是算法给出伪码而不是具体语言的代码,这样不会把读者限定在某一种语言上,也可以锻炼读者将算法转化成代码的能力;第三,部分开放式的习题会给出相关的文献,引导读者进行进一步的学习。

3.深度学习与概率图模型

  不过西瓜书只是一本比综述稍微详细一点的入门书籍,看完这本书只能说是第一步。如果说一开始我只是看见一片大海,那么西瓜书就给了我一艘船,可惜不是潜水艇,海底是什么,我依然不知道。值得开心的是好几个月的学习让我对要写的AI有些头绪了,但是并不清晰。我能告诉它的只有出牌的规则,在这规则下该出什么,如何根据对手和对家出的牌判断底牌和他们剩余的牌,这要怎么去建模?

  读研当然不能光为了打升级,好歹毕业论文还是要弄的。深度学习作为其中的重要角色,要是说不懂一点那都不好意思说自己是做计算机视觉的。概率图模型以前是没听过的,由于其非同一般的抽象与复杂程度,让我在西瓜书第四章卡了好几个月。概率图模型的框架下无论是对计算机世界还是NLP,或者说我想象中的AI出牌手段,都是非常有用的,所以接下来的深入学习就主要集中在这两个方面。

  深度学习看了一段时间了,概率图模型才刚刚开始,希望早日能把理论用在应用上。

1 0