当前位置: 首页 > 科技观察

我花了两年,从不懂Python变成了AI工程师

时间:2023-03-19 15:22:03 科技观察

从不懂Python到成为AI工程师,我花了两年时间。想在机器学习领域工作,但觉得自己没有这方面的专业知识?有一个小哥,从不会Python到找到AI工程的工作,用了两年的时间。他的文章在网上获得了5000多个赞。有网友在他的故事中看到,激情好奇之路并不平坦,实属不易。享受一路上的小胜利,从你遇到的许多挫折中学习。一切顺利!他的经历或许会给你一些启发。不懂Python,却被“机器学习”所吸引。这位兄弟DavidChong在新加坡管理大学主修经济和金融。他打算毕业后在银行工作。毕业前九个月,他在日本野村证券公司找到了一份工作。期间接触了一些数据分析软件,学习了ExcelVBA编程、数据可视化软件Tableau和PowerBI、机器人流程自动化软件UiPath。“机器学习”的世界让他深深着迷,而最让他着迷的是输入数据,然后预测结果的过程。原来,他对银行产品的复杂性很着迷,工作了一段时间后,他觉得这只是一种从客户身上获利的方式。总之,旧事物对他的吸引力变小了,新的兴趣出现了。他决定改变工作方向。但现实是,他根本不会编程。在他当时的字典里,Python是蛇的一种,Pig……是猪。疯狂自学慕课,他终于明白自己要学数据科学。网上资源很多,于是他在慕课上注册了很多课程:Python训练营:Python3从无到有成为英雄[Udemy]PythonBootcampforDataScienceandMachineLearning[Udemy]ManagingBigDatawithMySQL[Coursera]Java初学者教程[Udemy]Web开发人员训练营[Udemy]机器学习A-Z:Python和R中的动手数据科学[Udemy]MachineLearningandNLPModelswithDocker[Udemy]但他只完成了前三门课程.Mooc课程的内容非常简洁,这也让他很快对一门课程失去了兴趣,还没学完就去下一门了。当在MOOC上教授传统机器学习方法时,模型实际执行的部分通常会被跳过。例如,随机森林会作为决策树的集合来讲授,但不会讲决策树如何决定在哪个分支上选择哪些特征(即熵的概念及相关数学);它会简单介绍支持向量机作为一种分类方法,但不会讲如何确定超平面。深度学习课程不能满足获取人工智能专业技能的需求。相关课程一般都是在Tensorflow上,在MNIST这样好的数据集上给出一大堆代码,然后让你感觉自己像个深度学习专家。但这还不够。研究论文通常包含处理理解深度神经网络模型中的特征提取的复杂架构,以及其他更复杂的特征,例如Transformers和双向编码。理解为什么一些最先进的模型比其他模型更好,以及迁移学习和元学习等概念也很重要。小弟认为,慕课课程的优势在于上手快。上面的类也具有误导性,任何人都可以成为机器学习从业者,认为机器学习就是关于.fit()和.predict()的几行代码。实践与挫折所以,在上了网课之后。为了提高自己的编程水平,David选择了在Hackerrank上练习,完成了SQL和Python的题目。同时,他还用python进行了一个在线自动预定羽毛球场地的项目。新加坡的羽毛球场地是需要提前预定的,一般都是提前两周预定。经过一段时间的学习和实践,David对自己的技术水平有了一个大概的了解:他对写python很有信心,但对代码效率一窍不通。在机器学习中,jupyternotebook专家可以将Jupyternotebook的主题更改为“深色模式”并使用所有键盘快捷键。他想成为一名数据科学家。但是面试都失败了,涉及代码的技术测试比他学的“数据科学”进步得更快。本来应聘的是技术分析师,后来调到别的部门,成了业务分析师。这离他的目标还很远。接受专业的学术培训为了有更好的技能,他在学校接受专业教育的过程中决定继续攻读商业IT(专攻AI)的硕士学位,这极大地补充了之前知识框架的不足。他学习了传统ML模型背后的数学原理,并将最新的深度学习架构应用于自定义数据集;关于人工智能的重要概念,包括常见的搜索算法、Q-learning和深度Q-learning;算法设计,包括图算法、时间和空间复杂度、名称匹配算法等。他还参加了几所学校的硕士课程。这些项目是不完整的,数据集通常是从Kaggle获得的,并最终保存在Jupyternotebooks中。深度学习模型在Docker上运行,但不考虑部署。在大卫看来,硕士教育提供了人工智能从业者所需的严格学术训练,但缺乏实际应用方面的训练。硕士课程不会告诉您从事数据科学工作需要什么。这部分需要自己琢磨。通常需要软件工程和DevOps技能(尽管并不广泛)。在大型组织中,代码协作也很重要。例如,如何设置Docker环境、启动AWSEC2实例、在Azureblob存储上托管数据集、高效组织代码以及使用GitHub或GitLab进行版本控制。课堂不教这些东西。在面试中积累David不断的进行面试,在技术面试和非技术面试(大部分人都失败)中积累了很多经验,也知道自己缺少什么知识,然后抽空补上。面试带来的更重要的经验是让他详细接触了市场。他了解企业对同一职位的不同描述,以及这与企业采用人工智能技术的成熟度之间的对应关系。终于,在决定从事AI工作两年后,他找到了一个很好的机会,一个可以培养他成为AI工程师的职位。兄弟目前的职位是野村证券操作风险部的数据分析师。他在一封电子邮件中告诉Qubit,他将在下个月调任新职位。弟弟认为这只是一个开始,职业道路就像一场马拉松,而不是短跑。还有一件事读了大卫的职业道路,它激励了你吗?大卫说分享他的经历也是为了启发更多的人,不要把他的经历当作指南。这是我个人的轶事,我希望它能激励人们有信心去做他们想做的事,因为生命太短暂,不能没有意义地活着。做你喜欢做的事,因为你一生的大部分时间都在工作。如果你感到迷茫,请记住艾莎所说的“做下一步正确的事”