我从非科班转到图像算法工程师(图像识别、机器学习、深度学习)(3个月)的经历


  首先,感谢@王子瑞/Aliloke邀请,来谈谈我从非科班转行到图像算法工程师的经历吧。
  需要说明的是,我对算法这块的理解是非常的肤浅的,因为我接触这块也就三个多月的时间,说起来为何进入这个领域,其中还真有些机缘巧合。
  2015年我从南理工机械工程专业毕业,毕业后在南京待了近两年,从事机械、气动方面工作,后想着离家太远,自己的事业发展也一般,遂回老家桂林。回家后自己在家开起了淘宝店,注册了营业执照,主要从事平面设计,影视后期特效,特效教程,淘宝教育课程等方面工作,同时自己开设了YOUTUBE频道做油管主。不过由于自己能力有限,淘宝店、淘宝教育效益一般,电商这块竞争激烈,遂放弃,算是创业失败吧。
  后来有一段时间自己不知道该做什么,碰巧那时候华为大数据入驻桂林,公司刚好离家不远,就想碰碰运气,于是自学java以及hadoop、yarn、Mapreduce等大数据方面的内容,投了华为大数据的简历。后来华为HR打了电话过来,简单询问了一些技术方面的内容,我也简单说明了自己的一些情况,后来HR的意思大致就是觉得我技术能力不行,同时又是非科班的。我自己也觉得是,要像华为这样的公司随便水水就能进,那它就不是华为了。
  再后来,就不打算在桂林找工作了,因为机会少,待遇也不高,想着去深圳发展,后又自学了python,爬虫方面的知识,想着再不济,找个python工程师,爬虫工程师方面的工作混个饭碗都行。就在去深圳的前几个小时,票都买好了,但还是放弃了,想着父母在这边,女朋友(后来分手了)也在这边,没人照顾,心软了。后来还是决定在桂林找工作,当时也算是前女友的鼓励吧(要感谢前女友),鼓起勇气投了五个简历,其中1个做大数据运维和分析的,4个做深度学习、图像算法的,可惜最后只有两家公司回应了,其中一家简单问了我的情况后让我做回机械,因为他们公司除了算法岗外,也有机械岗,后来我拒绝了。然后另一家就是我现在的公司,跟HR简单地沟通之后,她让我过去面试,我跟她沟通后稍微延缓了面试的时间。下面这张图片就是我当时面试的图像算法工程师岗位的要求:

  • 图像算法工程师
    在这里插入图片描述

我仔细看了一下岗位要求,对我来说要求还是蛮高的。首先opencv是啥我不知道;MATLAB我安装过两遍,但就是没用过几次;C语言大学自学过,但完全没有项目经验;机器学习的算法?我倒是能背出一两个算法的名字;机器学习、深度学习具体怎么学习的我也不知道,如果不是后来慢慢熟悉,我会以为机器学习就是一个高度智能化的AI婴儿,只要不停地投喂数据给他训练,他就能不停地学习,从而变一个具有成人思维的AI人造人;而深度学习我的理解就是加了BUFF的机器学习。太天真了!
  后来,我去书店买了一本书,名字叫做《OpenCV+TensorFlow深度学习与计算机视觉实战》,如下图:
在这里插入图片描述
我心想,还好离面试还有一个星期时间,我可以仔细琢磨琢磨。翻开这本书,还是今年出版的,不错哟!结果后来慢慢看后,发现示例代码错误挺多,对于我这个编程小白来说真的增加难度不少,在安装tensorflow-gpu那儿还卡了挺长时间,不得不说,这玩意还真难安装,我后来在三个不同版本系统上安装,屡屡失败,不是GPU对不上,就是python版本对不上,这还是我之后安装多次终于成功的版本笔记:win10下安装tensorflow-gpu==1.11.0的详细教程
  没过多久,就差不多到面试时间了,而我opencv只看了一点,然后我直接到网上找了个与opencv相关的demo(蔡徐坤教你用OpenCV实现素描效果)跑了一下,然后又去学习了如何用python从头实现一个神经网络(虽然自己对人工神经网络毫无认知),然后接下来熟悉了常见机器学习算法就去面试了,可能我们公司不是主流AI公司的原因,面试相当轻松,后来回想起来,为啥会这么轻松,我去HR那看她现在筛简历都是非研究生不要的。。。后来才知道,是我们的AI模块的负责人那会准备要走了,当时时间紧迫,HR就几天时间,一时实在招不到人,碰巧我出现了,就勉强把我收了!后来我进公司后,那个负责人带了我一个月,那一个月,我也就是勉强熟悉了一些项目流程,算法那方面没啥增进。不得不说,算法工程师还是需要写代码的功底在,像基本的机器学习、深度学习语言比如c还有python是需要特别熟练地掌握的,还有计算机组成原理,数据结构,操作系统,编译原理,这些个基本理论,非科班人员相比较科班人员来,差距真的不是一点两点!
  再后来,我就基本成了自行摸索状态了,我们公司确实缺人,好不容易公司招进来一些附近大学计算机学院的实习生,我都得抓紧时间向他们请教,因为不懂的实在太多了。我们公司现在的项目主要是做单一对象的目标识别的,目前使用的是基于darknet框架的yolo-v2算法模型,是目前两种主流单目标识别算法中的一种,另一种是SSD,SSD没用过,日后优化识别能力时倒是可以对比试试。
  入职差不多1个半月也就是7月初那会,我们部门技术人员还一起到新疆去测试了识别设备,槽点颇多,老总不满意,回来让我们继续对算法以及设备进行优化,我目前的主要任务就是熟悉算法中卷积神经网络卷积层的各功能实现,以及对算法模型进行参数调节,简称调参,对采集图像进行预处理、标定、训练等,然后分析识别效果,还需要编写优化算法筛选目标,提高识别率,以及阅读一些主流算法的相关论文等,有必要时还得学习其他深度学习框架,比如tensorflow、pytorch、Keras,不过掺插在里面相对比较重要的一项就是提高自己编写代码以及优化代码的能力,毕竟自己菜,一定得好好刷刷leetcode!
  关于机器学习,我看了一本叫做《深入浅出python机器学习》的书,如下图:
在这里插入图片描述
里面基本上介绍了机器学习常用的算法,并都附有python程序示例,过一遍基本上都熟悉了,但它对算法的数学实现那块并没有细讲,如果要讲的话,估计又要烧掉不少脑细胞!其他的一些比较受欢迎的机器学习的书籍比如《机器学习实战》《西瓜书》,网上人们推荐挺多的,还有吴恩达的机器学习和深度学习的视频教程,比较适合入门吧!
  至于卷积神经网络,我还买了一本叫做《深度学习的数学》,如下:
在这里插入图片描述
我自知大学数学没学好,理解矩阵变换,概率问题来有难度,所以买这本书是为了帮我更好理解卷积神经网络中的相关数学问题的,还没看完呢,先不作评价。
  前段时间关注了知乎的这个板块:如何看待 2020 届校招算法岗「爆炸」的情况?,确实如大众所言,想要进入此领域的人很多,但符合要求的太少,前段时间有个女猎头找我(太感动了!),问我基本情况,我说我是本科生,还不是科班出身的,她说算法岗基本研究生起步了。
  所以我觉得我还是比较幸运吧,虽然很多人认为机器学习、深度学习最近几年在学术层鲜有突破性进展,比如这位兄台,他五年前基本上对DL在学术层面持保守态度:
在这里插入图片描述
尽管如此,他大概也没料到DeepLearn在应用层面能发展这么快(不过确实需要人们的共同努力),我认为未来DL在应用层面是比较乐观的,人脸识别、人脸变换(比如最近比较火的ZAO)、自动驾驶、语音识别、文字识别、游戏AI(如Alpha Go)、推荐机制、硬件加速、表情分析、行为分析、心理分析、病情分析、气象预测、灾害预测等,除了正向运用外,还有逆向运用(我不懂该如何描述就随便用了这个词),比如Gan(生成式对抗网络),试想一下,在未来,一个建筑设计师只需草草几笔画个框架,就能立刻在电脑上生成建筑的三维模型,并且还都帮你渲染好了,然后再给几个参数,立马给你生成二维CAD图;一个画师,随便画个草图,电脑就能立即生成与草图相对应的可媲美于实景的照片(为什么说GAN很快就要替代现有摄影技术了?);
(电脑生成的3D鱼):
在这里插入图片描述
(电脑生成的3D猫):
在这里插入图片描述
游戏建模师们就更爽了,那些什么场景,光线都不用自己花大量时间去设置,只需给个草图,给几个参数,电脑立马能生成比真实场景还真实的游戏场景(可以说更爽的是游戏玩家吗!)(这梦一般的街景,全是AI伪造的(把GAN秒成渣渣));
在这里插入图片描述
而那些开发移动APP的人才,比如开发一个类似于ZAO的APP,但并非生成图像而是生成声音,用户随便哼个调调,app便能通过声音自动生成可媲美专业歌手级别的歌曲,通过识别曲风自动填词,并且用户可简易设置生成的歌曲风格,估计又可圈一波钱了!(GAN伪造音视频文件,眼见耳听不再为实 );再进一步设想,创造生物!诶诶诶好像哪里不对,违反伦理是要挨打的,那就创造器官吧,生成式对抗网络能基于已有的基因、蛋白质结构找出其中规律去生成符合设想的基因、蛋白质结构,以满足特定的组织功能(深度丨斯坦福 AI Lab 重磅生物学成果:用 GAN 合成基因),等等。在未来几年,可以猜测,没有及时享受机器学习、深度学习所带来的红利期的企业是容易在竞争中被淘汰的,无论是金融行业、房地产行业、还是数码产品行业、教育行业、机械行业、制造业等,即使是最传统的农业,也需要AI Buff加持(比如像我现在的公司,囧)。
  SO,以上,就是我转到算法岗之后3个多月的经历和感悟,如有错误疏漏,请务必指出!如果还有什么想起来再作补充吧!
—— Dontla 更新于2019年8月

附录1:From 2016: Why Deep Learning Is Suddenly Changing Your Life

From 2016: Why Deep Learning Is Suddenly Changing Your Life

附录2:深度学习如何入门?

深度学习如何入门?

附录3:20个令人惊叹的深度学习应用

20个令人惊叹的深度学习应用

附录4:机器学习、深度学习等人工智能技术在工业界的应用状况是怎样的?人力供需状况如何?

机器学习、深度学习等人工智能技术在工业界的应用状况是怎样的?人力供需状况如何?

附录5:深度学习在电影特效制作上有哪些应用?

深度学习在电影特效制作上有哪些应用?

附录6:深度学习(AI)在医疗领域应用、需求及未来发展概述

深度学习(AI)在医疗领域应用、需求及未来发展概述

Google开发专家带你学 AI:入门到实战(Keras/Tensorflow)(附源码)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章