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