生活知识百科

软件工程师如何转行做人工智能?

2023-07-27 15:24:59 条浏览

要做人工智能,如果是开发,那必须具备c++,python等语言。如果是项目经理,或是产品经理肯定是要了解相关的业务




每个字都是经验所得,都是站在一个人工智能零基础的人的角度写的,纯手打+网上优秀资源整合,希望大家能每个字都认真看。

接下来文章会侧重在以下几方面

1、零基础如何进行人工智能的自学(以找工作为目的),包括路径规划,怎么学等等。

2、我的个人感悟,关于转行、工作、创业、希望能给大家一些启发。

刚毕业第一年时,迷茫,不知道做什么。

第一阶段:边工作边自学爬虫,失败

毕业一年后,觉得编程可能是自己想要的,所以开始自学编程。

最开始学的是爬虫,python语言。每天学6个小时,一周五到六天。学了4个月后,去面了五六家企业,没有成功。原因是爬虫的知识够,可是计算机的基础太薄弱。什么算法、计算机网络这些,统统没学。因为我当时是完全自学,没有人带,导致我也不知道要学这些。第一阶段,失败,说实话,有点气馁,那可是每天没日没夜的学习啊,最后却换来一场空。可是生活还得继续,怨天尤人有什么用。

第二阶段:边工作边自学人工智能,成功

面试失败后,考虑了要把编程基础学一下再去面试,还是学点别的。我的决定是学人工智能,当时对这个比较感兴趣。好了,又是学了半年多,每天学6个小时,一周6天。从机器学习学到深度学习再学回机器学习。面试,成功地去公司从事机器学习深度学习方面的基础工作。不过实力肯定没有那些编程出身,数学、统计出身的人强,所以很多时候也是边学边做,打打杂。

其实我说的很简单很轻松的样子,但其中的艰辛只有自己是最清楚。所以我很希望通过我未来经验学习的分享,帮助大家少走一些弯路。

第三阶段:自己干

现在,已从公司辞职,自己开发网站,做社群,开网店。就是觉得,其实编程也只是我的一个工具,这个人就是比较喜欢自己做点事情,编程挺累的,哈哈哈。如果大家有什么合作的好点子,也欢迎随时来找我哦。

十问十答:

1、零基础转行学人工智能编程可以吗?可以,要做好吃苦的准备。学习是个漫长的过程,你上班的话,能否保证一定时间的学习呢,这个是你要问自己的。我也是边工作边学习,不同的是,我工作很清闲,所以我基本可以在上班时间学习。如果你还在上学,恭喜你这是你最好的机会了。

2、该自学还是去培训班?我觉得自学就够了,培训班真是又贵又水。这是我进过培训班的朋友告诉我的。其实你工作之后会发现,很多东西都是要自学的。如果你连自学都没办法自学的话,你又怎么能工作。而且,自学的效率会更高,当然前提是路径不能错。

3、转行人工智能,就业率怎么样?说实话,如果你不是人工智能出身的,要转行人工智能其实是比较难的,毕竟人家正统学习不是白学的。但这不意味着就没办法。找准目标,规划好路径,学习最必要的知识,这样就有机会。但是,请做好学完仍找不到工作的心理准备。

4、最理想的自学环境是怎么样的?清晰的学习路径+自学+交流讨论的环境+有人指导

5、人工智能零基础可以学吗?可以,但是比一般转行编程其他领域的要难,因为要自学的东西更多,要求的门槛也会更高。这个后续会着重讲到。

6、学人工智能需要数学吗?不要因为数学而望而切步,数学是需要的,但没有要求的高不可攀,通过必要的学习,是可以达到入门水准的。

7、以前没接触过编程,怎么办?可以学习python,这真的是一门对零基础的人来说很友好的语言了,其他的我不懂。

8、一般转行编程的周期要多久?按我跟我周边朋友的经验来看。一周5-6天,一天6小时学习时间,4-7个月,这应该是比较正常的。

9、我是怎么坚持下来的?期间有很多次想要放弃,有的时候是真的看不懂,也没人教,纯自学,安装个工具有什么时候就要安装半天,不多说,都是泪啊。你的欲望有多强烈,就能有多坚持。

10、现在学编程还来得及吗?永远都来得及,学编程不一定是为了好工作,它更是一个全新的世界,你会发现很多对自己有帮助的东西。就算以后你不做这个,我相信这个学习的过程也会有所收获。




有心的话,完全可以!




没有什么本质区别,至少在国内做ai基本上都是用国外的开源项目,会编程就能做,边做边学点基本概念就行了。我们原来不做这些,现在人脸识别,osr,asr,nlp照做不误,没感觉有多大技术含量。




我自己摸索学习了三年终于转型人工智能工程师,现在我专心做算法,获得时间差可能就会赚钱。我全职研究深度学习还去公司做算法工程师,每个公司学到一些,最后掌握了各种人工智能技术。




别搞笑,做这些的门槛还是很高,不是随随便便一个应用开发人员可以做的




数学系出身,ⅠMO的水平可以搞,其他就是瞎混混。软件只是新时代的工具,工程师只是匠人,不是科学家。




净化网络环境,文明理性上网,从我做起




学习就可以转




网上自称是机器学习过来者,给的一些建议有一个几乎相同的学习路线版本:1、学习数学基础;2、学习各种算法;3、用编程语言开始实践、参与Kaggle或者天池比赛。等等,我想说的是这是不正确的、不科学的!理由如下:

第一、人工智能体系涵盖的知识面很多,学习曲线陡峭、学习周期长,对于软件工程师等已经工作的人来说,再像大学按部就班的学习,绝对是不可取的,因为软件工程师本来工作就很忙,这是事实,你不能忽略,辞职学习更不可取,所以,必须抛弃这种从头再来的学习方式!

第二、注意问题,是转行“做”人工智能,是做,不是学,什么意思呢?我想说的是现在网上的免费可得资源、课程也很多,有多少人通过学习真正会做了呢?大部分人了解理论而已,甚至理论也是了解得一知半解!所以,科学的学习方式应该是“在学中用、在用中学”,坚持实践为王!

第三、人工智能方向那么多,必须结合自身兴趣、期望选择一个适合自己的方向,不要见什么爱什么,觉得什么好就学什么。所以,科学的建议是聚焦,坚持一个方向!

第四、人工智能涉及到非常多的数学知识、算法知识,应该是先学好了这些知识然后才能开始吗?这是大错特错的!一来,这些知识全学完了,黄花菜都凉了,一年半载过去了;二来,这些知识大而全,有的实践中并不会用到,没必要全面学习。所以,科学的方法是抓住涉及人工智能的知识、原理,甚至在实践中有疑问了再立即查学、补漏,这才是效率!

综合上述,对于软件工程师科学的、合理的学习过程应该如下:

第一、选择方向。

根据行业、自身、兴趣、发展等,选定人工智能的一个技术方向。

第二、评估差距。

了解人工智能技术体系,然后对比自己已经掌握的技术,评估差距有多少。

第三、制订学习计划。

按照达到入门级水平、初中级水平人工智能工程师的目标,来科学制订学习计划,计划包括时间分配、理论学习、实践等,对于已经工作的软件工程师来说,时间分配是个难题,要学会抓住散碎时间。

第四、按照“理论--实践--理论”的过程循序渐进地学习。

资料选择一两种就行,网上资料已经太过泛滥,不要疲于选择,大部分是重复的,甚至有不少错误,所以,更重要的是要跟有经验的人交流、学习,因为他们踩过坑,可以让你让走很多弯路。

第五、试着解决实际问题。

这个阶段一定是实际问题,而不是跟网上照搬其他人写好的例子(包括比赛),这种照猫画虎应该在第四阶段的实践环节中完成。这个阶段应该试着从易到难解决一些有数据的实际例子,有问题可以向有经验的人请教。

通过以上五个阶段,对于基础好的来说,一年内转型不是问题,对于基础薄弱的,二年内也能够达到入门级人工智能工程师。只有这样软件工程师才能真正实现转型!




先去学python




学英语




回炉重造吧还是




我原来也是一个码农,所以我再此深知码农转行机械学习的弯路与辛酸,想在此分享一下我在学习路上的一些总结及建议,能让跟我一样的你少走弯路。图像算法工程师也是我结束付费课程后找的第一份工作,主要运用机器学习算法与OpenCV的结合,对车牌,人脸的识别。主要运用于交通和安防。

与机器学习偶遇

在2017年为了听一个专栏《通往财富自由之路》下载了一个app,了解了知识付费,自此知识付费这一概念深入我心,也是在这里了解到了人工智能,对人工智能的好奇让我走上了学习机器学习和深度学习的道路。当时网络学习资源很多,刚开始看国内的一些公开的免费视频,看完了,自己却无法上手独立写代码,后来在网上继续搜有关人工智能的知识,才知道机器学习,深度学习的概念,我都记不清是怎么选了优达的课程,但现在觉得自己很幸运。

本人于2017年五月份开始学习编程,七月结束优达学城数据分析入门纳米学位,十月结束机器学习纳米学位,2018年一月左右结束深度学习纳米学位,二月份刚找的工作,虽然找工作有些坎坷,这是转行的必然,但最终做我学过的东西,感觉都是自己所熟悉的。

面对专业人士,转行的你用什么与之抗衡

下面是我在学习过程中总结出来的一些经验,给大家做参考学习,希望大家在学习的时候少走弯路。

有明确的学习方向

很多人其实论努力程度不输任何人,但是总感觉自己进步非常慢,那么原因很可能是你不够专注。我看到这么一个现象,IT界技术日新月异,动不动就会出来一门新语言,新框架,尤其前端界更是,很多人就看到有一个看似很火的东西出来了,然后去学习,另一个东西出来了,又忙不迭的去学习,生怕错过了时间窗口就错过了巨大的机会。然而殊不知,万变不离其宗。选择一个方向,攻克了,继续深入。方向确定了,选课就是关键了,我当时选的课对我帮助很大。首先,课程设计给了我明确的方向;其次,没遇到关键的知识点都会给我推荐相关学习资料和课外阅读;再次,约到问题有大牛一对一的辅导,能和志同道合的人一起交流探讨技术,对自己的提升很有帮助。

以主带辅的学习路线

以课程为主导,有大牛们的指导,比如:我选的优达学城课程(机器学习工程师|Udacity)中总有大牛告诉我该怎么学,学了能用在什么地方,也会组织一些学员活动一起探讨,一对一的项目审阅及课程辅导和资深课程推荐等让你省下了很多去探索学习之路的时间,不至于走错了方向;学院也会针对你学习过程中用到的基础知识推荐相应的基础课程。另外自我网络资源的搜索推荐google,还有上论坛如CSDN,看微博等为辅助。

以项目驱动为指导

选择课程一定要看是否有项目主导,这样你才能在实践中学习,深刻认知。项目主导对于学习是非常关键的,好的项目面向应用,面向企业;当时我学习深度学习,课程不但设立了通关项目,还有许多练习项目,不但扩充了知识面,还锻炼了编码能力,思维能力。这是我当时学习的一些项目资源链接(udacity/cn-deep-learning):涉及风格迁移,情感分析,文本处理及生成,文本翻译等。

另外,自己应该参加一下如Kaggle,京东,腾讯等知名研学社及企业组织的比赛。下面是kaggle里catsvsdogs的项目Dogsvs.Cats|Kaggle,供大家学习参考:

升级版地址:kuhung/DateCastle

当时记得最后学的深度学习课程链接如下:深度学习|Udacity

一共设立了5个项目,由简入深,从共享单车客服出行量预测到人脸生成,一步步深入,这种对于我这种基础的人还是比较合适的。

分享式的学习与沟通

近朱者赤近墨者黑,一个良好的环境对你的影响非常大,与同行人士在一起探讨,以团队的形式组织学习,不但提高你的兴趣,还能提高学习效率,扩充知识面,当时进入优达学城就有组织分组,到现在我们组还在联系,一起探讨各个行业知识(关于AI方向)。不仅锻炼社交能力,还能扩充知识面,跟是对现学知识提升的有效途径,所以足见选好课程的重要性,不要总认为网上资源众多,单打独斗不适应现在知识更新如此之快的时代。记笔记(比如写简书,有道,csdn论坛),写微博,在Udacity论坛上发论坛,分享自己所学,收获大牛给的意见建议,教会别人也教会了自己更是强化了知识。

提高自己的起点

坚持看博客、文档学习,看博客除了节省我的学习时间之外,还提高了我的阅读能力。我当时学城也给我推荐国外大牛的文章,论文,都是权威及最新的科技论述,让我每次都走在科技的前沿。当别人在用百度,查看国内各种二手资料的时候,我坚持使用Google,查看国外大牛博客,我英语很差,这对我来说很难,但是我硬逼着自己,坚持下去,当别人混国内小白论坛的时候,我就开始混GitHub开源社区,学习国外大牛的开源项目,当别人在看国内翻译的资料的时候,我却逼着自己去官方看英文文档。

这一切的一切,本质上都是为了提高自己的起点,虽然我起步晚,但是我起点高,慢慢的就

会缩小差距,时间长了,甚至后来居上。




没必要转行,干一行,爱一行精一行。不是科班出身,精髓很难领悟的。




别转行了,你学不会的




软件工程师是按需求做事的。把人工智能作为工程,是否恰当暂且不论,至少,现在没有谁给出了人工智能的需求规范。这可能是软件工程师转行人工智能需要越过的第一道坎。




我觉得做高水平的ai.需要博士级别科研级别。还是要做适合自己的,有些东西你可能也学到差不多。但就差那一点点就是天才的差别。那样你不如把现有的工程做好。很多工程师的水平可能就是入门级别的。还要转人工智能我觉得这是抱大腿。如果学习应用人工智能我觉得只要基础好的工程师啥时候学习都可以。




看不起下去了,来说两句,要找资料他自己不会吗?这里成培训班了吗?我认为题主应该考虑转行的可行性。

恕我直言,你很可能转不了。可能哈,因为不了解题主。

为什么呢?

题主,不知道你做什么工作的,——软件工程师的范围可大了,假设你是一名Java程序员,工作是Web开发编码,写层面的逻辑,因为底层已经有框架了嘛。底层算法什么的,几乎写不着,当然,写逻辑也是写算法,无可厚非;或者你做架构、运维,部署开源软件,分析故障,打命令的嘛;甚至你是做大数据开发的。

但这些工作,统统和AI无关。

AI内部充斥着数学概念、公式,代码可以先放一边,代码嘛,3岁-80岁学学就会了。但AI和逻辑编码是完全不同的。AI似乎和《周易》算卦有异曲同工之妙,比如都会通过大量经验积累来预测未来,当然,不限于预测。

意思就是说,要从0开始,从头再来,之前的软件开发经验的积累充其量有助于你拷贝代码。

转行不现实,做好当下。当然,有志者事竟成,可以努力实现新梦想。




1、培训课程,因为有开发经验,所以,不建议现场学习,直接网上花一点钱买课程学习,现在学习的网站很多,比如北风,慕课网,51cto,如下截图是我在51cto买的课程:

2、学习,主要补充python,数学算法等等;

3、选择好方向,机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用等;还有深度学习,神经网络等等

4、多模拟训练,要搜集自己喜欢行业的一些数据,对数据进行准备,然后选择模型,进行训练,对模型评估,当然,具体每一个步骤需要你去实行

5、准备介入AI行业,这个对于程序员来说有点困难,因为市场行情对AI要求比较高,动不动就是研究生毕业的,当然,薪水也特别高。如果你是小本,并且年龄大了,你就必须要有转行失败的心理准备,如果在本公司里面涉及一些人工智能方面的东东,那最好了,尽量去靠近吧。




温馨提示