句句忠告:吴恩达教你如何打造AI职业
Andrew NG(吴恩达)的新书,如何打造你的AI职业。其实就是个小册子,总共就40来页,英文,读起来不费力。Andrew非常擅长做培训,讲的东西都是浅显易懂,真知灼见。今天将此书分享给大家。
目录
引言:编程AI编程是新的读写能力
第一章:职业成长的三个步骤
第二章:学习技术技能以迎接美好的AI职业
第三章:进入AI领域需要学数学吗?
第四章:划定成功的AI项目
第五章:找到与你职业目标相辅相成的项目
第六章:构建一个展示技能进展的项目组合
第七章:AI求职的简单框架
第八章:通过信息性面试找到合适的工作
第九章:找到适合你的AI工作
第十章:构建AI职业的关键因素
第十一章:克服冒名顶替者综合症
结语:让每一天都算数
引言:AI编程是新的读写能力
AI编程是新时代的读写能力。就像几百年前,文字读写能力从少数人扩散到大众,如今编程、尤其是AI编程,也应成为普及的技能。传统的软件工程主要是告诉电脑执行什么操作,但AI和数据科学能从数据中提取知识,这一点更具价值。甚至像街区披萨店的老板也能通过AI优化供应链和预测销售。因此,掌握AI编程比传统编程更有实用价值,能让更多行业和个人通过数据改善生活。如果社会能像接受读写能力一样,广泛接受这一新形式的“读写”技能,我们都将从中受益。
第一章:职业成长的三个步骤
正常的职业成长过程都是:学习基础 - 操练项目 - 找工作。但AI相关项目你需要跟不懂AI的人合作,你要找的AI工作也可能没那么具体,也许老板都不清楚需要你做什么。你最好要清楚,你能为企业带来什么。
第二章:学习技能以迎接美好的AI职业
在AI职业建设中,首要步骤是掌握基础技能。这不仅包括机器学习模型如线性回归和神经网络,更重要的是理解背后的核心概念,比如偏差/方差和优化算法。深度学习和软件开发能力也不可或缺,比如理解卷积网络和掌握Python等编程基础。数学知识,尤其是线性代数和概率统计,也是重要的支柱。但学习永无止境,即便你掌握了这些,也要不断更新和深化技术知识。
获取这些技能的最有效途径通常是系统的课程学习,而不是零散地阅读网页。记住,成为机器学习高手不是一朝一夕的事,持续学习和每周固定的学习计划会让你更容易取得显著进步。所以,别想着速成,慢慢来,稳扎稳打。
第三章:进入AI领域需要学数学吗?
要成为一名机器学习工程师,数学到底有多重要呢?答案是:有用,但不必过分强调。理解你使用的算法背后的数学原理通常是有帮助的,特别是在调试算法时。然而,随着技术的成熟,对深入的数学理解的需求可能会减少。比如,在机器学习早期,你需要深入了解线性代数库来避免数值问题,但现在这些库已经相当成熟和可靠。
尤其在深度学习这个仍在快速发展的领域,理解梯度下降、动量和Adam优化算法背后的数学会让你做出更明智的决策。但别忘了,学习也可以是出于好奇心。即使某个数学概念看似“不实用”,它也可能成为未来创新的火花。
所以,数学是个好工具,但不是唯一的道路。关键是明确你的目标,然后有针对性地加强数学背景。如果你对某个数学概念特别感兴趣,那就大胆去学,说不定哪天就用上了。
第四章:选定成功的AI项目
AI架构师最重要的一项技能是识别值得投入的项目。下面是五个步骤来帮助你策划项目:
识别商业问题:找一个领域专家,问他们最希望改善哪三个方面,以及为什么这些方面还没有改善。
头脑风暴AI解决方案:一旦了解了问题,多思考几个可能的解决方案,而不是一拍脑袋就选择第一个想到的。
评估可行性和价值:查阅已发布的工作或竞争对手的解决方案,或者快速搭建一个概念验证模型来评估技术可行性。同时,咨询领域专家以确定其价值。
确定里程碑:包括机器学习指标(如准确度)和商业指标(如收入)。如果你不能确定合理的里程碑,这可能意味着你需要更深入地了解问题。
预算资源:考虑完成项目所需的所有资源,包括数据、人员、时间以及可能需要的其他团队支持。
项目工作是一个迭代过程。如果在任何步骤中发现当前的方向不可行,就返回到之前的步骤,并用新的理解继续前进。即使你还没有该领域的深入专业知识,这些步骤也能引导你通过项目工作去探索它。AI并不能解决所有问题,但我们作为一个社群应该寻找尽可能多的积极影响。
第五章:找到与你职业目标相辅相成的项目
在职业发展的路上,选择和执行项目不仅要聚焦于责任、伦理和对人们有益的方面,还要考虑如何促进个人成长。初期,不必等待别人将好的项目或资源送到你面前,而是可以从小项目开始,逐步走向更大、更复杂的项目。
没有项目想法怎么办?
加入现有项目:找到有好主意的人,请求加入。 持续阅读和交流:这样常常能触发新的想法。 专注于一个应用领域:例如,如果你所在的公司或学校关注某个特定应用,探索其中的机器学习可能性。 发展副业项目(Side Hustle):这不仅能激发创造力,还有可能成为更大事业的垫脚石。
选择哪个项目?
技术成长:项目应足够有挑战性以拓展你的技术能力。 合作伙伴:一个好的团队或至少一个能与你讨论的人能大大促进你的成长。 是否是垫脚石?:如果项目成功,其技术复杂性和/或商业影响是否足以作为更大项目的跳板?
最后,避免“过度分析”。不要为了一个只需要一周就能完成的项目而花费一个月来决定是否要做。你的职业生涯将包括多个项目,所以会有大量的机会来细化你对什么是值得做的项目的看法。简单来说,别太纠结,有时候“先射后瞄”反而能让你更快地取得进展。
在项目工作中,有两种截然不同的执行风格:“准备、瞄准、射击”(Ready, Aim, Fire)和“准备、射击、瞄准”(Ready, Fire, Aim)。
准备、瞄准、射击:这种方式适用于执行成本高、风险大的情况。你会想要先进行深入的研究和验证,确保方向无误后再执行。比如,如果你的客服聊天机器人已经服务于零售商,你会先研究一下餐厅市场,看看是否值得拓展到这个领域。 准备、射击、瞄准:这种方式适用于执行成本低、需要快速试错的情况。直接动手构建一个原型,然后在实践中不断调整。这样,你可以快速发现问题并作出必要的调整。
那么,哪种方式更好呢?这完全取决于具体情境。
如果项目执行成本高或是一条“单行道”(即决策难以逆转),那么“准备、瞄准、射击”可能更为合适。 反之,如果成本低且容易调整方向,那么“准备、射击、瞄准”可能更为高效。这种情况下,你甚至可以反复进行“射击、瞄准”的循环,以迅速找到最优解。
在构建机器学习模型这一环节,我个人更倾向于“准备、射击、瞄准”的方式。因为构建模型通常是一个迭代过程,成本相对较低,而且事先很难确定最合适的模型、数据和超参数。因此,快速构建一个端到端系统,然后不断修正,通常会是一个更有效的方法。
第六章:构建一个展示技能进展的项目组合
在职业生涯中,你可能会参与一系列逐渐增加范围和复杂性的项目:
课堂项目:最初的几个项目通常是作业,范围很小,答案也基本确定。但这些经历通常是极好的学习机会。
个人项目:随后,你可能会单独或与朋友一起进行小型项目,比如重新实现一个已知的算法或将机器学习应用于某个兴趣爱好。参加Kaggle等竞赛也是一种获取经验的方式。
创造价值:随着技能的提升,你将能做出更多人们看到实际价值的项目,这也意味着你能够获得更多的资源。
不断扩大的范围和复杂性:成功的项目会带来更多的成功,也会为你打开更大的技术成长和资源获取的大门。
每个项目都只是更长旅程的一步,但重要的是:
不要担心起点太小:我的第一个机器学习项目就是训练一个神经网络去模拟 (\sin(x)) 函数,虽然没什么用,但却是一个非常好的学习经验。
沟通是关键:无论是在项目开始还是结束后,你都需要能够清晰地解释你的思考过程和成果。这不仅能帮助你获得更多资源,还能让你的同事、导师和经理更加信任你。
领导能力不仅仅是管理者的事:当你开始参与需要团队协作的大型AI项目时,你的领导能力将变得更加重要。这不仅仅是指正式的管理职位,即使你走的是技术路线,你在项目中应用深入的技术见解(比如何时投资于新的技术架构或收集某种类型的更多数据)也能显示出你的领导能力。
第七章:AI求职的简单框架
找工作通常包括几个可预见的步骤:选择你想申请的公司,准备面试,最后选择一个角色并谈判薪水和福利。特别是对于那些从其他领域转入AI的求职者,有一个有用的框架。
如果你正在考虑下一份工作,问问自己:
你是否在换角色? 比如,如果你是一个软件工程师、大学生或物理学家,想成为一个机器学习工程师,那就是角色转换。 你是否在转行? 比如,如果你在医疗、金融或政府机构工作,但想去软件公司工作,那就是行业转换。
如果你是AI领域的初学者,单一的角色转换或行业转换通常比同时进行两者要容易。例如,如果你是金融服务行业的分析师:
你可以在金融服务行业找到一个数据科学或机器学习的工作,这样你可以继续利用你的领域知识,同时在AI方面获得更多的知识和经验。 或者,你也可以成为一个科技公司的分析师,这样你可以继续使用你的分析技能,但应用到一个不同的行业。
如果你考虑角色转换,初创公司通常比大公司更容易实现这一点。初创公司通常人手不足,如果你能帮助解决AI任务——即使这不是你的正式工作——你的工作很可能会受到欢迎。相反,在大公司里,僵化的奖励体系更可能只奖励你做好自己的工作。
在你希望的角色和行业工作一段时间后,你将对该角色在该行业中更高级别的要求有很好的了解。你也会在该行业内建立一个帮助你的网络。所以,如果你选择坚持这个角色和行业,未来的求职很可能会更容易。
第八章:通过信息性面试找到合适的工作
准备转行(比如首次成为机器学习工程师)或转行业(比如首次进入AI科技公司工作)时,关于目标工作有很多你可能不了解的地方。这时,“信息面试”(Informational Interviewing)就是一个很好的了解手段。
信息面试是找到一个你想了解更多的公司或角色里的某个人,然后非正式地向他们了解他们的工作。这个过程与找工作是分开的。事实上,在你准备好开始找工作之前,进行这样的面试会很有帮助。
对AI尤为相关: 因为AI领域在不断发展,很多公司对职位名称的使用方式不一致。在一个公司里,数据科学家可能主要是分析业务数据和做演示。在另一个公司,他们可能需要编写和维护生产代码。信息面试能帮你了解某个公司里的AI人员到底在做什么。
AI机会迅速扩大: 很多人都将首次担任AI工作。在这种情况下,信息面试对于了解具体做什么和需要什么技能非常宝贵。
面试前要做好准备,提前研究面试对象和公司,这样你可以带着深思熟虑的问题去面试。你可能会问:
你一周或一天通常做什么? 这个角色里最重要的任务是什么? 成功最需要哪些技能? 你们的团队是如何合作完成目标的? 招聘流程是怎样的? 有哪些候选人在过去的面试中表现出色,是什么让他们出色?
找到面试对象不总是容易的,但很多高级职位上的人都曾在入行时得到前辈的帮助,他们也很愿意回馈。如果你能联系到已经在你的社交网络中的人,那最好不过。
第九章:找到适合你的AI工作
找工作的过程大致都是一样的:网上搜职位、找内部推荐、面试、拿offer,然后从中挑一个。虽然流程熟悉,但每次找工作都有自己的特色。下面几点建议或许能帮你找到一个让你事业蒸蒸日上的好职位。
基础做好: 精良的简历和项目组合,还有面试的表现是敲门砖。即使有内部推荐,简历和作品集通常是你给不认识你的人的第一印象。所以,记得及时更新简历,突出与你想要的角色相关的经历和教育背景。
态度要端正: 面试和谈判工资时,抱着双赢的心态去做。如果你要离职,也要给雇主足够的提前通知,做好交接工作。
团队很重要: 选择工作时,团队成员至少和你将要从事的项目同样重要。身边的人会影响你,所以选择一个努力、持续学习并且有道德底线的团队是很重要的。
社群力量大: 你周围的人加起来可能有丰富的经验。别害羞,多请教、多交流。
小步快跑: 工作搜索过程可能会让人觉得有点压力,试着一步一个脚印地来。先找出可能的职位,进行几次信息面试,看看自己是否准备好了。
第十章:构建AI职业的关键因素
在AI领域里要成功,绝非一蹴而就的事,也不是一篇小册子就能全面覆盖的。这里还有一些其他要考虑的方面:
团队合作: 处理大项目时,团队合作通常比单打独斗更有成效。因此,人际交往和沟通技巧确实很重要。(顺便说一句,我以前的沟通技巧是很差的。)
人际网络: 我讨厌社交!作为一个内向的人,去派对上微笑并握手对我来说简直是一种折磨。但我还是很幸运地在AI领域里找到了一些真心的朋友。没人是孤岛,强大的专业网络在你需要帮助或建议的时候能推动你前进。我觉得比起建立个人网络,更有意义的是去建设我所在的各种社群。这样不仅能让我认识更多的人,还能交到新朋友。
找工作: 在职业发展的各个步骤中,这一步往往受到最多的关注。遗憾的是,网上有很多糟糕的建议(比如,很多文章建议你对潜在的雇主采取敌对态度,我觉得这并没有帮助)。虽然找到工作看似是最终目标,但实际上它只是长期职业生涯中的一个小步骤。
个人自律: 很少有人会知道你是在周末学习还是在看电视剧 —— 但时间会证明一切。许多成功人士在饮食、运动、睡眠、人际关系、工作、学习和自我关心等方面都有良好的习惯。这些习惯在保持健康的同时,也帮助他们不断前进。
利他主义: 我发现那些在自己的每一步旅程中都试图提升他人的人,通常会为自己获得更好的结果。我们如何在为自己构建令人兴奋的职业生涯的同时,也能帮助别人呢?
成功是一个持久战,而不仅仅是一个短跑。在这个过程中,你不仅要专注于自己的成长,还要尽可能地影响和提升你周围的人。毕竟,你给予社会和他人的,最终也会回馈给你自己。
第十一章:克服冒名顶替者综合症
AI领域的新手有时会感到自我怀疑,别担心,你不是唯一一个。这种“自我怀疑综合症”很普遍,甚至在很成功的人中也有。AI技术复杂,有很多聪明和高能力的人。但你要知道,要擅长任何事,第一步就是不擅长它。如果你在AI领域里吃了苦头——恭喜,你已经迈出了第一步!
我以前也挣扎着去理解线性回归背后的数学。我曾经困惑于为什么逻辑回归在我的数据上表现得如此古怪,并花了好几天才找到我在一个基础神经网络实现中的一个bug。即使到今天,我仍然觉得很多研究论文很难读。
这里有一些可能有助于你的事情:
找支持你的导师或同伴。 知道自己擅长什么,从小事做起。
我的三岁的女儿(她几乎只会数到12)经常试图教一岁的儿子一些东西。无论你走到了哪一步——只要你至少和一个三岁的孩子一样知识渊博——你都可以鼓励和提升那些跟在你后面的人。这样做也会帮助你,因为跟在你后面的人会认识到你的专长,并也鼓励你继续发展。
如果你有某个领域能做到60分,能指导小白入门,那你对他们来说就是专业的。