[译]两年前我对编程一无所知,现在我是一名AI工程师

2023-11-04 04:50

本文主要是介绍[译]两年前我对编程一无所知,现在我是一名AI工程师,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文翻译自Medium上的一篇文章,原文标题:I had no idea how to write code two years ago. Now I’m an AI engineer. 点击文末的阅读原文可以跳转到英文原文。

两年前,我大学毕业,大学读的经济和金融学。我决定从事金融业,投资银行和全球市场 - 这些都是理想的工作。毕业前9个月,我在一家投资银行谋得一份职位,感到很自豪,因为如果以前没有在那家银行任职,通常很难谋到这个职位。

工作了几个月后,我学习了一些 Excel VBA,还学习了如何使用 Tableau,Power BI 和 UiPath(机器人过程自动化软件)。我认识到我对选择这些工具,学习编码更感兴趣,而不是学习银行产品。曾经因其复杂性而令我着迷的银行产品,现在仅被视为银行从客户获利的一种方式。

银行业环境极大地冲击了我的个人价值观,但这是另一个话题。

同时,与我一起工作的同事为我敞开了机器学习世界。一个人可以从某些输入中预测某些结果的事实使我很感兴趣。

我立刻被迷住了。

但是有一个问题 – 我只有初级的编码技能。在我的字典中,Python 是蛇的一种,而 Pig ... 是一头猪。

时光飞逝,两年后,我进入 AI 行业,成为 AI 工程师。这一路并不轻松,也不短。对我而言,转战 AI 行业仅仅是开始 - 我学习和成长的新开始。这就是我的旅程。

免责声明

每个人的数据科学之旅都是不同的。本文不是探讨如何进入人工智能,不应将其视为手把手指南。我希望这是个人的轶事,我希望它能激发人们的信念,去做自己想做的事情,因为生命太短暂了,不要去过没有意义的生活。

我的旅途

登上 MOOC 快车

虽然具有经济和金融学背景,但我不知道如何编码。Excel VBA 非常近似于编程,但仅此而已。作为一名优秀的学生,我想加入到数据科学的潮流中来,因此报名参加了一些的大规模开放在线课程(Massive Open Online Courses, MOOC)。不是一个,而是少量。这是我注册的课程列表:

  • Python 训练营:Python 3 从零开始到精通[Udemy]

  • 适用于数据科学和机器学习的Python训练营 [Udemy]

  • 使用MySQL管理大数据[Coursera]

  • Java初学者教程[Udemy]

  • Web开发人员训练营[Udemy]

  • 机器学习A-Z:动手实践数据科学, Python 和 R [Udemy]

  • 使用Docker部署机器学习和NLP模型[Udemy]

不用说,我并没有完成其中的大部分课程(只完成了黑体字的部分)。我陷入了所谓的 MOOC 自我延续周期。容易获得知识使得从一门课程转到下一门课程是很自然的,由于所涵盖主题的简短,使我的兴趣短暂,常常无法完成前一门课程。

对我而言,这是 MOOC 的最大缺点 - 所涵盖内容的过于简单。也许我最初对 MOOC 可以推动我从事数据科学事业的期望太过幼稚。

为了说明问题,典型的 MOOC 讲授传统的机器学习(ML)方法通常会浮于表面,而略过模型实际的作用。随机森林被教导为决策树的集合,但是不涉及决策树如何确定在哪个分支选择了哪些特征(比如熵的概念和数学知识)。支持向量机仅作为分类方法进行讲授,但是将不介绍如何确定超平面。

当我们研究诸如深度学习之类的更高级的 AI 领域时,我所知道的我所需要知道的之间的差异得到了体现。教深度学习的 MOOC 通常会在 Tensorflow 上使用诸如 MNIST 这样的不错的数据集编写大量代码,并得出结论,您现在是深度学习专家(我有点夸张,但您会明白要点)。这显然与实际情况相去甚远,因为研究论文通常包含复杂的体系结构,涉及理解深度神经网络模型中的特征提取,以及其他更复杂的特征,例如变换器和双向编码。理解为什么某些最新模型比其他模型更好地工作,以及迁移学习和元学习等概念也很重要。

我认为,教学机器学习(ML)的 MOOC 常常给人一种错误的印象,即任何人都可以成为 ML 实践者。天真地认为, ML 只是涉及 .fit() 和 .predict() 的几行代码,这是因为 MOOC 以这样一种方式表达:人们可以相对轻松地开始使用ML(也许可以将它们货币化,由于 ML 的大量宣传,课程非常有利可图)。

别误会我 - MOOC很棒。它们为人们提供了快速简便的方法来获取知识并进入某个领域。它们会让您成为专家吗?不。完成课程后,您要做什么,将决定您是否成为专家。

动手实践

完成了几门 MOOC 之后,我知道自己再不会有所收获。当然,我掌握了一些 Python 的基本技能,并且知道如何以 .fit() 和 .predict() 的方式使用 sci-kit learn,但是仅此而已。

为了提高我的编码技能,我在 Hackerrank 上进行了练习,并完成了有关 SQL 和 Python 的问题。同时,我希望有一个可以使用 Python 的真实项目。我开始做一个可以为我预订羽毛球场的机器人的项目。这主要涉及使用 Selenium 与浏览器进行交互以浏览网页,并最终加入购物车并向羽毛球馆付费(这类似于秒杀运动鞋机器人)。这样做的动机是,新加坡的羽毛球场通常两周之前就预订一空,很多人常常每天蹲守网站,守候发布时间(他们通常在一两秒钟之内就预订了)。

即使我对用Python编写代码更有信心,但我对代码效率一无所知。时间和空间的复杂性对我来说完全陌生。面向对象的编程在我脑海中是一个永远不会发光的概念(更不用说最终被遗忘了)。

在 ML 方面,我是 Jupyter notebook 专家。我可以将 Jupyter notebook 的主题更改为暗模式,并会使用所有键盘快捷键。显然,我已做好担任数据科学家角色的准备。

现实检验 - 我的面试惨败。还没等我提及数据科学,涉及代码的技术测试便挡住了我的脚步。我申请的技术分析师的职位使我转到了另一个部门,因为他们认为我会更好地担任业务分析师。

我离我要去的地方还很远。

实践还不够

为了深入了解 ML 并磨练我的 Python 技能,我决定前往新加坡管理大学攻读商业 IT 硕士学位(专门研究 AI )。

我了解了传统 ML 模型背后的数学原理,并在自定义数据集上应用了最新的深度学习架构。我了解了有关 AI 的重要概念,包括常见的搜索算法,Q-learning和深度Q-learning。我学习了算法设计,包括图形算法、时间和空间复杂度、名称匹配算法以及许多几乎使我的非计算机科学头脑爆裂的算法。从本质上讲,该课程为我提供了 MOOC 所缺乏的学术严谨性。

在这个时候,我有几个导师的项目。它们不是完整的项目,因为数据集通常是从 Kaggle 提供或获取的,并且通常在Jupyter notebook中展现。为了确保一致性,在Docker上运行了深度学习模型,但从未考虑过部署方面。它们毕竟是学校的项目。

我认为,硕士课程为 AI 专业人员提供了严格的学术要求,但缺乏实际应用方面的锻炼。硕士学位课程不会告诉您从事数据科学工作的必要条件 - 您必须自己弄清楚这一点。数据科学家的工作范围通常需要软件工程和 DevOps 技能(尽管范围不广)。在大型组织中,代码协作也很重要。因此,了解如何设置 Docker 环境、启动 AWS EC2 实例、在 Azure blob 存储上托管数据集、有效地组织代码以及使用 GitHub 或 GitLab 进行版本控制是一些必需的关键技能,但课堂上并未讲授这些技能。

即使您认为自己不够出色,也要尝试

我继续进行面试,在技术面试和非技术面试中积累了很多经验(尽管大多数都不及格)。它还使我知道了我不知道的内容,并花了一些时间来学习这些技能。更重要的是,它使我能够理解公司为相同角色提出的不同类型的职位描述,以及这些职位描述如何与公司在采用 AI 方面的成熟度相对应。

两年后,我获得了一个AI 工程师的职位。对我来说,这是一个学习和发展自己充满激情的领域的绝佳机会。不仅如此,这证明了任何人都可以完成他们打算要做的事情,尽管有些人可能要花更长的时间。

归根结底,职业是马拉松,而不是短跑。做自己喜欢做的事情,因为它将占据你生命中的大部分时间。

如果您感到迷茫,请记住 Elsa 所说的话,然后做对的事情


很高兴收到任何评论:)

这篇关于[译]两年前我对编程一无所知,现在我是一名AI工程师的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/343363

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti