早有耳闻近年的机器学习和计算机视觉岗位不好找,很多研究生都会借着自己城市和学校的优势,去争取一些公司的实习。我是兜兜转转好几年后才开始正式去学机器学习,也算是半路出家,而且有种49年入国军的赶脚。平日里看着教研室的师兄们即使做着非机器学习算法也在求职的道路上一波三折,心里不免对自己的前途充满着担忧和焦虑。好在导师关系网络庞大,在今年5月丢给了我一个去AI医疗影像公司实习的机会。能够得到锻炼,同时也可以见识见识工业界的研究节奏和方式,这样的运气,我自然不会让其白白溜走。这家公司南京分部的CTO是一位加州海归博士,热爱技术又充满激情,在勉强通过他的面试之后,我得到了三个月的实习机会。
公司的效率和推进速度还是非常快的,刚开始确实不适应,毕竟放羊久了,长时间地坐在电脑前看论文,垒代码,调参数还是有点乏人的。不过我是分配了一个单独的项目,所以三个月来就相当于单干,虽然没有外部的压力,但是没能参与核心项目,与公司大佬们一起讨论,还是心存遗憾(不过自己水平确实不高,也很正常,咱心里还得有点数才行…)。实习的任务主要是对他们提供的痰涂片(sputum smear)数据集进行分类,但是不是一般意义上的单张图片分类。这里我先简单科普下,痰涂片是为了辅助诊断结核病而采集的样本,医生根据采集的病人的痰液里面的结核杆菌(tuberculosis bacillus)数量来判断阳性或阴性,这种手段主要在发展中国家,贫困地区等地方常见(有条件的直接照X光了)。原始数据集的每张图片都是从显微镜采的,而且分成了4x4的grid,我要做的就是分类图片每个grid的label,有点类似one-stage的目标检测。
然而,数据又脏又少。。。。折腾了两个月实在没弄出满意的结果(好像最后最好才到0.9的acc)。没办法,最后Google找了好几天偶然发现了一个公开的数据集,还带着bounding box的标注!!!于是后面和CTO商讨,干脆上了weakly semantic segmentation(最后10几天的工作量比前两个月的还要多的多。。果然deadline是第一生产力)。好歹最后结果还可以。详细的讲解可以看我下一篇博客。
下面我想重点谈谈自己的收获与感想:
- 代码和算法。只有真正经历了才明白代码能力是多么的重要。从面试一直到解决实际工程问题,或者是自己平时研究,搭网站,作图,实现自己的一个想法…等等等等,都可以发挥巨大的的作用。虽然说做机器学习数学相对重要点,可是进入职场以后,算法和代码能力才是硬实力。对于我这种菜比来说,多练,多参考,多总结是唯一有效的办法
- 工业界和学术界。工业界基本上都是以项目和数据驱动的(可能国内大的学教研室跟其也没什么不同。。),基本上不关心如何创造新方法,新理论,只关心产品如何更好地生成和落地。每天的迭代节奏都很快,各个领域的知识都会涉及(初创公司可能更多)。一般的项目组都是利用现成的SOTA去修改然后适配自己的数据,所以就要求职员得预先懂得很多东西,或者知道哪些方法可以用上,要是从头开始调研的话就太慢了。此外,工业界还有着模块化的管理,比如利用trello这样的软件和早会来安排具体每个人一段时间的任务,交流进展情况,及时解决blocked问题等等。对于涉及到算法的公司,代码的管理,维护,更新是个big problem,从代码托管平台或者服务器的选择,coding的规则制定,review code的指定和审阅标准,要审几轮之后才能merge等都是一些比较琐碎却很实际的问题,是需要慢慢完善的过程。现在想想,那么多学术大牛后面选择投身工业界不是没有道理的,对他们来说研究可以照常进行,资源也更加丰富,而且更有那种creating的青春感,反而学术界里面无拘无束的环境,可能会慢慢消磨他们的激情。处于象牙塔里是很可能被温水煮青蛙的。
- 保持学习和交流的习惯。即使是工作以后,也要保持一种好奇心,要促使自己不断地去进步。学习不仅是让你更加游刃有余于自己的工作,也是为了打开自己的视野,丰富自己的生活。以技术学习为例,公司的研究组一般都会有paper reading这样的活动,每周读一篇典型的论文,轮流安排组员上去讲解,一方面打开工作思路,一方面也是锻炼人的说话和展示能力(费曼学习法)。不要对别人的工作满不在乎,漠不关心,经常主动和别人交流,既交了朋友,也可以扩展自己的领域认知。
- 把握工作节奏,保持沟通。如今996大行其道,加上媒体大肆宣扬,搞得程序猿们人心惶惶。实际上如果是一个项目要到期了,某段时间可能要加点班一起赶出来的话,是可以接受的,但是如果每天强制加班,搞得连自己生活都没了,那我肯定是果断放弃了,除非给我年薪百万。。。因此,在找工作前,首先得平衡好自己的要求,认清一些现状,身体健康和生活质量是放在第一位的,其他的都是为了这两者服务的。有困难,有难题一定要及时反映或者在其恰当的时机吐露出来,不要动不动就轻视自己的生命(可能还没到这种地步),当然这是最差的情况。平时和同级沟通,和上级沟通(反映意见,提出工作思路,建议等)都是必不可少的职场状态。
总的来说,第一次实习还是挺圆满的,虽然没学到什么大本事,但是起码这段经历让我收获了很多,也更加坚定了自己的选择,对未来的路也看得明晰了些。不得不说,有些事情还是要自己经历过后才能懂得,这些没法感同身受的经验,是怎么也无法理解的。趁着年轻,还是应该多把自己推出舒适区,多去争取一些历练和出走的机会,以此开阔自己的眼界,认识社会和世界。
好像写到现在也没怎么提及到实习公司的情况。。。想着最后了,还是祝贺下组里的大佬们帮公司拿到了吴恩达chestXpert 数据集比赛的冠军,而且霸榜了几个月!着实佩服。我也从他们身上学到了不少新知识和新姿势。
自己厚着脸皮也和他们一起公费嗨皮庆祝了下。
好了,今年的实习告一段落了,明年希望能自己争取到大厂的实习。(’ o_o ')