31

从银行业务员转行AI工程师,我经历了什么

 4 years ago
source link: https://www.leiphone.com/news/201912/v9j40AfPwb6CNH1g.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

IBjIF3f.png!web

Jakub Kriz 发布在 Unsplash 上的照片

两年前,我大学毕业。由于我的专业是经济学和金融学,因此我准备从事金融业。投资银行和全球市场——这些都是我梦寐以求的工作。在毕业前 9 个月,我在一家投资银行谋到了一个职位,我感到很自豪,因为那家银行非常难进,如果没有在那家银行实习过,通常是很难通过面试的。

工作几个月后,我学会了 Excel VBA,并学会了如何使用 Tableau、Power BI 和 UiPath(一个机器人自动化软件)。我意识到我更感兴趣的是学习这些工具和代码,而不是学习银行产品。银行产品曾一度因其复杂性而引起我的兴趣,现在却被视为银行从客户身上赚取利润的一种方式。

另外,银行业的工作环境和我的个人价值观差异很大,这对我来说是一个巨大的挑战。

在这个时候,我的一位同事带我看到了「机器学习」的世界。一个人可以「预测」到哪些投入会产生怎样的结果,这让我非常感兴趣。

但有一个问题:我对于编程了解的不是很多。在我的字典里,Python 是一种蛇,而 Pig 是......一头猪。

两年后的今天,我即将进入人工智能行业,成为一名 AI 工程师。这段经历并不容易,时间也不短。对我来说,向人工智能产业的转型仅仅是一个开始——对我来说,这是一个学习和成长的新起点。本文就是我的经历。

免责声明

每个人的数据科学之旅都是不同的。这篇文章不是关于「如何学会人工智能」的,不应该被看作是一个循序渐进的指南。这只是我个人的经历,我希望能激励人们去做他们想做的事,因为生命太短了,不能活得没有意义。

我的旅程

加入 MOOC 课程学习

虽然有经济和金融背景,但我不知道如何编码。Excel VBA 和编码很接近,但也只是相似。作为一个优秀的人,为了进入数据科学的行业,我报名参加了 MOOC 上的一些大规模的在线开放课程。以下是我报名参加的课程清单:

  • Python BootCamp: Go from zero to hero in Python 3 [Udemy]

  • Python for Data Science and Machine Learning Bootcamp [Udemy]

  • Managing Big Data with MySQL [Coursera]

  • Java Tutorial for Beginners [Udemy]

  • The Web Developer Bootcamp [Udemy]

  • Machine Learning A-Z: Hands-On Python & R in Data Science [Udemy]

  • Deploy Machine Learning & NLP Models with Docker [Udemy]

但是,除了加粗的部分,大部分课程我都没有完成。由于获得知识太容易了,我陷入了恶性循环,我很自然而然地在一门课程没有学完的时候转到另一门课,并且兴趣转瞬即逝。

对我来说,这是 MOOC 最大的缺点——内容的简洁性。或者,我最初的期望是 MOOC 可以推动我从事数据科学的职业,这可能太天真了。

为了让人印象深刻,一个教授传统机器学习(ML)方法的典型 MOOC 课程通常会略过诸如模型实际是做什么的这种基础知识。你会学到随机森林是决策树的集合,但不会学到决策树是如何决定在哪个分支(即熵的概念和数学原理)上选择哪些特征不被覆盖。支持向量机只是作为一种分类方法来教,但如何确定超平面将不包括在课程内。

「我知道的」和「我需要知道的」之间的这种差异在我学习人工智能的更高级领域(如深度学习)时得到了证明。教授深度学习的 MOOC 课程经常在 Tensorflow 中向 MNIST 这样一个好的数据集抛出一堆代码,并告诉你,你现在是一个深度学习专家了。这显然与现实相去甚远,因为论文通常包括复杂的体系结构,其中涉及到深度神经网络模型中特征提取的理解,以及其他更复杂的特征,如 transformer 和双向编码。理解最先进的模型相比其他模型的优势在哪里,这一点也很重要,同时迁移学习和元学习等概念也是很重要的。

在我看来,MOOC 课程常常给人一种错觉,即任何人都可以成为 ML 实践者。它可能会让初学者觉得,ML 只是涉及 .fit()和 .predict()的几行代码,这是因为 MOOC 为了让人们可以相对轻松地开始使用 ML(也许由于 ML 相关的大量宣传,将这些课程货币化及其有利可图)而以这些作为教学材料。

别误会我的意思,MOOC 课程很好,它为人们提供了一种快速而简单的方式来获取知识并开始某个话题。但是,它们会让你成为专家吗?显然不能。你在完成课程后做什么,将决定你是否成为专家。

学习更多技能

在完成了几次 MOOC 课程之后,我知道自己还是什么都不会。当然,我知道了 Python 中的一些基本技能,知道如何使用 sci kit 从.fit()和.predict()。

为了提高我的编程技能,我在 Hackerrank 上练习并完成了 SQL 和 Python 相关的题目。同时,我希望有一个真实的 Python 项目。就在那时,我开始研究一种可以为我预订羽毛球场的机器人。这个项目主要包括使用 Selenium 与浏览器交互、浏览网页、最终下单并支付羽毛球场的费用。其动机是,新加坡的羽毛球场通常提前两周就预订满了,很多人每天都会在发售时间在预订网站扎营,而羽毛球场通常在一两秒钟内就被预定完了。

尽管我对用 Python 编写代码有信心,但我对代码效率一无所知。时间和空间复杂度对我来说完全是陌生的。面向对象编程在我的脑海中是一个从未有过的概念。

在 ML 方面,我是 Jupyter notebook 的专家。我可以将我的 Jupyter notebook 的主题改为「黑暗模式」,并熟练使用所有的快捷键。显然,我已经准备好担当数据科学家的角色。

然而,我在面试中惨败。在进入「数据科学」领域之前,涉及到代码的测试就已经将我拒之门外了。我申请了技术分析师的职位,但被推荐到另一个部门,因为他们觉得我更适合做业务分析师。

我离我该去的地方很远。

课堂学习远远不够

为了深入了解 ML 并磨练我在 Python 方面的技能,我决定在 Singapore Management University 攻读 AI 专业的 IT 商业硕士。

我学习了传统 ML 模型背后的数学知识,并在一个数据集上应用了最先进的深度学习架构。我学习了一些关于人工智能的重要概念,包括常用的搜索算法、Q-学习和深度 Q-学习。我了解了算法设计,包括图形算法、时间和空间复杂度、名称匹配算法以及更多的算法,它们刷新了我的认知。从本质上讲,这门课程为我提供了 MOOC 所缺乏的学术严谨性。

在这个时候,我手上有几个项目。它们不是成熟的项目,其数据集通常是从 Kaggle 获得的。深度学习模型在 Docker 上运行是为了保持一致性,但从来没有考虑到部署的任何方面。毕竟,他们是学校的项目。

在我看来,硕士阶段的学习为人工智能专业人士提供了必要的学术严谨性,但缺乏实际应用方面的知识。硕士课程不会告诉你什么是获得数据科学工作的必要条件,你必须自己去弄清楚。软件工程和开发技能通常是数据科学家工作范围的一部分(尽管不全面)。代码的协作在大型组织中也很重要。因此,了解如何设置 Docker 环境、启动 AWS EC2 实例、在 Azure blob 存储上托管数据集、高效地组织代码以及使用 GitHub 或 GitLab 进行版本控制,是一些需要的关键技能,但课堂上没有讲授。

去尝试吧,即使你觉得自己不够好。

我继续面试,尽管大多数面试都不及格,但我积累了大量技术面试和非技术面试的经验。它们让我知道了自己的知识漏洞,我花时间学习了这些技能。更重要的是,它让我了解了不同类型的工作内容,不同的公司对同一个职位的要求是什么。

两年后,我得到了一个 AI 工程师的职位。对我来说,这是一个很好的机会,我可以在一个我热爱的领域学习和成长。更重要的是,我的经历证明了任何人都可以完成他们打算做的事情,尽管有些人可能需要比其他人花更长的时间。

归根结底,职业生涯是一场马拉松,而不是短期冲刺。做你喜欢做的事,因为你将花费一生中很大一部分的时间工作。

如果你感到迷茫,记住 Elsa 所说的话:做下一件正确的事。

via: https://towardsdatascience.com/i-had-no-idea-how-to-write-code-two-years-ago-now-im-an-ai-engineer-13c530ab8227

雷锋网雷锋网雷锋网 (公众号:雷锋网)

雷锋网版权文章,未经授权禁止转载。详情见 转载须知

AfMRVbE.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK