大家好啊,我是董董灿。
熟悉我的小伙伴都知道,我之前在北京某211大学,本硕读了7年的机械专业,后来硕士毕业后,果断转行去做了嵌入式开发,随后瞅准了 AI 爆发的时机果断转行去做了AI。
这段经历已经过去了很多年,但依然历历在目。
我从机械硕士转行到 AI 算法的过程中,自学过很多知识,包括 C++、python 编程,当然还有 AI 算法,也有很多感悟。
今天就跟大家分享一下这段经历,希望可以帮助到手机前的你。
文章大概3000字,完整阅读大概需要10分钟。
1、辞职去做 AI
做 AI 之前,我一直在做传统嵌入式。
但彼时 AI 行业已经火了,因为什么呢?因为在我做嵌入式的那家公司,另一个小组,已经开始在公司内部讨论 CUDA 编程了。
当时对 CUDA 完全不懂,百度查了一下,发现竟然可以做 AI 算法的加速,很是新奇。
正好我们当时在用一款国产小芯片做开发,也在愁如何在这个小芯片上做性能优化。
于是我就查了不少关于 CUDA 编程的资料,再然后自然而然就查到了 AI 算法和深度学习知识,于是产生了转行去做 AI 的想法。
在那家公司提离职的时候,我被总经理叫到了办公室,关上门畅聊了一下。
他问我以后什么打算?
“我说,我想搞人工智能算法”,彼时人工智能算法已经火起来了。
我说我想去商汤那样的公司搞 AI 算法,我觉得 AI 算法,未来的应用潜力很大。
经理说:“商汤的算法搞了很长时间了,很多算法已经固化成了包,很少会再有新的算法来研究了,你现在去搞,我不认为是一个好的选择”。
当时我不知道经理是对 AI 算法这一行不熟悉,还是用这样的说辞来劝退我,希望我留在公司。
最后的谈话以以下对话收场。
“经理,我希望我在有动力,敢想敢干的年龄,去闯一闯,试一试 AI 这一行。”
“可以,既然你决定了,我支持你,但如果在外面混不下去,可以回来。”
“好的,谢谢经理”
因为那句"如果混不下去了,可以回来",我从办公室出来的时候有点泪目。
2、大海捞针的面试
时间来到当年 5 月,我正式结束了在那家公司的交接工作,离职开始投简历,当时只投了一类工作:AI算法。
收到了不少面试机会,大小公司都有。
一天跑好几个面试是常有的事,我给自己的目标,一定不要凑合,一定要找到自己喜欢的工作,工资无所谓。
当时面过好几家公司,有初创公司利用摄像头做成像,然后利用神经网络识别物品的,类似于现在超市货架上的商品,用摄像头+AI算法来做识别。
类似于现在自助贩卖机的功能,你付了钱,从里面拿出某件商品,可以识别出来你拿的商品以及付的钱一不一致。
但彼时的我,算法真的一塌糊涂。
印象很深刻的是,面试官问我什么是权值?我说你说的是不是达不溜(w)。
他笑着说,什么达不溜,我说我看很多文章中都说权值,用 w 表示,很显然面试失败了。
当时面试是真的难,虽然自己有编程语言的底子,也有芯片开发的经验,但是做算法,感觉就像是换了一个方向,尤其是 AI 算法。
后来我投了商汤,获得了宝贵的面试机会。一个小时的面试,都是面试官在跟我讲他们公司做的事情,面试快结束了,面试官跟我说。
“我们收到了你的简历,但是说实话,不太符合我们的需求,但为什么还要让你来参加面试呢?
一是想当面和你说一下我们公司在做的事,算法并不是你想象的那么简单,你需要了解 blabla 等等的知识;
另一方面,如果你还想在这方面继续投简历面试,我给你一些需要学习的建议和书籍,你可以回去学习一下。”
真的很感谢商汤的面试官,一个小时的交流,确实学到了很多,后来商汤上市了,也用过他们家的产品,祝商汤越来越好。
3、AI 芯片
既然纯 AI 算法有难度,那就结合我嵌入式开发的经历以及 AI 算法重新投简历吧。
什么样的工作需要这样的呢,兜兜转转投了很多岗位,最终确定在了 AI 芯片的算法开发。
第一,对芯片有了解是加分项,刚好我做过嵌入式开发,了解过很多计算机指令、总线、内存、寄存器相关的知识。
第二,算法正是我所要学习,并且想进入的行业。
彼时国内搞 AI 芯片的屈指可数,阴差阳错的进入了一家当时的独角兽公司,行业内的小伙伴可能会知道,一年后公司上市。
在这家公司,学到了很多,一步步的也成长了很多,可惜的是最近这一年公司裁员不断,很多一起奋斗的小伙伴也都离开了,当然我也离开了。
回想我们那几年在公司的日子,大家一起为了国产 AI 芯片努力,加班加点适配各种神经网络,加班加点完成模型性能优化的日子,真的很单纯。
那时候的我们有理想,或许真的想为国产 AI 芯片做一些事情,可惜的是,公司上市之后发展事与愿违。
这是几年前的事了,目前我仍然在做着 AI 研究相关的工作,但早已不是几年前的小白了。
工作教会了很多,自己也学了很多。
感恩那个主动离职去寻找新机会,和总经理在办公室聊了很大一会的下午。
4、转行容易吗
在我从嵌入式转行做 AI 的过程中,为了快速学到 AI 行业的知识,当时报了一个班,学了几个月,基本上把 AI 算法和神经网络的整体脉络摸透了,只不过一些基础还不扎实。
后来成功入职了上面说的公司,薪资也成功翻倍了,弥补了报班产生的费用,那一刻觉得一切都是值得的。
亲历过这段经历,我只能告诉你,转行不容易。
别听网上说的转行很容易,除非你能力出众到,面对一个全新的领域,别人一说你就懂。
隔行如隔山,但你是个天才。
否则,没有做好完全的心理准备,没有准备好退路,没有足够的勇气,不建议贸然转行。
但不容易不代表不可行。
转行没有捷径,用勤奋学习来弥补短板缺点,然后快速的将自己的水平和行业平均水平拉齐。
只有这样,你才能快速的在新行业立足,建立自信。
否则,只会陷入更加深刻的自我怀疑中,这其中的艰难,只有经历了才懂得,劝君慎重。
当时除了报了一个班之外,还有哪些渠道可以学习呢?
如果真的转行了,面对一堆听都听不懂的专业术语,不要害怕,上网查资料自学,一定要系统的学习!!!
-
B站和慕课上有很多免费教程,可以学 C++和 python,也可以学吴恩达老师的机器学习入门课程。
-
计算机基础学习,除了工作之外,系统的看相关的书籍并进行大量的实践,有机会的话,多弄一些开发板来调试,如果有能力可以搞GPU来做实训。
-
计算机基础入门方面,可以找计算机的考研课程系统的来看,作为入门基础。
-
其次,找行业内的人多交流,深入了解这个行业。
以上几点做好了,你就能跨第一道坎,一只脚进入了新行业之后,那就是自学进门,修行在个人了。
5、我是怎么学的呢?
看课学 C++
除了上面说的报了一个 AI 的课程之外,我当时还买了一个 399 的 C++ 课程,每天上班路上看。
坐地铁从家里到公司刚好半小时,每天上下班看一个小时,坚持了3个月,将课程看了 6 遍。
到公司有闲暇的时候就练习课程中的技术,基本上3个月下来,C++ 就很熟练了。
找深度学习的实际算法练手,亲自手写算法
吴恩达的课确实经典,很多入门的同学都会看,我当时也看了,算是一个深度学习理论的领路人吧。
在此基础上,我会把很多算法都自己实现一遍,加深对这些算法的理解,比如我手写过很多版本的卷积算法、矩阵乘算法等等。
为什么我要手写算法,因为我想加深自己对于算法的理解。
调用库我们都会调用,但是调用库的时候,你只是个使用者,能自己手写出来才是真正学到手。
我还手写过不少的神经网络,比如Github上这个 https://github.com/dongtuoc/resnet50_zero,是我是曾经写过的一个resnet50的神经网络。
我从头开始全部手写了所有算法和网络结构,核心实现没有调用任何三方库,最近还想给他重构一下,如果你感兴趣可以去看看。
在完成以上两点之后,我的深度学习入门基本就完成了,剩下的就是在工作中不断地打磨自己对算法的理解,不断的精进自己的水平。
然后业余时间写文章,做算法科普,同时也加深自己对算法的理解。
当你看到这篇文章的时候,我已经在我的公众号上发了100+原创文章了,也在CSDN上发表了不少文章,给想入门 AI 的同学科普算法,因为自己经历过,所以才知道如何理解更加简单。
这里放一个我认为到目前为止,虽然不是阅读量最高,但是我写的最棒的一篇文章:5分钟搞懂矩阵乘法的本质。
深度学习入门,我的秘诀就是:自学,坚持,然后坚持自学。
很多同学在看了我的文章后,加我微信探讨如何入门深度学习。于是我最近也总结了自己之前学习的经验,开发一个计算机视觉从零入门的学习小册子专栏:计算机视觉入门与调优-CSDN博客
目前已经更新了60+篇文章,从原理到实战系统的讲解如何入门计算机视觉。目前已有 100+ 名小伙伴加入一起学习了,如果你感兴趣,欢迎一起加入呀。
最后,感谢你看完了这篇文章,希望能帮到手机前的你,最后的最后,祝所有想要转行的小伙伴都能薪资翻倍,收到满意的 offer~