原文:如何从头开始学习 AI
AI 无处不在;我们在新闻中听到它,在工作中听到它,甚至在和家人交谈时也会提到它。显然,它已经在这里,并且将在可预见的未来影响我们的生活。
如果你像我一样,我总是对新技术及其工作原理感到着迷,所以在这篇文章中,我将介绍一个你可以用来从头开始学习 AI 的路线图。
让我们开始吧!
注意:您还可以观看这篇博客文章的视频版本,并在我的 YouTube 频道上下载完整的路线图 PDF:
什么是 AI?为什么需要学习它?
自 2022 年 ChatGPT 发布以来,围绕 AI 的炒作已经很多。然而,AI 作为一个概念已经存在很长时间了,其当前形式可以追溯到 20 世纪 50 年代,当时神经网络诞生了。
最近的热潮可以归因于许多因素,例如计算资源的增加、更多可用数据和更有效的算法。无论原因如何,AI 都将持续存在,我们应该习惯与它一起工作。
目前我们所指的 AI 特指生成式 AI(GenAI),实际上它只是整个 AI 生态系统中的一个相当小的子集,如下所示。
图片由作者提供。
生成式 AI,正如其名所示,是一类生成文本、图像、音频甚至代码等内容的算法。这个领域的模型在数百万行数据上训练,可以拥有数十亿个参数,例如Meta 的 Llama 2(Llama 2),其唯一目标是根据它所见或训练过的数据生成数据。
对于这篇文章,我将假设GenAI = AI,因为这是大多数人感兴趣的内容。还有许多即插即用和无代码的 AI 解决方案,但我将向您展示一个路线图,它将教会你 AI“如何工作”,而不仅仅是如何使用它。
你可能想知道,为什么我需要学习 AI?
人工智能仍处于起步阶段,因此有很多东西可以探索和学习。所有的大型科技公司现在都在研究如何使用人工智能,如果你具备适当的知识和技能,你将在市场上具有巨大的价值。
它与互联网类似,那些知道如何使用它并创造事物的人做得很好,并取得了成功。即使你认为人工智能是一个泡沫,这个领域也有巨大的机会。
基础数学知识
如果你真的想了解人工智能是如何工作的,你需要了解一些数学知识。别担心;所需的数学不是博士水平或类似的东西。其中很多是你实际上在很多国家的高中就学过的,只有少数主题会被认为是本科水平。
你特别需要了解的三个主要领域是:
-
线性代数 – 理解矩阵是如何工作的,这在人工智能和机器学习中无处不在。
-
微积分 – 理解人工智能实际上是如何使用梯度下降和反向传播等算法进行学习的。
-
统计学 – 理解数据和人工智能模型的概率输入和输出。
大多数你需要的 AI 数学与数据科学所需的数学相同,我已经写了一篇关于你应该学习的确切内容和最佳学习资源的详细文章。为了避免重复,我建议你查看那篇文章。
然而,为了完整性,以下是你应该理解和获得直觉的关键要点:
-
矩阵和矩阵代数。
-
微分及其工作原理,尤其是偏微分。
-
线性、逻辑和多项式回归。
-
概率分布:正态分布、泊松分布、伽马分布和二项分布。
我推荐的两个学习所有这些的最佳资源是**《数据科学家实用统计学》(Practical Statistics for Data Scientists)和《机器学习数学》(Mathematics for Machine Learning**)教科书。这些确实是学习数据科学、机器学习和人工智能所需的所有数学知识的唯一两本书。
技术技能
Python
Python 是人工智能的首选编程语言。许多人工智能和机器学习库都是基于 Python 构建的,它对于初学者来说是一门容易学习的语言。
我之前写过一篇关于如何学习 Python 的全面文章,我推荐你查看。然而,我还会在这里给出主要概述。
在 Python 语言本身方面,你应该理解:
-
变量、数据类型和数据结构(字典、列表、集合)
-
For, While 循环和条件语句
-
函数和类
任何 Python 入门课程都会教你这些内容,所以选择一个你看起来喜欢的课程开始学习。以下是一些推荐。
在学习 Python 语法的基础之后,我会学习一些更针对数据科学和 AI 的特定包。
-
NumPy – 这个库是为科学计算设计的,提供了许多数学函数和矩阵支持。它在 C 语言中开发,具有优化的计算,这对于处理大型模型和大数据特别有益。
-
Pandas – 这是 Python 中加载、操作和数据处理的首选库。它非常适合几乎任何数据分析任务,并且易于使用。
-
Matplotlib – 作为数据科学家,你必须可视化你的数据或结果。Matplotlib 由于其广泛的功能,是 Python 中领先的可视化包。
关于集成开发环境(IDE),有很多选择,但 Python 的三个主要选项是 VSCode、PyCharm 或 Jupyter Notebook。我认为 Jupyter Notebook 是最适合初学者的,易于绘图的可视化,并且是构建机器学习模型的一个很好的选择。
为了节省时间开始你的 AI 模型开发,我推荐安装 Anaconda。它包括 Python、Jupyter Notebook 以及大多数必要的包。
如果你有多一些时间,我推荐学习一些 git 和 GitHub,用于版本控制和当你想要构建 AI 应用程序时,API 的基础知识。
SQL
当你在进行 AI 项目时,你可能会需要使用一些 SQL,也就是所谓的数据库语言。幸运的是,SQL 比 Python 更容易学习,你可以在短时间内变得相当熟练。
以下是你应该感到舒适做的事情:
-
SELECT FROM* (标准查询)
-
ALTER, INSERT, CREATE (修改表)
-
GROUP BY, ORDER BY
-
WHERE, AND, OR, BETWEEN, IN, HAVING (过滤表)
-
AVG, COUNT, MIN, MAX, SUM (聚合函数)
-
DATEADD, DATEDIFF, DATEPART (日期和时间函数)
-
CASE (基本上是其他语言中的 if-else 语句)
-
FULL JOIN, LEFT JOIN, RIGHT JOIN, INNER JOIN, UNION(所有类型的连接)
关于资源,我推荐 W3Schools 和 Tutorialspoint,我在学习 SQL 时使用了它们。它们完全免费,并且很好地涵盖了基础知识。
神经网络与机器学习
正如我们在之前的图中看到的,生成式人工智能属于机器学习范畴,因此在直接深入研究生成式人工智能算法之前,学习一些机器学习知识是值得的。
图片由作者提供。
机器学习分为两个类别:
-
监督学习 – 我们有目标标签来训练模型。
-
无监督学习 – 当没有目标标签时。
还有叫做 半监督学习 的东西,但现在我们不必担心这个。
下面的图展示了这种划分以及每个类别中的某些算法。
图片由作者提供。
学习机器学习的最佳课程是 Coursera 上的 Andrew Ng 的机器学习专项课程。它涵盖了机器学习中所有最基本概念的 A-Z,我强烈推荐它。我在 2020 年学习人工智能和数据科学时参加了这门课程!
你特别需要理解的一个算法是神经网络,它是所有当前人工智能和深度学习的基础。
示例神经网络。图片由作者提供。
对于神经网络,你需要理解以下概念:
-
前向和反向传播
-
激活函数和非线性
-
梯度下降算法
-
神经网络架构
如果可能的话,理解支撑神经网络的计算和方程式是有益的,因为它将建立深刻的直觉。数学实际上并不复杂,所以不要退缩!
我有一系列拆解神经网络的文章,你可以在两个小时内阅读完毕!
要在 Python 中使用机器学习,我建议学习以下包,并使用它们做一些项目。
-
Sci-Kit Learn – 构建常规机器学习模型最受欢迎和使用的库。
-
PyTorch – 构建和训练神经网络的最受欢迎的库,人工智能背后的骨干算法。
-
TensorFlow – 由谷歌创建的另一个神经网络和深度学习库
-
XGBoost – 最常用的梯度提升树算法库,特别适用于数值监督学习问题。
人工智能算法
在学习了机器学习和神经网络的 fundamentals 之后,我们现在可以深入到当前人工智能及其相关算法的“前沿”。
直到最近,人工智能领域主要由两种主要模型主导:
-
卷积神经网络 (CNNs) – 这些被用于计算机视觉任务,例如识别和分类图像。
-
循环神经网络(RNNs) — 这些被用于序列数据,如时间序列和自然语言。
然而,在 2017 年,一篇名为**“Attention Is All You Need”**的论文发表了,它介绍了 transformer 架构和模型,自此之后已经超越了 CNN 和 RNN。
来源:Attention Attention Is All You Need 论文
现在,人工智能领域无疑是由 transformer 主导的,它是我们日常使用的像 ChatGPT 和 DALL-E 这样的大型语言模型(LLM)的骨干。
Transformers 是推动这一“AI 革命”的最先进算法,因此它们是你在本路线图中应该学习并理解的最重要的事情。
首先,我会选择 Andrew Ng 的**深度学习专项课程**。这是机器学习专项课程的后续课程,将教授你关于深度学习、CNN 和 RNN 的所有必要知识,这些对于理解和构建 transformer 背后的上下文至关重要。
接下来,我推荐观看 Andrej Karpathy(前特斯拉 AI 高级总监)的**LLMs 简介**视频,以了解更多关于 LLMs 以及它们是如何被训练的信息。
然后,你可以观看 YouTube 上的 Karpathy 的**神经网络:从零到英雄**课程。它从零开始构建神经网络,起点相当慢。然而,在最后一集中,他会教你构建自己的生成预训练 transformer(GPT)!
在人工智能领域内,还有很多其他值得了解的概念:
-
词嵌入和向量数据库。
-
带有人工反馈的强化学习(RLHF)。
-
检索增强生成(RAG)。
-
大型语言模型(LLM)微调和提示工程。
-
如 AWS 和 GCP 这样的云系统,用于扩展和部署你的 AI 应用。
这个领域发展如此迅速,以至于很难在这篇文章中列出所有内容。然而,上述主题是普遍适用的,所以我建议你在理解了 transformer 的基础知识之后,再学习它们。
构建,构建,构建。
就像生活中的任何事物一样,要想变得出色,你必须练习。正如著名的企业家和投资者**Naval Ravikant __**所说
不是 10,000 小时,而是 10,000 次迭代。
因此,在获得所有这些知识后,开始使用 AI 进行项目开发。实际上,它是什么并不重要,只要你开始做。
一些可以尝试或甚至复制的想法:
-
语言翻译应用
-
邮件、社交媒体等垃圾邮件检测器
-
个人生产力工具
只需在谷歌上搜索“AI 项目”,然后选择一个你喜欢的。
有两个工具可以让你非常容易地构建 AI,尤其是 LLM 应用,我强烈推荐你使用。
-
LangChain – 一个帮助你与大型语言模型一起工作的框架。它使得使用最先进的模型来开发应用变得非常容易。
-
HuggingFace – 这个社区和 Python 包允许你使用计算机视觉、语言建模和强化学习中最先进的模型。
使用这些工具,你可以如此快速地原型化,这实际上是非常荒谬的。然后你可以在像 AWS 这样的云系统上启动,然后,你的 AI 项目就出现在野外了!
其他有用资源
一些其他资源,可以让你了解更多并保持 AI 的更新。
YouTube
通讯
书籍
-
马克斯·泰格马克的《生命 3.0》
-
尼克·博斯特罗姆的《超级智能》
-
布莱恩·克里斯蒂安和汤姆·格里菲斯斯的《算法生活》
-
穆斯塔法·苏莱曼和迈克尔·巴什卡拉的《即将到来的浪潮》
摘要及进一步思考
我希望这个路线图能给你一个很好的概述,了解你需要遵循的步骤来学习 AI。如果我要列出你需要了解的所有知识,这篇文章就会非常详尽,但我希望这个路线图能帮助你找到正确的方向,并提供在整个旅程中可以使用的有用资源。
另一件事!
我提供一对一的辅导电话,我们可以讨论你需要什么——无论是项目、职业建议,还是只是确定你的下一步。我在这里帮助你前进!
**[1:1 辅导电话与 Egor Howell]
职业指导、工作建议、项目帮助、简历审查topmate.io](https://topmate.io/egorhowell/1203300)
1119

被折叠的 条评论
为什么被折叠?



