导航菜单
首页 >  研究生是什么工作  > 科普:算法岗是什么?我适不适合算法岗?选什么方向的算法岗?

科普:算法岗是什么?我适不适合算法岗?选什么方向的算法岗?

大家好,我是千与千寻,一名专注于后端研发与算法工程领域的程序员,最近我的作息快赶上yp哥的作息了,不过习惯就好。

昨天晚上深夜回家发了个pyq,我大致表达的意思:谁说算法岗不加班的?活没干完的前提下,你不得疯狂加班的,跟2b6577e6b427b7ca270a031393585988.png似的干?

0474c4db2b237b40c161ed42dc41cdd0.png

然后有粉丝说:什么,算法岗也要加班吗?不是说算法岗相对开发岗来说,可以轻松一些吗?加班没开发岗那么恐怖吗?

先直接说结论:你们可能是对算法岗有什么误解了...

千寻目前是大厂一名研发工程师,虽然是研发,但是工作内容,后端研发,算法工程应用都有所涉及,我就自身的经历给大家介绍一下算法岗的工作内容,算法岗的种类,以及什么样的人适合做算法岗,对于想转行算法岗的朋友一些建议。

算法岗是什么?

算法岗是大中型企业在已经有完整的盈利闭环系统的基础上,需要对其盈利模式进行深度的优化,使得系统可以更加具有针对性的服务用户目的的工程人员。

算法岗什么工作内容?

之前的文章中我曾经列举过算法岗与开发岗位的具体工作内容差别,算法岗为包含算法工程师,算法研究员。

算法研究员:算法研究员的hc相对较少,一般仅仅在特大厂的AI lab以及AI四小龙以及独角兽的公司会有一定的需求,当然这仅仅是针对互联网公司的情况进行描述的,如果是进入国企或者研究所,对前沿的技术研究需求还是很多的。

算法研究员主要的是进行传统模型准确率以及性能的深度打破,在目前的SOTA之下,SSD在COCO数据集上的检测MAP准确率目前是75.8%,那么研究员就会想尽各种tricks来提高模型的准确性,改进网络结构,或者特征提取方式,达到打破目前的最高准确率,从而发表顶会论文。

算法工程师:算法工程师相对研究员来说,更加接近实际的业务,将算法实际的用到工程中,从而发挥算法的效果,一般来说在实际的业务生产中,我们所使用的算法模型也都是稳定的模型,进行迁移学习,从而可以达到速度与准确率的完美结合。算法工程师相对研究员岗位来说,并不需要实际的模型突破,很对时候达到80%-90%基本就可以使用了,与研发进行配合联调,将算法模型的调用接口化,用于工程需求中。

算法岗位的方向

算法岗位的方向还是很多的,最大的范围之下,可以划分为计算视觉,自然语言处理,搜索广告推荐算法,语音算法,方向太多,很难做到所有的都面面俱到。我对我所研究两个方向,进行一下我的心得的分享,推荐派单算法,以及计算视觉算法(CV)

计算机视觉:

0939945315c36959dfebcd7e16c005a7.png

其实在之前作为的计算机视觉的算法工程师,我在计算机视觉方面还是有自己的一些见解,具体可以说明为计算机视觉的算法工程师,我自己的一个感觉,为了防止杠精,我说明仅仅代表我自己的观点,我个人其实不太看好CV方向,原因如下:

1.看似方向广,就业岗位多,事实上市场比较饱和,toC的大模型相对来说有些已经投入使用,然而对于toB的业务,AI四小龙独角兽公司,相对来说,已经做得十分完善,市场没那么庞大。

2.技术相对来说比较完善,同时技术的重要性并不是很举足轻重,对于互联网的核心盈利方式——平台+广告的模式之下,图像的地位其实并不是很重要,“说白了,不是能增加资本家资产的东西”

3.图像识别,目标检测,商汤和旷视做的很强,一般应用于工业界,生成对抗,图像分割等相对来说用于互联网的短视频中,抖音快手中的魔法表情使用就是用GAN完成的

计算机视觉是算法岗中人很多的方向,因为很多本科生的专业是自动化,机械电子,通信工程的同学都会多多少少接触到数字图像,所以在研究生期间也会继续研究图像,也就作为CV算法岗。

推荐系统算法:

说到算法岗的大头,也就是最为出名的"搜广推",先说一个结论:如果现在想转行做算法岗,或者是高年级的本科生以及硕士生还没用找到算法岗的方向,那我建议你转推荐算法。

刚刚我们说了互联网公司的两大盈利方式:

1.建立中间平台,收取中介费,例如滴滴出行,以及美团点评等。通过建立电商的平台,进行商家与用户之间的匹配,促进消费。

2.掌握一定的流量,进行精准的广告投放。

以推荐算法的结构来给大家进行一下详细讲解:

e9f54291aed31609dfbe1447a9f70e88.png

在以上我绘制了一个很简单的电商推荐系统的架构图,其中包括每一种流程层的算法逻辑流向。

召回层:召回预计算目标,从海量数据中多路召回预排序目标,简单来说,选择进入推荐模型的种子号选手,例如购买牙膏需求,牙膏的品牌以及商店有上千万家,肯定不能所有的进行遍历,因此会通过人群画像获取数据的预计算目标,模型计算量有百万降低到百级。

过滤层:召回层进行召回的预计算目标一定会比最终推荐的目标数量要高,原因需要进行"过滤",比如存在重复推荐,或者无效推荐(商家关门,或者断货)

精排层:经过过滤层的过滤,进入推荐算法模型,进行推荐得分计算,以传统的机器学习算法为例,在实际的业务系统中会存在多种复杂业务情形,简单的机器学习模型根本无法满足复杂的业务需求,常用的机器学习的模型是集成模型例如xgboot模型,通过采取多种关键特征进行决策回归

9a3f660f0df94fcb4a50bb17ea1eb330.png

以上就是精排层的推荐系统的算法整体框架图,将数据集放入模型进行模型训练,算法工程的主要职责就是上下的两个方框:改进模型结构与优化特征工程。

改进网络模型结构: 以xgboost为例,其内部包括多个决策树,决策树的数量,以及学习率的大小都可以改进特征的学习率,从而在同等数量的特征之下可以达到更高的效果

优化特征工程:相比于改进网络结构,特征工程则是通过增加特征的种类,特征的数量,比如从原来年龄+性别来推荐商品,到最后使用年龄+性别+爱好数码进行商品的推荐,显然在增加了爱好的特征后可以进行更加精准的推荐,以此类推,优化模型的性能。

混排层:相比于精排层,混排层的不是单单注重准确率,而是有意去放出"负样本",也就是用精准推荐去带动其他的推荐,比如推荐买大米的商品,顺带推荐豆油,从而获得

相关推荐: