前言:不管是java后端,还是人工智能,每个领域的技术栈会越来越庞大,如何能对技术栈有个提纲挈领的认知?怎么去规划职业选择、提升技术能力,这是每个程序员需要考虑的问题。
吴恩达在对AI从业者的建议是:终生学习!具体的指导建议解读如下:
人工智能在迅速崛起,特别是近10多年,每个周期都会爆发一些新东西,最近两年ChatGPT、多模态大模型已经对各个行业、领域产生深远影响。当然人工智能的工作机会在迅速增加,许多人在这个领域开启全新的职业生涯。
但职业生涯是一个长达数十年的旅程,而且道路并不总是平坦!
升职加薪三步走
职业发展的三个关键步骤:学习(获得技术和技能)、在项目中工作(深化技能、建立作品集,并创造影响)和寻找工作。
上诉3个步骤是相互叠加的。
- 最初,你需要专注获得基础技术技能;
- 在具备基础技能后,进入项目工作。在这期间,可能会不断学习新知识;
- 偶尔进行一次求职。在这个过程中,继续学习并从事有意义的项目工作。
人工智能是新生事物,许多技术在不断发展。虽然机器学习和深度学习的基础在成熟,但课程学习是掌握基础知识的有效途径,在这些基础之外,跟上不断变化的技术更加重要。
在这些步骤中,找到一个支持社区会有很大帮助,有一群可以帮助你的朋友和盟友,以及努力帮助的人。
学习技术
最重要的课题:
-
基础机器学习技能
例如:了解线性回归、逻辑回归、神经网络、决策树、聚类和异常检测等模型。除了具体的模型,更重要的是了解机器学习如何以及为什么工作背后的核心概念,如偏见/差异、成本函数、正则化、优化算法和误差分析。 -
深度学习
这已经是机器学习的一个重要部分,如果不了解,很难在这个领域出类拔萃。了解神经网络基础知识、使其发挥作用的技能(超参调整)、卷积网络、序列模型和Transformer是很有价值的。 -
与机器学习相关的数学 关键领域包括线性代数(向量、矩阵)以及概率论和统计(离散和连续概率、标准概率分布、基本规则,如独立性和贝叶斯规则,以及假设检验)。
-
探索性数据分析(EDA)
即使用可视化和其他方法来系统探索一个数据集是一项被低估的技能。EDA在以数据为中心的人工智能(data-centric AI)开发中特别有用,在那里分析错误、获得洞察力可以真正帮助推动进展。 -
微积分
在之前的信中,我描述了做好机器学习所需的数学知识是如何变化的。例如,尽管有些任务需要微积分,但改进后的自动微分软件使得发明和实现新的神经网络架构更容易,而无需做任何微积分。这在十年前几乎是不可能的
软件开发
虽然你可以靠机器学习建模技能就能找到工作并做出巨大贡献,但如果你还能写出好的软件来实现复杂的人工智能系统,你的工作机会就会增加。 这些技能包括:编程基础、数据结构(如机器学习相关的数据框架)、算法(与数据库、数据操作相关)、软件设计,熟悉python以及关键库如TensorFlow、PyTorch,以及scikit-learn。
这是一个需要大量学习的内容,即使在你掌握这个列表中所有内容后,希望能继续学习、继续深化你的技术知识。 认识的很多机器学习工程师,在自然语言处理或计算机视觉等应用领域,或在概率图形模型或构建可扩展软件系统等技术领域,都从更深的技能中收益。
最重要问题,如何获得这些技能? 互联网有很多好的内容,理论上阅读几十个网页可以的,但当目标深入理解时,阅读不连贯的网页是低效的,因为他们往往互相重复,使用不一致的术语,质量不同,并留下一些技术空白,这都会使你的学习效率降低。
这就是为什么一个好的课程,其中的材料被组织成一个连贯的逻辑形式,往往是掌握一个知识体系最省时的方法!
当你吸收课程中知识后,可以转向研究论文和其他资源。 最后,请记住,没人可以在一个周末甚至一个月内把所需的知识都塞进去。我认识的每一个在机器学习方面表现出色的人都是一个终身学习者。 鉴于领域变化如此之快,如果想跟上时代的步伐(不被淘汰),除了不断学习,别无选择。
如果你养成每周学习一点的习惯,你就能以感觉上较少的努力取得重大进展!
著名的科学家施一公说博士要能做好,其实非常简单,做好两件事:1 投入时间;2 批判思维。
参考资料:
read.deeplearning.ai/the-batch/i…
read.deeplearning.ai/the-batch/h…