人工智能从业者有哪些「职业护城河」?
关注近年来人工智能岗位的竞争非常激烈。有趣的是,一方面满足AI相关岗位所要求的高学历(硕博)候选人不足,另一方面大量的其他领域从业者想要转行从事AI相关的工作,却往往因为学历和经验而卡在了简历和人事关上。市场供需呈现一种既缺人又过度供给的局面。据我的观察,从2016年起不少企业提高了对于应聘者的要求,包括但不局限于:
相关专业学历和项目经验,甚至包括研究经历(如优秀的论文发表)
编程能力,有部分岗位提到有过ACM经历加分
数学能力
现在人工智能行业的确出现了人才既多又少的矛盾局面。这几年人工智能的火爆吸引了大量人才到这个行业,但是大部分都是看了Andrew Ng机器学习和斯坦福cs231n,刚会跑开源代码的门外汉,看起来能说会道,但是基本没有什么深入的理解,真正有深入理解的人才少之又少。
作为一个人工智能行业的从业者,根据我的观察,我觉得护城河主要在于工程能力和对模型的深入理解。
现在大部分想转行,或者已经在行业内的从业人员,不少都没CS的科班经历,工程能力很差,从基本的编码规范,对linux的熟悉程度,到软件开发思想,都是非常欠缺的。大家可以看看github上面各种模型的代码,比如ssd、faceboxes、refinedet,很多都没任何编码规范,代码也不注重抽象、封装、模块化等。
虽然说算法工程师更注重对算法的理解,但是如果你基本的工程能力缺乏的话,你要复现某篇文章里的模型会效率十分低下,这在从业的时候是一个很严重的问题。你花了很大力气复现了一个模型,然后隔壁同事正好也需要这个模型,你把你的代码给同事,同事需要花费大量精力去读你的代码,如果要在你的基础上修改,更是难上加难,那么你对公司的价值体现在哪儿呢。
另外一个是对模型的理解。现在为数不少的从业者张嘴就是当前最好的模型或者模块,但是并没有深入的理解,只会拾人牙慧,人云亦云。来了啥问题,都是把当前最新的模型往上一套。其实每个模型都有自己的assumption,来了一个问题,我们应该使用assumption跟这个问题对应的模型,这样就能免去trail and error的时间,提高效率。
同时,如果你对模型了解深入的话,当在一个问题上某个模型效果不佳,你能迅速找到问题所在,比如是模型选择不对,模型超参不对,还是数据存在问题。
就说一点最近工作里遇到的问题。做情感分类相关的任务,需要针对情感词的词向量进行调整。
有一下一点感悟:
2. 人工智能领域现如今还在高速发展,模型和技术快速迭代,如果没有快速跟论文和代码实现的能力,马上就要落后。
3. 对模型,算法,数学的深入理解;现阶段哪怕是深度学习,也有很多任务需要人帮忙注入先验知识才能取得好效果,并不是找一堆数据无脑训练就能有好结果。现阶段的人工智能,有多少人工,才有多少智能。
举例:比如chatbot,可以包含任务型对话系统、基于知识库和检索的QA、闲聊型chatbot。
任务型对话系统的NLU模块就有很多东西可以聊的,比如slot filling, 从CRF到Bi-LSTM-CRF到Bi-LSTM-CNN-CRF,再到中文的笔画向量cw2vec等等,再到怎样使用active learning去尽可能少地标注数据,还能达到promising的结果;比如意图识别,可以聊一下HAN/wordCNN/DPCNN/Bi-GRU等,可以聊一下样本不均衡的问题怎么解决;意图识别和slot filling一起做会不会有一些提高...
比如基于检索这一部分,可以聊聊LSA/SVD的推导/DESM/基于word2vec取平均或者加权/DSSM等 可以具体聊一下sentence embeddings这个领域掌握到什么程度,近几年的几篇论文分别解决了哪些问题 可以聊聊Dual-encoder LSTM等 也可以聊聊word embeddings怎么做Fine-tune;
比如基于生成的模型,可以聊聊seq2seq的beam search/attention机制/bucketing等等...
项目经验可以是被面试者夸大的,论文和好的产品不会,比较有说服力
比如viterbi和beam search有什么异同、 word2vec的细节、LSTM为什么可以解决梯度消失的问题、kNN是有监督还是无监督等
解决问题的能力是最重要的,比如要做爆品预测,怎么在庞大的微博语料上构建甜品领域词典、做新词发现,爆品预测是一个分类任务还是回归任务,需要提取哪些特征,怎样定义burst,应该在何时进行burst prediction?
比如一条微博中的苹果这个词具体是指水果还是指公司,你需要收集哪些数据,你能定位到这是一个什么样的任务,Word Sense Disambiguation (WSD) 还是 Entity Linking?你是否能*从学术界找到解决方案?
比如医疗领域的NER可能并不好做,症状/疾病名的口语化描述模糊不清,这就为标注带来困难,标注的粒度该怎么选择?
大厂偏research的研究员岗还是挺看出身的
project能力不好面出来,尤其是对于远程电话面试,一般就是面coding看看动手能力。一个好的面试官一般有一道固定的coding题,不是为了难倒面试者的那种题,而是可以逐渐优化,和面试者一起探讨思路,可以由易到难去为面试者能力定位的题目 在整个过程中也可以观察到面试者很多方面的能力,比如沟通交流、是否够聪明、是否能按照你的提示去实现出来等;至于coding题目为什么最好要固定:同一道题面了几十个人之后,能很好地区分每个人在哪个区间...
浏览 9519 | 提问 75