All posts by zr9558

浅谈机器学习的一些小众方向

随着 DeepMind 的 AlphaGo 在 2016 年战胜了李世石,“人工智能”这个词开始进入大众的视野。从那时起,不管是大型互联网公司还是初创企业都开始大规模招聘机器学习的相关从业者,无论社招的求职者还是校招的应聘学生都出现了大规模的增长。由于机器学习的人才短缺并且大量应届生涌入,以至于现在某些公司的校园招聘出现了算法工程师简历太多,并且移动端岗位,web 开发岗位的简历略有不足的情况,导致这些互联网公司甚至通过邮件的方式来呼吁应届生尽量修改投递职位。

字节跳动

就这几年的人工智能发展情况和笔者的个人经验而言,人工智能可以大致分成以下几个方向:

  1. 计算机视觉方向
  2. 自然语言处理方向
  3. 语音识别方向
  4. 机器学习方向

CV,NLP & Speech Recognition

计算机视觉方向(Computer Vision)无论是在学校还是在公司,都有着大量的从业者,并且 ImageNet 项目可以提供上千万的标注图片供大家使用。既然 ImageNet 是开源的数据集,那么无论是学校的教授还是学生,不管是大型互联网公司还是初创企业,都可以轻易地获取到这些数据集,不仅可以进行 CV 算法的研究工作,还可以进行相关的工程实践。由于计算机视觉方向的历史悠久,不管是计算机系,工程系,甚至数学系,都有着大量的老师和相应的学生从事该方向的研究工作,因此,学校或者研究所能够对工业界输出的计算机视觉人才数量也是可观的。

与计算机视觉方向相比,自然语言处理方向(Natural Language Processing)在学校里面也有不少的教授从事相关研究。不过要想让计算机理解人类的语言可不是一件容易的事情。尤其是中文还拥有多音字,语义双关等情形,而且理解中文很可能还要基于上下文来前后推敲。如果和聊天机器人聊过就会发现,其实聊天机器人和人类的聊天给用户的感觉是完全不一样的。语音方向笔者不是很了解,也只是道听途说而已,在这里就不在赘述了。

ImageNet

机器学习

除了以上三个方向,人工智能的另外一个研究方向自然就是机器学习了。在周志华老师的教材《机器学习》中,无监督学习,有监督学习,半监督学习,强化学习等方向都已经在该教材中进行了详细的解释。貌似几年前强化学习这个方向也是不温不火,但是在 AlphaGo 崛起之后,深度学习和强化学习就已经开始进入了大多数人的视野。随着围棋被攻克之后,德州扑克AI,或者其他的游戏 AI 也被很多学者和大型游戏公司所关注。DeepMind 也在 2017 年开放了星际争霸的研究平台,今年无论是在 Dota2 还是星际争霸上,游戏 AI 相比之前都有了巨大的突破。

starcraft2

除了强化学习之下的游戏 AI 之外,其实机器学习一直在一个领域发挥着巨大的用处,那就是推荐系统。无论是广告推荐,YouTube 视频推荐,甚至今年非常火的抖音 APP,推荐系统在其中的作用都不容忽视。关于推荐系统的书其实有很多,笔者也没有一一读过,不过就近些年的发展状况来看,无论是在学术界还是工业界,从零到一搭建一套推荐系统已经不是壁垒,如何搭建一套结合业务场景的优秀推荐系统才是难题。而推荐系统中常用的各种模型,例如逻辑回归(logistic regression),SVD,ItemCF & UserCF,甚至深度神经网络,在各种开源框架之下(Spark,Tensorflow等),只要拥有足够的计算资源,训练出一个可以使用的模型已经没有太大的难度。难度在于算法工程师如何贴近业务并且理解业务,在此基础上如何使用机器学习算法将内容库里面的优质内容推荐给用户,而不引起用户的反感,点击率如何在合理的范围内进一步提升。搭建一套推荐系统已经不是难题,如何结合多种多样的推荐场景才是关键,怎么结合业务来使用推荐系统则是算法工程师需要思考的问题。

Tensorflow

机器学习+安全业务

就笔者的个人经验来看,推荐系统或者游戏 AI 其实只是机器学习的一个应用领域。既然机器学习能够应用在推荐系统或者游戏 AI 上,那么为何不能够应用在别的领域上呢?

对于一些大型互联网公司而言,推荐系统能够给用户们带来足够优质的体验,游戏 AI 能够帮助玩家提升自己的技艺。但是在给用户带来优质体验的时候,总有一些黑产用户在伺机而动,通过 APP 的各种 bug 来寻找赚钱的机会,给正常用户带来各种各样的骚扰。在游戏中,有一些人使用了外挂等技术,破坏了游戏中的平衡。在金融行业中,一直都有黑产用户正在进行各种各样违法犯罪的事情,例如信用卡欺诈等,给正常用户带来了不少的损失。在社交网络中,有一些用户通过社交网络传播着各种各样的不良信息,无论是谣言,虚假广告还是各种各样的假冒伪劣产品宣传,都给正常用户带来了不好的体验。因此,安全业务一直是互联网公司和金融公司的重点业务,安全业务一直是保护着互联网公司能够正常运行的基石。各种各样的安全实验室在大型互联网公司里面并不罕见,也是必须要配备的力量。对于业务安全上,无论是盗号,刷帖,传播虚假消息等都是需要关注的对象。在黑产力量日益壮大的情况下,打击黑产的人力也越来越多。随着人力的增多,如何使用机器学习算法来进行人类经验的传承,或者说随着黑产技术的升级如何才能够尽快的提升互联网公司的黑产对抗能力,这些都是值得做的工作。除了互联网公司之外,银行等金融机构也需要进行信用卡的风控评级,打击信用卡盗刷,黑色产业的资金链条挖掘等。因此,银行等金融机构对于业务安全上面的要求有的时候可能比互联网公司还要严格。

黑客图片1

能够用在安全领域上的机器学习算法有很多,最容易想到的当然就是异常检测。无论是高维异常检测,还是图(Graph)上的异常检测,都在业务安全领域有着巨大的应用场景。异常检测算法可以从众多的数据中发现数据中的异常点,然后通过人工审核等方式进行数据的标注,并且可以使用有监督学习模型进行训练和上线预测。整体来说,就是使用无监督算法,有监督算法,图挖掘算法等机器学习常见技术来进行恶意黑产的打击工作。对于从事业务安全+机器学习方向的算法工程师来说有一些潜在的优势,那就是业务安全方向是工业界的刚需。但是学术界并不完全有能力培养相关的人才,因为互联网或者金融公司的数据都具有保密性,很难把数据像 ImageNet 一样开放给全世界,共同享受数据带来的巨大优势。如果没有基础的数据,那么学校的教授或者学生就无法接触到这个领域,也就无法在学校提升相关的技术。虽然异常检测等其他机器学习算法会在学术中有所突破,但是安全的业务经验只有在做过相关业务之后,真正地打击过黑产用户之后才能够有更深层次的体会和理解。一个没有接触过安全业务的人,即使他的学术造诣再高,在短时间内也是很难提出一些靠谱想法或者技术方案的。

机器学习+运维业务

在这里做一个不恰当的比喻来方便大家理解。

如果把 APP 比喻成一栋楼房的话,那么后台开发就是搭建钢筋水泥的人,前台开发就是负责刷墙贴砖的人,设计师是负责把这栋楼设计得更加美观的人,安全人员就好比楼房的保卫人员,那么运维人员就是这栋大楼的检修人员。

在一些互联网公司,运维人员也被称为技术运营人员,整体来说就是保障APP或者业务稳定运营的。例如:网络抖动了该怎么办,交换机何时宕机,大量用户无法登陆APP了该怎么办,APP的某个页面无法打开了该怎么办等诸如此类的问题。为了保障业务的稳定运营,就需要有一定数量的技术运营同事来维护整个业务的正常运行。正所谓“天有不测风云,人有旦夕祸福”,公司拥有安全人员和运维人员好比买保险,在没有黑客攻击或者业务正常运行的时候,通常存在感略低。但是一旦业务出了问题,第一个要召集的人肯定就是安全和运维人员。因此,无论是安全工作还是运维工作,都是大型互联网公司和金融机构必不可少的力量。

随着机器学习的发展,智能运维(Artificial Intelligence Operations),也就是所谓的 AIOps,也开始被众多技术公司所关注。提到技术运营工作,根据 2018 年的《企业级AIOps实施建议白皮书V0.6》 的观点,可以大致分成以下三个方向:

  1. 质量保障;
  2. 效率提升;
  3. 成本管理。

其中质量保障就是为了保证业务的正常,高效,稳定地运转。在质量保障的过程中,无法避免的就需要进行异常检测。在运维领域,异常检测的范围非常广,不仅包括大家耳熟能详的时间序列异常检测,还包括多维数据下钻分析,甚至还包括日志模板提取和异常挖掘。除了质量保障之外,效率提升也是一个方面,无论是自动化运维领域还是使用 NLP 的技术来构建智能聊天机器人,甚至使用机器学习等技术来进行智能扩缩容,机器学习技术在运维领域都有着巨大的发挥空间。

AIOps场景

在智能运维领域,最重要的任务之一就是时间序列异常检测,这里的时间序列不仅包括服务器的各种各样的指标(CPU,进程,PKG等),还有网络出入流量等交换机数据,甚至包括各种各样的业务指标(在线用户数,失败数,请求量等)。各种各样的时间序列组合在一起就形成了一个时间序列数据库,而且这些时间序列通常来说都是按照分钟量级来收集数据,因此,时间序列项目完全符合机器学习项目的各种条件。在时间序列异常检测或者趋势预测中,时间序列和机器学习,甚至深度学习结合的各种技术都可以在这里有着一定的用武之地。

timeseries

除了时间序列之外,服务器的异常挖掘,多维度数据分析都是智能运维中非常有挑战的项目。除了质量保障之外,效率提升中的智能聊天机器人将有希望把运维人员从繁重的客服任务中解放出来,智能扩缩容技术将有机会取代原来很多“拍脑袋”所做出来的容量估计。对于一家正常经营的公司而言,质量保障和效率提升只是其中的两个方面,如何有效地进行成本的管理则是非常重要的项目。如果成本预算过少,那么明年的项目发展将会受到限制;如果成本预算过多,那么明年的资源势必造成各种浪费。因此,无论是质量保障,效率提升,还是成本管理,都是技术运营领域的核心问题。

成本

机器学习+其他领域

除了以上笔者接触过或者略微了解过的领域之外,其实机器学习在其他的领域应该都是有着自己的用武之地。在量化分析方向,据说有的团队已经开始用机器学习的方法进行股票交易。在化学或者生物学领域,也有学者使用机器学习的方法来挖掘数据之间的信息。总之,除了人工智能在那几个经典领域的应用之外,机器学习的方法应该有希望应用到各行各业中,改变原来的工作方式,提升原有学科的效率。机器学习本身并不是一个新的东西,只要运用得当,机器学习在各行各业都有着强大的创造力和生命力。

 

Advertisements

25 岁做什么,可在 5 年后受益匪浅?

25 岁做什么,可在 5 年后受益匪浅?

很久之前在知乎上看到一个问题:“25 岁做什么,可在 5 年后受益匪浅?

25 岁的时候

在写这篇文章之前先回忆一下自己在 25 岁的时候在干什么。

笔者在 25 岁的时候应该是 2013 年,正好是在 NUS 读博士的时候。当时笔者的科研进展缓慢,几乎处于无法自我推进的状态。而在笔者迷茫了大半年之后,碰巧在网上看到一本书叫做《战胜拖拉》,于是笔者花了几天功夫读完了整本书之后就将知识用于实战,目标是战胜自己长期拖延不科研的状态。不过花费了一段时间之后,效果比较明显,没花费多少时间就把当时论文里面的第一步 Real Bound Theorem 搞出来了。事后想起这件事情的时候,最感谢的就是《战胜拖拉》那本书的作者,作者在书中确实提供了不少有用的建议。在解决了毕业论文里面的重大难题之后,笔者写了两篇关于拖延症的文章,希望对大家有帮助。

PHD 身边的时间陷阱

战胜拖延-让PHD达成每天必要的工作时间

在看完拖延症的书籍并做完论文的第一步之后,当然要完成的就是论文的全部。在做科研的过程中整体来说还是比较辛苦,以至于读完博士之后还写了一篇文章来介绍科研整件事情,那就是”科研这条路“。

选择比努力更重要

所有的博士生在拿到博士学位之后自然就是面临就业的问题。笔者 2005 – 2015 年一直在数学系攻读学位,回顾读书这十年给笔者最大的感受就是,学校招聘老师的标准是越来越高。刚开始的时候,如果博士的学校较好,也许没有太多的论文都能够进一个还不错的大学。到了 2010 年之后,即使有了不少的论文也不能够保证一定能够进好大学。同时,博士生的数量也是越来越多,在学校的教师岗位根本无法容纳下那么多博士生的情况下,很多无法找到教职的博士生就要去企业工作或者继续从事博士后的岗位。不过有的专业找工作确实相对容易一些,有的专业找工作相对难一些。假设有一个博士生在 2010 年选择机器学习专业,那么在他毕业的时候,正好就是机器学习刚刚火起来的时候,那么肯定会非常容易就业。不过在 2010 年的时候,机器学习也不算什么热门方向,企业所提供的岗位也相对较少。因此,有的时候要想在未来获得更大的收益,选择当前热门的领域并不是一件很好的事情,选择未来有可能火的领域才是关键。不过要想判断未来哪个领域会火实在是太难了。因此,选择比努力重要的多,无论是整个大的行业,还是研究方向,甚至到每天手上所做的那件事情。

自我的成长

在选择了一个合适自己的方向之后,那就要去努力做这件事情,无论是在上学的时候,还是工作的时候,都要时刻注意自己的产出。在学校的时候,学生需要注意的就是这半年需要做什么,能够达到的目标是什么。然后从后往前反推此刻应该做什么,需要做什么样的事情才能够达到相应的结果。比如,如果在开学的时候就想要在期末考试的时候获得一个不错的成绩,那么在开学的时候不仅要下定决心学好这门课,还要根据课程的实际情况制定出相应的学习计划,最后才能够在期末考试中获得相应的成绩。又比如,如果目标是半年后写一篇论文,那么就需要准备开题报告,论文规划和预期效果,以及相应的时间节点。但是做论文的时候最大的风险点在于不确定性,所以很多时候需要根据论文的实际情况来进行调整。如果是在公司里面的话,通常来说都是季度考核,半年考核,全年考核等几个大的阶段。而且在项目的不同时期,考核的方式也是截然不同的,在项目的初期,可能也只是需要有一些调研方向和小的产出;在项目的中期,可能就需要有阶段性的成绩;在项目的后期,可能就需要把整个项目进行回顾,然后总结成功点和失败点,再让所有项目组成员来学习成功点,总结失败点,避免在未来的项目中走同样的弯路。其实无论是在学校里面还是在公司里面,“项目管理”这类知识还是挺有用的,在学校的时候可以用来管理自己的学业,在公司的时候可以用来管理项目的进展。

工作的意义不仅仅在于获得一份工资,有可能的话最好从工作中获得一定的自我认同感,更重要的是获得个人的持续成长。刚开始进入公司的时候,由于是新人,所以可以学的东西其实非常多。无论是专业技能,业务沟通,还是项目管理,每一个领域都够一个新人学一段时间。因此,在刚进入公司的时候,需要给自己一定的压力,前一年半其实是个人成长最快的时候,在这个时候最好需要充分利用上下班的时间,甚至周末最好也花一定的时间进行自我充电。而到了两年之后,成长的速度就会明显放缓很多,感觉每隔半年才会成长一点。

专业的问题

在学校的时候,通常学生都只会关注本专业的知识,只有遇到了想转行的时候才会去主动学习别的学科。但是在工作的时候,如果只想做本专业的知识,那么在其实就是在限制自己的发展空间,千万不要让自己的专业限制了自己的发展。无论是在学校还是工作中所学到的经验是一种财富,但是这些经验在有的时候也会形成自己的绊脚石。一般来说,在工作中做一些相对成熟的事情是容易出成绩的,做未知的事情是需要承担风险的。在做成熟事情的时候大家都会采用已有的方案继续做下去,在做未知事情的时候就需要有人去做很多的调研工作,看看这件事情是否值得做下去,是否能够达到预期的收益效果。如果调研了之后确实能够达到预期的效果,那就值得做下去;如果有一定的风险,那就要把预期降低,在一个合理的预期之内做适当的事情。

明确不想做的事情

可以在学校期间明确一下自己不想做的事情。通常来说,你问别人,你想做什么,他能够七七八八的说出一堆,但是绝大部分都不会去做。而且随着时间的迁移,每个人的想法都会产生变化,今年想做的事情明年不一定想做。但是就一般情况而言,一个人不想做的事情是不会发生太大变化的。如果一个人不喜欢学习物理,那么十几年过去之后可能还是这样;如果一个人不喜欢写作,那他肯定也很难提起自己的笔去认认真真地写一篇文章。所以,可以在学校或者工作的时候确定自己不喜欢做什么事情,然后在选择专业或者就业的时候避开这些专业或者岗位。因为在学校里面会与这些专业相伴几年,而工作的时候在岗位的时间有可能比在家的时间还要多。

 

不要为已经打翻的牛奶而哭泣

当年,曹操与刘备在汉中决战,两军久久僵持不下。曹操见久攻不下,心中烦闷,此时士兵来询问夜间的口令,曹操顺口说一句:“鸡肋。”而主簿杨修听到这句话,便开始收拾行装,并告诉周边的人一起收拾行装。众人不解,反问之,杨修解释道:“鸡肋鸡肋,食之无肉,弃之有味,今丞相进不能胜,恐人耻笑,明日必令退兵。”而杨修因为这句话而引来了杀身之祸。

三国1

熟读三国演义的人都知道,曹操杀了杨修之后,便令众军前进。其实到了最后,曹操也未能战胜刘备,获得汉中攻略战的胜利,只能退回许昌。虽然现在我们很难猜测曹操当时的想法是什么,不过“夫鸡肋,弃之如可惜,食之无所得”这句话却由于这个故事而流传下来。无论是当年的曹孟德,还是现在的很多平凡的普通人,身边总有一些事物与鸡肋一样,食之无味而弃之可惜。

在经济学中可以用沉没成本来描述鸡肋这个概念。沉没成本指的是已经付出了,但是不能收回的成本。例如,有一家电影院不允许顾客退票,有位顾客买了一张电影票,但是他看了半小时的电影之后觉得电影十分难看,这种时候他就有两种选择:

1. 继续看下去;

2. 中途离场,去做自己想做的事情。

其实绝大多数的人都会忍着看完这部难看的电影。而从经济学上的观点来看,如果人是足够理性的,当这个人在做决策的时候,是应该把沉没成本放在一边而不去考虑的,因为沉没成本是无法被改变的。按照上面的例子,无论他选择是否继续看下去,这个电影票的钱都已经无法退回,而此时需要做决定的事情是是否继续看完电影。通常这种情况下,按照经济学的理论来说,经济学家会建议这个人选择中途离场,去做任何自己想做的事情。因为这样的话他只是浪费了一张电影票的钱,但是省下来的时间却可以做其他更有趣的事情。

COSTS

虽然这只是书本上的一个简单例子,但是这样的例子在生活中比比皆是。无论是对学生还是职场人士,无论是对普通人还是位高权重的决策者,都面临着沉没成本是否放弃的难题。对于学生而言,最常见的情况就是这个学生在大学期间学了四年根本不感兴趣的专业,但是在面临存在转专业的机会时,是否要放弃原有的技能而重新学习一个新的专业便成为了一个难题。对于在职人士而言,在面临一个有挑战但是并不熟悉的行业或者领域的时候,是否愿意放弃原有的一些经验,是否存在勇气进入一个新的领域也是一个难以抉择的问题。

沉没成本其实很影响一个人的决策。对于学生而言,如果在某个方向上花费了巨大的精力和时间,是很难下定决心转一个全新的方向的;对于工作后的人士而言,主动放弃已经拥有的一些经验,放弃已经掌握的一些人脉和资源,也是十分困难的。但是,在人生的十字路口,其实又必须要下定决心做一些事情。众所周知,学校里面的不少专业其实就是“鸡肋”,完全符合“食之无味,弃之可惜”的条件,无论是学生的就业率和成材率都处于所有专业的底部。如果这些专业的学生不放弃自己的专业,将会在这些专业里面越陷越深,最终无法自拔。其实,这些专业的学生继续从事该专业的学习都不能称之为“坚持”,而是在“死扛”,用自己的大好前途来耗费在一些没有任何用处的专业技能上。有的技能虽然看上去比较高大上,但实在是“屠龙之技”,离开了已有的圈子,学校之后就再无任何用武之地。这些专业还能继续招生的原因大概就是学校招聘了不少这些专业的教师。因此,对于这些专业的学生而言,不破不立,只有勇敢地走出自己所在的圈子,才能够体会到其他专业的精妙之处。

CHOICE

而对于职场人士而言,基本上都会想靠一些好项目来升职加薪,但是在整个社会的大环境下,有的方向确实是在走下坡路,行业越来越饱和,竞争越来越激烈,所做的技术难度越来越低。随着技术的发展,原有的一些技术和框架都会逐渐被淘汰,掌握的技能价值也会越来越低,甚至可能出现找一些应届生培训几个月之后就能够达到老员工的水平。在这种情况下,随着行业的整体下滑,如果还抱着原有的技术栈不松手,那只能变得越来越没有竞争力。在这种情况下,就要主动寻求突破,寻找自己所拥有的技能和其他专业的共同点,将自己的技能主动地迁移到更有潜力的方向上。在职场上,一定不要死抱着一个东西不放手,一定不要抱着我就是来做这个方向的想法,而其他的方向都不去了解和尝试。在工作中,应该审时度势,创造或者寻找优质的项目和资源,因为一个有潜力的项目和优质的资源所能够带来的好处有的时候会远远大于自己当年所做的方向,那个自己当年不舍得放弃的方向。

上升通道

整体来说,在一个人面临着决策的时候,沉没成本最会影响一个人的决策。无论是从经济学的原理上来说,还是从日常经验上来讲,其实都应该放下包袱,轻装上阵,寻找一个更有前景和前途的方向去发挥自己的特长。

 

授人以渔—从博士生和新员工的成长谈起

众所周知,无论是在学术界还是工业界,所有的人都是从新手开始,一步一步地走向正轨。如果想在高校谋得一个教授的职位,所有的人都是从本科开始,然后到 Master 阶段,最后走向 PHD 的漫长时期。即使拿到了博士学位,也就是一个预备军的阶段,相当于获得了一个学术界的入场券。通常来说,在获得了博士学位之后,通常还需要一段时间的博士后工作经历,才有可能在学术界谋得一席之地。在工业界,除了少数大牛之外,几乎所有的人都是从底层干起,一年一年的升级打怪,最终获得职位上的晋升。作为一个在学术界和工业界都混过几年的人,在这两个地方都踩过不少的坑,这几年也看到周边的同学在学术界上的分别走向不同的道路,身边的同事也在工业界上作出各自的选择。近期正值博士生开学和新人入职的时期,正好有一些个人的感悟跟大家交流一下。

循序渐进

对于一个在读博士生来说,如果最终想留在学术界工作,并且在高校或者研究所谋得一个讲师或者教授的职位,那么博士期间的工作就显得至关重要。对于一个博士生而言,博士期间的课题通常来说都是导师帮忙定下来的,从一开始的课题收集,开题答辩,整理思路,撰写论文,导师在其中将会发生着至关重要的作用。选择的课题好坏直接决定着博士生最终的产出和收益。其实,要想让一个博士生做不出来课题是非常容易的,直接让他去攻克 Riemann Hypothesis 就可以了,但是这样做并没有任何的意义。导师的作用是培养一个又一个合格的博士生,让其所在的研究方向能够逐渐壮大,从而在国际上处于领先地位。如果让博士生去攻克 Riemann Hypothesis,不仅没有任何好处,也会对博士生造成毁灭性的打击。在博士生刚入学的时候,导师要根据自己的多年以来的工作经验,给博士生选择一个能够出成绩,但是又不是特别难的课题,而不是给学生一个本方向的终极难题。只有这样,博士生才能够在最终答辩和找工作的时候占据一定的优势,并且也有机会在学术界存活下来。

即使选择了一些合适的课题,也不能够让博士生从正面直接攻克它。因为最终的问题可能还是相对偏难一些,对刚进入博士阶段的 PHD 来说可能并不合适。在这种时候,需要采取循序渐进的策略。就拿笔者之前所研究的动力系统方向来举例,刚刚开始攻读博士的时候,尤其是在前两年,只需要做一个 Ergodic Theory and Dynamical Systems 这种级别的论文就可以了。因为这种时候需要的是稳定军心,让 PHD 能够有信心继续从事一些更难的课题。在博士生第三年至第五年的时候,尽量去做一个更难一些的题目,然后其博士论文的课题大致能够发表在 Communications in Mathematical Physics 这种级别上。这样的话,博士生寻找一个博士后岗位甚至一个教职都没有太大的问题。在找到了工作之后,通过会有两种选择,一是可以继续做之前的课题,保持一个持续的领先优势,二是可以做更难一些的问题。如果能够有持续的小论文产出,并且最终有一个大论文的话(例如发表在 Annals of Mathematics)上,基本上 Tenure 之路已经接近稳妥。整体来看,在博士生期间最好的策略是选择一个循序渐进的过程,而不是想一口气吃成一个胖子,给了一个超难的课题让博士生自生自灭。

对于刚刚工作的人也是一样的道理,无论是实习生还是刚入职的应届生,在公司层面都会制定一个所谓的“师傅”或者直系领导帮忙带一下。对于实习生而言,其实他们在公司里面的工作时间也就两三个月,并且最终会面临一个实习生考核,来决定是否录用。在这种时候,如果是想当一个负责任的老员工,在这种时候就一定要给实习生一个相对容易出成绩的项目。而这种项目则不能是那种很难的长期项目,但是与长期项目又需要有某种千丝万缕的联系,最好就是长期项目所需要的核心部分。老员工需要做的就是把这一部分内容从整个项目中剥离开,该准备的数据,该搭建的工具环境都需要提前准备好。只有这样,实习生才能够在一个相对紧凑的时间段内迅速的出成绩,然后最终产出的时候获得一个不错的成绩。

融入圈子

无论是在学术界还是在工业界,都强调一个圈子的概念。在学术界选择导师的时候,就好比足球运动员选择各种各样的俱乐部,有的俱乐部可能比较大并且人才济济,有的俱乐部可能比较小但是却很有发展潜力。在进入了这个俱乐部的时候,导师除了需要把必要的论文资源和材料,相应的方向指导清楚之外,其实最重要的就是带领学生们进入这个圈子。可以通过举办一些学术会议的方式,让学生们去参加,并且主动结识同行中优秀的人才。也可以通过开讨论班的方式,让博士生主动认识院系里面的各位大佬。其实,在未来找工作或者教职的时候,不仅是需要老板的推荐信,还需要同行们的一些评价和建议,甚至由同行大佬们提供一个岗位。因此,提前融入相应的圈子对于一个博士生来说非常重要。在这种时候,导师需要做的就是主动把自己的学生介绍给自己的学术界朋友认识,说不定在互相交流的过程中会有一些灵感出现,对学生做论文也是有益无害的。而且导师也是有着自身的局限性,不可能在学术领域里面面面俱到,这种时候,如果有同行的协助,那么对学生的成长方面则是会很有益处的。整体来看,主动帮博士生寻找必要的资源则是一个合格的导师应该做的事情。

如果是对于公司里面的新员工或者实习生来说,很可能面临的事情就是项目无法推动,无法在团队内部找到资源。这种时候,如果没有老员工一些必要的协助,实习生或者新员工将会举步维艰。因为公司里面的代码,架构,技术很可能散落在各个地方,文档的管理建设方面也未必特别合理。这种时候,只有老员工才知道哪里有坑,哪些人能够解决哪些事情,哪些人能够提供相应的资源。这些是新员工无法预先了解到的事情。如果是一个合格的师傅,就需要及时了解新人在做项目过程中所遇到的困难,所需要寻找的资源和技术,然后协助新人去寻找相应的资源,把项目整体推动下去。在一些集体活动方面,也需要帮助新人主动地融入团队的圈子,避免出现新人被孤立的情形。

避免坑人

无论是在学术界还是工业界,都存在着导师坑博士生,老员工坑新员工的情况。在公司里面,老员工和新员工可能还存在某种竞争关系,因此会出现老员工不太愿意教新员工的情况,甚至主动坑新人的事情。有的时候可能是因为老员工的能力不太行,自己无法开疆拓土,只能靠坑新人来拉开自己和新人之间的差距。有的时候是因为老员工不愿意把自己的核心技术告诉新员工,担心新员工有朝一日取代自己。其实,是否主动教人是完全自愿的,这个看每个人的性格和具体情况来定,但是在团队内部,如果主动坑新人就是老员工的不对了。老员工可以不主动传授别人知识,但是万万不能主动坑害新人。所有的人都是从新人阶段逐步走过来的,如果在项目中老员工发现了一些坑,那么有的时候是需要主动告知新人,避免犯同样的错误。而老员工在一些时候,则需要给新人一些独立成长的机会,让新人能够在项目中获得相应的成长,只有这样,才能够最终独当一面,在未来成为一个合格的员工。

无论是导师在学校带博士生,还是老员工在企业里面带新员工,整体来说,如果新人比较靠谱的话,对导师或者老员工来说其实是有相应的收益的。无论是学术界还是工业界,其最终的目的都是使得课题越做越好,发的论文档次越来越高,项目的收益和技术影响力越做越大。

 

短板与长板理论

之前听说过一个木桶理论:“一个木桶能够装多少水,取决于最短的一块板”。这个理论听上去确实很有道理。在高考的时候,如果一个学生的英语只能考 20 分,那么即使其他课程都是满分,也是上不了最好的学校的。反之,如果一个学生的每门课都很好,即使他没有达到每科顶尖的水平,在填写高考志愿的时候也是会比前者能够选择得更多。因此,在高中的时候,老师们都会奉劝大家不要偏科,因为在高考的大环境下,过度的偏科确实没有太大的好处。

后来念了大学和研究生,发现在一个知识爆炸的时代,在一个人的精力实在是有限的前提下,实在是无法做到面面俱到。即使在数学专业,几乎也无法做到一个人精通数学的所有领域(当然精通本科数学课程那种程度实在是不能算)。一般来说,研究分析和研究代数的就是两拨人,这两拨人的技能点和兴趣点都不太一致。在数学界尚且如此,更不要说跨行业的精通了。就像在企业里面,很难找到一个前端,后台,设计,机器学习统统都精通的人(不是说找不到,而是非常稀缺)。在这种情况下,每个人都面临着选择,是选择做一个全栈工程师,还是一个只精通一个领域的人。

如果选择做一个什么都会做,面面俱到的人,首先就要跨领域的多学习各种东西,例如前端,后台,机器学习等等。在精力上就要像高考的时候一样做到相对均衡的分配,在每个领域都需要有所涉及。这样的好处就是什么样的活都能干,如果团队里面暂时缺少某个领域的人,这类人就可以及时补上,能够把项目顺利完成。这类人在就业的时候选择面也会广一些,因为他们什么任务都能够做。而且很多时候,在团队里面确实需要一些这样的人才。但是这类人才可能也会有一些问题,那就是精力会相对分散。毕竟研究的面广了之后,研究的深度可能就要打折扣。不过,这件事情也是因人而异的,毕竟人和人之间是不一样的。

如果选择做一个精通某个领域的人,那么他的精力就会相对集中。在同等智力条件下,他所研究的深度就会比面面俱到的人所研究得深。说句实在话,在知识爆炸的时代,即使是人工智能领域,其实也很难做到样样精通。例如,自然语言处理所使用的技巧和方法与图片处理所用的方案是有一定的区别的,在推荐系统上所使用的技术到了运维系统上可能就不能生效。在这种时候,如果企业要解决某个业务难题,无论是防止黑客攻击还是做一个智能运维系统,都会聘请一个在这些领域有过相关经验,并且在业界有一定知名度的人才来帮忙解决这个问题。一般来说,在这种时候不太可能选择一些没有相关工作经验的人来重新培养,因为一来成本太高,二来无相关工作经验的人可能也无法胜任这类工作。总之来说就是风险太大。

就普通成年人而言,一般都有着自己的工作习惯和专业技能。如果一个人的学习能力还可以,那么就可以把他已掌握的技能迁移到其他类似的领域去;但是却很难去让一个成年人进入一个他完全不了解的领域。如果进入一个完全陌生的领域,一来重新学习新的技能成本太高,二来放弃自己所掌握的技能是一件很困难的事情。所以,有的时候这个人能否做不同类型的工作就看此人是否具备技能迁移的能力了。

整体来说,做通才或者专才看的是这个人的性格和能力,每个人都需要根据自己的实际情况作出最适合自己的选择。在精力充足的情况下,可以选择多学习一些方向,掌握不同的技能点;在精力有限的情况下,不如根据自己的兴趣爱好,选择一个最擅长的领域做下去,然后在这个领域形成自己独有的竞争力。

 

在新加坡的这五年—生活篇(二)

上一篇文章《在新加坡的这五年—生活篇》已经整体介绍了新加坡的衣食住行,本篇文章将会回顾一下个人在新加坡遇到的有趣的人和有趣的事情。

新加坡国立大学(National University of Singapore)的 PHD Research Programme 的项目是其实是专为博士生量身定做的。虽然是博士生的项目,但是在刚入学的时候其实不能够被当做博士生,基本上和国内的硕士生没啥区别。因为 PHD Research Programme 里面有一项无法避免的内容,那就是修满一定的学分,而在不同的院系有着截然不同的修课标准。就数学系的博士毕业标准而言,那就是在四年时间内修满八门课,并且博士生要把 MA 5198 这门课修完。对于刚入学的博士生来说,除了修课之外,还有一个重要的任务,那就是尽快通过 Qualify Exam,因此几乎所有的 PHD 都会选择分析,代数,计算这三门课中的两门。

qualifyexam.png

在 2010 年,当时的数学系刚刚从 S14 搬到 S17,而 S17 的只有 6-8 层已经装修好,4-5 层几乎还处于没有装修的状态。导致当时要上数学系的课程,教授和学生都必须要去 S14 的教室上课。而当年的代数课程是由 Berrick 教授负责,并且Qualify Exam 的考试又是由 Berrick 负责出题,但是 Berrick 教授给的分数一向不高 。说实话,我对代数课程其实没有太多的兴趣,总觉得代数课程过于抽象,而这门课的主要内容居然是范畴论(Category Theory)。对个人来说这门课几乎是一门绝对用不上的课程。而范畴论好比数学界的黑话,这个理论总喜欢把一个容易理解的东西用及其抽象的语言描述出来,让人摸不着头脑。和范畴论相比,什么线性代数,抽象代数都已经是非常具体,浅显易懂的课程了。虽然范畴论的内容我现在已经全部忘记,半点都想不起来,但是在课堂上我印象最深刻的就是每次上课的时候 Berrick 教授都会拿着一种饮料进入教室,而且只喝那一种口味。于是,个人后续逛超市的时候就专门去寻找了那种饮料,终于在 West Coast Plaza 里面的 FairPrice 超市看到了那款饮料,尝试了之后果然味道不错,于是后续去 FairPrice 的时候,经常都会买那款饮料来喝。

carrotjuice
FairPrice 能够买到的 POKKA 饮料

提到 NUS 周围的超市,远远不止 FairPrice 这一家。就拿 West Coast Plaza 附近来说,除了 FairPrice 之外,还有 Shengsiong 超市。当年住在 Block 602 的时候,就觉得就 Shengsiong 超市的价格比 FairPrice 貌似要便宜一点。而当 Kent Ridge 地铁站建好了之后,对于 NUS 的学生而言,买东西的首选已经从 West Coast Plaza 变成了 Kent Ridge 地铁站,因为地铁站的二楼和三楼有一个小的 Shopping Mall,并且二楼同样也有 FairPrice 超市。无论是从 PGPR 宿舍区还是从 UTown 出发,都能够乘坐校车 A1 或者 A2 直达 Kent Ridge 地铁站,因此除非是特别想买某个物品,否则一般来说也不太需要专门去 West Coast Plaza 那边了。

fairprice.jpg

shengsiong
Shengsiong 超市和 FairPrice 超市的 LOGO

其实读博士不仅仅是上课和搞科研,在此期间也会做很多助教的工作。在做助教的时候,给人印象最深刻的就是大峰哥和全知帝等人,这几人在读博期间所得到的助教成绩和学生的认可度都非常高,长期高居数学系助教排行榜的榜首。大峰哥在搞助教的时候,通常都会去 NUS 的 COOP(校园超市)购买一些打印纸,然后给学生们打印相应的课程材料,并且在考试之前都会给学生们进行详细的辅导。说到 NUS 的 COOP,无论是打印纸,笔记本,中性笔等常见的学习用具都能找到,甚至教授上课所用的教材都应有尽有。并且也会有一些 NUS 的周边礼品,包括最经典的小狮子,笔记本电脑,NUS 的文化衫等内容。对于 NUS 的学生而言,如果想要购买基础的学习用具,都可以在 NUS 的COOP 商店里面搞定。

nuscoop1

nuscoop2
NUS COOP 里面出售的物品

对于大峰哥而言,除了科研和助教之外,还有其余有趣的事情。在 2014 世界杯期间,作为球迷的大峰哥经常买可乐和零食给大家,请大家在吃东西的同时一起看球。由于新加坡的酒水实在是太贵,估计大峰哥买的不算太多,只能够靠可乐来撑数量。除此之外,貌似是在 2014 年底,百事可乐举办了抽奖活动,而抽奖的内容就是收集百事可乐的瓶盖,瓶盖越多中奖概率越大,所以大峰哥经常去超市搬一些可乐回来请办公室的同学们喝。刚开始的时候大家还是有兴趣喝,但是喝了几周之后其实大家都没有什么兴趣了。有个同学听闻大峰哥在做这件事的时候,就直接打电话给超市,送了几箱百事可乐过来,最终貌似由于百事可乐的版本不对而作罢。话说回来,个人觉得还是可口可乐比百事可乐好喝一些。

pepsi
百事可乐经典款

刚到了 NUS 的时候,由于数学系刚刚搬迁,除了教室不足之外,连 PHD 的办公位都很紧张。刚开始的时候,新来的 PHD 都要通过抽签的方式来决定是否拥有办公位。由于本人的运气比较背,连续两次都没有抽中办公位,于是在 NUS 的第一个学期只好在学校里面的几个图书馆之间打转。距离 S17 最近的图书馆自然是 Science Library。图书馆里面的书并不是所有的都能够外借。而不能外借的通常来说都是由任课老师所指定的,当时正在使用的教材。除此之外,其余的书籍基本上都能够外借。NUS的图书馆除了 Science Library 之外,Central Library 和 Business Library 都是非常不错的图书馆。当年读书的时候除了在 Science Library 借过书之外,在其他 Library 也借过不少的资料。NUS 的一个特点就是在走廊,图书馆的外面拜访了不少的桌子和椅子,专门给学生们自习或者讨论问题用的。当年准备 Qualify Exam 的时候恰好是圣诞节和元旦的时候,而每次到了 Public Holiday,图书馆都会闭馆。所以在当时没有办公位的情况下,Qualify Exam 的准备工作个人就是在图书馆门口的座位上准备的。

ScienceLibrary2
Science Library 的门口
ScienceLibrary1
数学的 GTM 教材

 

提到博士生的生活,除了日常的搬砖和去超市购买日用品之外,经常做的事情就是组团出去吃海鲜或者火锅。而且新加坡的火锅通常来说都是自助的形式,30 新币左右就可以吃到饱。刚开始去新加坡的时候,经常和富贵等人一起去吃 West Coast Plaza 的川江号子火锅,或者在周末的时候跟陈老师去吃 Shengsiong 附近的添一点火锅。提到添一点火锅,一开始还想着经常吃撑,不过到了后面的时候基本上也就是看情况而定。在 PHD 第一年的某个假期,个人和陈老师经常中午去吃添一点火锅,一开始先吃肉和蔬菜,然后到了最后就只吃虾,于是到了晚上的时候就再也不用吃饭了。后来除了火锅之外,大伙又在 Novena 地铁站附近发现了一个海鲜自助餐,维也纳海鲜,那里整体的环境和氛围都相对偏好。无论是牛肉还是螃蟹,甚至各种饮料都是畅饮。所以,后续我们年级的 PHD 如果有啥集体活动的时候,大伙都会选择去那边吃。之后 RDD 同学来的几次,都会去维也纳海鲜吃自助,其实那里的螃蟹和龙虾整体来说还是非常不错的。

vienna
维也纳海鲜自助

除了各种各样的自助餐之外,其实海鲜一直是新加坡的特色,而个人比较推崇的就是黑胡椒螃蟹。提到黑胡椒螃蟹,就想到司北当年从日本来新加坡旅游,个人请他在克拉码头的珍宝海鲜楼吃了一顿饭,貌似三个人花费大概在 120 SGD 左右。珍宝海鲜楼的黑胡椒螃蟹在新加坡的食物中都算得上是一流的。当年 RDD 来的时候,其实也吃过不少黑胡椒螃蟹。整体来看,黑胡椒螃蟹或者螃蟹米粉是新加坡的一大特色,来新加坡的朋友千万不要错过这几种美食。

jumboseafood.jpg
珍宝海鲜楼

生活都包括衣食住行,对于留学生来说不可避免的就是租房问题。当年的 PGPR 和 UTown 还没有对 PHD 们开放的时候,大伙通常来说都会在外面租房子住。一开始的时候,姜师兄帮忙在 Block 602 #11-28 租了一间房,我和陈老师共同分担房租。其实后面 RDD 来玩的时候,也会去短租一些房子。至于找房子的问题,除了通过朋友们介绍或者转租之外,当年租房子的时候个人都会去华新论坛或者狮城论坛上面找。对于学生而言,一般都在华新论坛上面逛。每当看到一个合适的房源,都会去现场看一下,跟房东聊一下,然后就签订一份协议。不过相比国内现在的租房市场来说,当年签订的协议基本上就是君子协议,一般也就按时交房租就可以了。不过一开始在 Block 602 的时候,是 760 SGD 一间房,后续涨到了 800 SGD,貌似到了后面就越来越高了。和陈老师住的时候其实也就是住了一年,个人在 Block 602 的时候换过四个室友,陈老师,XXX(我真不记得了,就住了两个月),温同学,杰爷(我居然跟杰爷住过),上将。之后房东就不让我,杰爷和上将继续住了,我和上将就申请了 PGP 的房子,就剩下杰爷找了一个 260 SGD 的床位继续住。不过杰爷后续去了美帝国之后,从 Princeton 毕业之后大概找了一个几十万 USD / Per Year 的工作,估计再也不会住 260 SGD 的床位了。没过几年,上将也去澳洲继续攻读博士学位,当年在 Block 602 住过的几位室友恐怕很难再聚集到一起了。(未完待续)

block602
West Coast Plaza 附近的 Block 602

 

从高考志愿谈起

高考志愿

2018年6月10日,又是一年高考刚结束的日子。每次到了这个时候,都会回想起笔者在 2005 年高考填写志愿的时候。记得当年最火的方向应该是生物工程或者生命科学一类的专业,然后有不少优秀的学生去选择了这类专业。当时貌似还有人说计算机的人才过剩,会出现过了几年人才过剩,毕业生不好找工作的情况。不过当年自己也没想那么多,就完全凭着兴趣选择了最想学的方向,也是大多数人不会选择的方向,那就是数学与应用数学专业。

一般提到数学专业,绝大多数人的反应就是:“读完之后大概只能够当老师了吧?”有的人也会说:“读了数学专业,再去金融或者计算机专业会变得容易许多。”这一类的话笔者当时确实也听了不少。不过,当年还年轻,也没想那么多事情,就一门心思的想把数学学好,做自己喜欢做得事情,也就是所谓的 Follow My Heart。

当年笔者在本科一直研究着数学,后来又在博士生阶段继续从事数学研究。在数学界学习的时候,笔者一直在学习数学相关的知识。通常来说老师只会告诉书本上的内容,包括定理和证明之类的。并没有告诉学生们这些数学知识该怎么用。这个其实也不怪老师们。毕竟大多数老师并没有工业界的工作经验,基本上都是在搞科学研究。事后回想起这些数学知识,就好比了解了一个精巧的工具箱,里面有着各种各样的工具,但是却没有人告诉笔者这些工具该如何使用,该用在什么实际场景中。所以,经常就会有人问老师:“学习那么多数学知识究竟有没有用?”

剑宗与气宗

其实,数学并不是没有用,而是对大多数人没有用。数学有没有用就看每个人对数学的掌握程度和应用程度,如果一个人只能掌握到高中的水平,那基本上也就是加减乘除这种量级了。如果一个人能够掌握微积分这种程度,那就可以从事机器学习的相关工作。通常来说,在工业界搬砖的话,如果是机器学习的面试,一般或多或少都会问到一些微积分和线性代数的知识。如果是博士生去面试投行的 quant ,还需要会概率论,随机过程等统计学知识。

从笔者在工业界工作这几年的情况来看,一般工业界能够用到的数学边界,通常来说就在泛函分析,抽象代数,微分流形,随机过程这几门课的难度,再高级一点的课程恐怕就用不上了。而数学专业的两门基础课数学分析和高等代数,在工业界可以说是无处不在。而学习数学课,通常来说就像打基础的一个过程,更像是一种修行,好比学武的修炼内功。

金庸的《笑傲江湖》里岳不群这样说:三十多年前,咱们气宗是少数,剑宗中的师伯、师叔占了大多数。再者,剑宗功夫易于速成,见效极快。大家都练十年,定是剑宗占上风;各练二十年,那是各擅胜场,难分上下;要到二十年之后,练气宗功夫的才渐渐的越来越强;到得三十年时,练剑宗功夫的便再也不能望气宗之项背了。然而要到二十余年之后,才真正分出高下,这二十余年中双方争斗之烈,可想而知。

而学习计算机的正反馈其实相对快很多,在 GitHub 上下载源码装上了环境就可以运行,就能够看到效果。而学习数学的正反馈其实慢很多,毕竟看了很多数学书也不见得马上能够投入生产环境使用,甚至可能一辈子都无法投入实际使用。但是学习数学有一个好处,那就是思考问题和分析问题的时候会把实际问题抽象出来,把实际的问题转化成以前解决过的问题,用类似的方法和技巧进行解决。

其实选择什么样的专业也跟一个人的性格有关系。有的人就喜欢那种立竿见影的效果,学习一个东西就希望能够立刻投入生产使用,能够看到有产出,希望得到正反馈;而有的人会把得到正反馈的时间延长,期待通过长时间的学习,获得一个更大的正反馈。如果是学习工科的话,通常来说做一个东西所得到的正反馈就会很快;如果是学习理科的话,得到正反馈的时间就会变得很长,甚至没有正反馈。

数学的作用

其实,并不是学数学的人就一定能够做成每一件事,能够干好每一个行业。如果是数学系的学生刚刚进入工业界,最有可能面临的情况就是短期内无法产出,没有相应的成果,毕竟在公司内部都是半年甚至三个月考核一次。数学系的人的产出在短期内估计无法与计算机系的人相比。只有当数学系的人具备了写代码的能力,并且能够独立负责一个模块,能够实现一个功能的时候,这个人的数学能力才能够发挥出来。

虽然现在是一个知识爆炸的时代,但是数学系的课程却没有发生过太大的改变。十年前的课本和现在的课本也差不了多少,估计未来也不会发生巨大的改变,最多是删减一些内容。最关键的是,数学课本上写成公理,定理,推论这类的东西是正确的,是不会被推翻的(当然课本上也有写错的时候)。十年前是正确的,现在是正确的,未来也是正确的。但是其他学科就不太一样了,技能更新太快,现在所学的技能未来很可能就没有用处了。数学从来就没有大热过,很多人根本就不会选择数学专业,也不需要主动去劝退别人,数学系的学生从来都是主动退出。从中小学开始,就有很多人被数学虐得死去活来了,也不会去做“明知山有虎,偏向虎山行”的事情。

不过,凡是热衷于干脑力劳动的人,一般都会觉得当年要是多学一点数学该有多好。在最后,摘选知乎上的一段话:https://www.zhihu.com/question/47952938/answer/375655910

虽然说计算机和金融这俩行业都不能迷信数学,即把数学在其中的地位无限拔高。但这俩行业离开了数学,就是达内培训班和清华叉院的区别,就是银行柜员和文艺复兴的区别。就冲这个区别,数学的王者地位,还是无可动摇的。