黑神画Ⅵ--学习人工智能(路线图)

人工智能无处不在;我们在新闻、工作甚至与家人的对话中都会听到它。显然,人工智能将继续存在,并将在可预见的未来影响我们的生活。

如果您和我一样,我总是对新技术及其工作原理着迷,因此在本文中,我将介绍可用于从头开始学习 AI 的路线图。

让我们开始吧!

什么是人工智能?为什么要学习它?

自 2022 年 ChatGPT 发布以来,人工智能一直备受关注。然而,人工智能本身作为一个概念已经存在很长时间了,其目前的形式可以追溯到 20 世纪 50 年代,当时神经网络诞生了。

最近的爆炸式增长可以归因于许多因素,例如计算资源的增加、可用数据的增加以及更高效的算法。无论出于何种原因,人工智能都将继续存在,我们应该习惯使用它。

我们现在提到的人工智能具体称为生成式人工智能(GenAI),它实际上是整个人工智能生态系统的一个相当小的子集,如下所示。

图片来自作者。

GenAI,顾名思义,是一种生成文本、图像、音频甚至代码等内容的算法。该领域的模型基于数百万行数据进行训练,可以拥有数十亿个参数,例如Meta 的 Llama 2,其唯一目标是根据所见或所训练的数据生成数据。

对于本文,我将假设GenAI = AI,因为这是大多数人感兴趣的。还有许多即插即用和无代码的 AI 解决方案,但我将带您了解一个路线图,它将教您 AI 如何“工作”,而不仅仅是如何使用它。

你可能会想,我为什么要学习人工智能?

人工智能仍处于起步阶段,因此还有很多东西需要探索和学习。所有大型科技公司现在都在研究如何使用人工智能,如果你拥有适当的知识和技能,你将在市场上拥有巨大的价值。

它与互联网类似,懂得如何使用它并创造事物的人做得很好并获得了成功。即使你认为人工智能是一个泡沫,这个领域也蕴藏着巨大的机遇。

基础数学知识

如果你真的想了解人工智能的工作原理,你需要了解一些数学知识。别担心;所需的数学知识不是博士学位或类似的水平。很多数学知识都是你在很多国家高中时学到的,只有少数几个主题被认为是本科水平。

您特别需要了解的三个主要领域是:

  • 线性代数——了解矩阵的工作原理,矩阵在人工智能和机器学习中随处可见。
  • 微积分——了解人工智能如何使用梯度下降和反向传播等算法进行学习。
  • 统计学——了解数据和人工智能模型的概率输入和输出。

人工智能所需的大部分数学知识与数据科学所需的数学知识相同,我已经写了一篇详细的文章,介绍了你应该学习的具体内容以及学习它们的最佳资源。

然而,为了完整起见,以下是您应该理解并获得直觉的关键事项:

  • 矩阵和矩阵代数。
  • 分化及其工作原理,特别是部分分化。
  • 线性、逻辑和多项式回归。
  • 概率分布:正态分布、泊松分布、伽马分布和二项分布。

我推荐的两本学习所有这些知识的最佳资源是《数据科学家实用统计学》《机器学习数学》教科书。说实话,这是学习数据科学、机器学习和人工智能所有数学知识所需的唯一两本书。

技术技能

Python

Python 是人工智能的首选编程语言。许多人工智能和机器学习库都是用 Python 构建的,对于初学者来说,这是一种容易掌握的语言。

就 Python 语言本身而言,您应该了解:

  • 变量、数据类型和数据结构(字典、列表、集合)
  • For、While 循环和条件
  • 函数和类

任何 Python 入门课程都会教你这些内容,因此请选择你喜欢的课程并开始学习。下面给出了一些建议。

  • W3Schools Python 课程(免费)。
  • 适合所有人的 Python 专业化课程 (Coursera)

在学习了 Python 语法基础知识之后,我会学习一些更针对数据科学和 AI 的包。

  • NumPy —该库专为科学计算而设计,提供许多数学函数和矩阵支持。它用 C 语言开发,具有优化的计算能力,这对于处理大型模型和大数据特别有用。
  • Pandas —这是用于在 Python 中加载、操作和处理数据的首选库。它几乎适用于任何数据分析任务,并且易于使用。
  • Matplotlib — 作为数据科学家,您必须将数据或结果可视化。Matplotlib 是 Python 中领先的可视化包,因为它具有广泛的功能。

关于 IDE,有很多选择,但 Python 的三个主要 IDE 是VSCodePyCharmJupyter Notebook。我认为 Jupyter Notebook 是最适合初学者、易于绘制可视化效果的,也是构建机器学习模型的绝佳选择。

为了节省 AI 模型开发的时间,我建议安装Anaconda。它包括 Python、Jupyter Notebook 和大多数必要的软件包。

如果你有更多时间,我建议学习一些gitGitHub进行版本控制,以及应用程序编程接口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 语句)
  • 完全连接、左连接、右连接、内连接、并集(所有连接类型)

关于资源,我推荐W3SchoolsTutorialspoint,我在学习 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。

来源:《Attention Attention Is All You Need》论文。

如今,人工智能领域毫无疑问地被 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

  • 两分钟论文
  • Josh Starmer 的 StatQuest
  • 雅尼克·基尔彻
  • 莱克斯·弗里德曼
  • 火船
  • 鲍里斯·梅纳德斯

时事通讯

  • 超长人工智能
  • 数据科学周刊
  • 批次
  • 概要
  • 人工智能早餐

图书

  • 马克斯·泰格马克的《生活 3.0》
  • 尼克·博斯特罗姆 (Nick Bostrom) 的《超级智能》
  • 《算法人生》(作者:Brian Christian 和 Tom Griffiths)
  • 穆斯塔法·苏莱曼和迈克尔·巴斯卡的《即将到来的浪潮》

总结与思考

我希望这份路线图能让您很好地了解学习 AI 所需遵循的步骤。如果我要列出您需要的每一点知识,那么这篇文章就太详尽了,但我希望这份路线图能为您指明正确的方向,并为您提供有用的资源,供您在整个旅程中使用。

​​​​欢迎前往我们的公众号,阅读更多资讯

创作不易,觉得不错的话,点个赞吧!!!

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值