2024年学习人工智能的路线图

2024年学习人工智能的路线图

一份免费的课程计划,供程序员学习人工智能使用


img

使用excalidraw制作

所以,你想学习人工智能?但你不知道如何开始或从哪里开始?

我在2020年写了一篇互联网上前20个免费的数据科学、机器学习和人工智能MOOC课程。但我意识到,参加很多课程并不是正确的方法。

为了摆脱教程地狱并真正学到东西,你必须动手实践,从零开始编写算法,实现论文,并使用人工智能进行有趣的项目来解决问题。

本文试图制定一份遵循这一理念的免费课程计划。

首先,关于课程计划的一些说明和学习建议。

自上而下的方法

这个课程计划采用自上而下的方法——先写代码,后学理论

我喜欢根据需求学习。所以,如果我需要解决一个问题,或者需要制作一个原型,我会广泛地寻找所需的信息,学习、理解并付诸行动。

例如,我希望成为一个人工智能工程师,在理解LLMs的基本水平上,这涉及到具备从头编写transformers的技能,以及在GPU上微调LLMs等。由于我的知识存在空白,我现在还无法做到这一点,我希望填补这些空白。

这个课程计划也侧重于自然语言处理;如果你想学习其他人工智能专业,比如计算机视觉或强化学习,

在我给你提供一堆链接之前,我希望在我开始学习任何东西之前,有人告诉我两件重要的事情

在公开场合学习

有很多东西需要学习,而且你永远不会学完,特别是在人工智能领域,每周都会发布新的革命性论文和想法。

你最大的错误就是在私下学习。如果你这样做,你就不会为自己创造任何机会。除了能说你完成了某件事之外,你没有任何可以展示的东西。更重要的是,你如何将信息转化为知识,与公众分享,并从这些信息中产生新的想法和解决方案。

所以,你应该在公开场合学习

这意味着要有创造的习惯

这可以包括:

  • 写博客和教程
  • 参加黑客马拉松并与他人合作
  • 在Discord社区提问和回答问题
  • 从事你热衷的副业项目
  • 推文分享你发现的有趣事物

说到Twitter,

使用Twitter

如果你关注正确的人并正确使用它,Twitter是当今任何人都可以使用的最有价值的社交平台。

关注谁?看看Suhail的AI列表

如何使用Twitter?阅读Near的如何成功使用Twitter

在Twitter上给人发私信。真诚、简短,并提出明确的要求。Sriram Krishnan的这篇关于如何写一封冷邮件的指南也适用于私信。

如何发推文?阅读推文的解剖,由JasonInstructor的创作者)撰写,他在几个月内从0到14k的关注者增长。

现在让我们开始吧。

目录

数学

img

DALL·E

机器学习在数学的三个支柱上严重依赖:线性代数、微积分、概率和统计。每个支柱在使算法有效地运行方面发挥着独特的作用。

  • 线性代数: 数据表示和处理的数学工具包,其中矩阵和向量构成了算法解释和处理信息的语言
  • 微积分: 机器学习中的优化引擎,通过理解梯度和变化率,使算法能够学习和改进
  • 概率和统计: 在不确定性下进行决策的基础,允许算法通过随机性和变异性模型预测结果并从数据中学习

这是一个很好的关于机器学习数学的系列视频:Math for Machine Learning by Weights & Biases代码

如果你想以代码为先导的方式学习线性代数,可以参考Computational Linear Algebra视频代码),由fast.ai的创始人编写。

同时阅读Introduction to Linear Algebra for Applied Machine Learning with Python

如果你想要更传统的学习方式,可以看看伦敦帝国学院的讲座——线性代数多元微积分
观看统计学基础,由StatQuest提供的统计学视频。

补充材料

工具

img

DALL·E

Python

初学者从这里开始:实用的Python编程

如果你已经熟悉Python,可以学习高级Python掌握

这两门课程都是由David Beazley主讲的,他是《Python Cookbook》的作者。

之后,观看一些James Powell的演讲

阅读Python设计模式

补充材料

PyTorch

视频

官方

实践

补充材料

机器学习

img

DALL·E

阅读100页机器学习书籍。

从零开始编写

在阅读过程中,从零开始编写算法。

查看以下存储库:

如果你想挑战自己,可以按照这门课程从零开始编写PyTorch。

参加比赛

将学到的知识应用于比赛中。

做副业项目

阅读Vicki Boykis的文章,了解如何将机器学习部署到生产环境中。

她还写了关于她构建的Viberary的语义搜索引擎的文章。

获取一个数据集并构建一个模型(例如,使用earthaccess获取NASA地球数据)。

使用streamlit创建一个用户界面,并在Twitter上分享。

部署模型

将模型投入生产。跟踪实验。学习如何监控模型。亲身体验数据和模型的漂移。

以下是一些优秀的资源

补充材料

深度学习

img

如果你想从上到下学习,可以从fast.ai开始。

Fast.ai

喜欢fast.ai吗?看看全栈深度学习

如果你想要一门更全面、传统的课程,可以参考François FleuretUNIGE 14x050 — 深度学习

如果你需要在某个时候深入理论,这些是很好的书籍。

在你的神经网络收敛时阅读以下内容。

参加更多比赛

实现论文

查看labml.ai的注释PyTorch论文实现

Papers with Code是一个很好的资源;在他们的网站上,可以找到BERT的解释

以下是深度学习专业化的一些资源

计算机视觉

很多人推荐CS231n:计算机视觉的深度学习。如果你能坚持下去,它是具有挑战性但值得的。

自然语言处理(NLP)

另一个很棒的斯坦福课程,CS 224N | 自然语言处理与深度学习

学习Hugging Face:Hugging Face NLP课程

好的文章和解析

补充材料

大型语言模型

img

首先观看【1小时演讲】大型语言模型简介,由Andrej主讲。

然后观看Cornell Tech的Alexander Rush五个公式中的大型语言模型

观看神经网络:从零到英雄

它从零开始解释和编写反向传播,最后从零开始编写GPT。

神经网络:从零到英雄 by Andrej Karpathy

你也可以在此期间查看Jay Mody的用60行NumPy编写的GPT

免费的LLM训练营

由Full Stack Deep Learning免费发布的LLM训练营

它教授提示工程、LLMOps、LLM的用户体验以及如何在一个小时内启动LLM应用程序。

现在你已经渴望在这个训练营之后开始构建,

使用LLM构建

想要使用LLM构建应用程序吗?

观看Andrew Ng的使用大型语言模型进行应用开发

阅读Huyen Chip的构建LLM应用程序

以及Eugene Yan的基于LLM的系统和产品模式

参考OpenAI Cookbook获取示例。

使用Vercel AI模板开始。

参加黑客马拉松

lablab.ai每周都有新的AI黑客马拉松。如果你想组队,请告诉我

如果你想深入理论并了解一切是如何工作的:

阅读论文

Sebastian Raschka的一篇很棒的文章理解大型语言模型,其中列出了一些你应该阅读的论文。
关注他的Substack Ahead of AI

从零开始编写Transformer。

阅读Lil’Log的Transformer Family Version 2.0以获取概述。

选择适合你的格式,并从头开始实现它。

论文

博客

视频

现在你可以从零开始编写Transformer。但还有更多内容。

观看这些Stanford CS25 — Transformers United视频。

一些好的博客

观看Umar Jamil

他有深入解释论文的精彩视频。他还展示了代码。

还有一些与LLM相关的链接,这里列举的并不详尽。查看LLM课程大纲以获取更全面的LLM课程大纲。

学习如何运行开源模型。

使用ollama: Get up and running with Llama 2, Mistral, and other large language models locally

他们最近发布了Python & JavaScript Libraries

提示工程

阅读Lil’Log的Prompt Engineering

由Ise Fulford(OpenAI)和Andrew Ng编写的ChatGPT Prompt Engineering for Developers

DeepLearning.ai还有其他短期课程,你可以免费参加。

微调LLM

阅读Hugging Face fine-tuning guide

一本好的指南书:Fine-Tuning — The GenAI Guidebook

查看axolotl

这是一篇好文章:Fine-tune a Mistral-7b model with Direct Preference Optimization | by Maxime Labonne

RAG

Anyscale的一篇很棒的文章:Building RAG-based LLM Applications for Production

Aman Chadha撰写的Retrieval Augmented Generation的综合概述

如何保持更新

结合新闻通讯+播客+Twitter

对于论文,你可以关注AK (@_akhaliq)

对于播客,我发现最好的是Swyx和Alessio的Latent Space

加入他们的Discord

他们还有这个新闻通讯Smol Talk,总结了所有重要的AI Discord。

我喜欢的其他新闻通讯有:

更多内容请参阅这篇文章

其他可能有用的课程/列表

我的列表并不全面,但如果你仍然想找到更多,这里有一些。

我花了足够的时间来写和组织这些内容,现在是学习和建设的时候了。

希望这些对你的AI之旅有所帮助!

### 2024人工智能学习路线图 #### 理解基础概念 为了有效进入人工智能领域,建立坚实的基础非常重要。这包括但不限于线性代数、微积分、概率论以及统计学的知识[^1]。 #### 掌握编程技能 Python 是目前最常用的语言之一,在 AI 开发中占据主导地位。熟悉 Python 的语法及其丰富的库(如 NumPy, Pandas, Matplotlib 和 Scikit-learn),这些工具能够极大地简化数据分析和处理过程[^3]。 #### 数据预处理与特征工程 了解如何清洗、转换数据集,并从中提取有用的特性对于构建高效模型至关重要。这部分内容通常涉及到 EDA (Exploratory Data Analysis),即探索性数据分析;还包括缺失值填补、异常检测等技术。 #### 深入学习框架 TensorFlow 和 PyTorch 是两个最受欢迎的深度学习平台。通过实际操作案例来练习使用这两个框架可以帮助更好地理解神经网络的工作原理及其实现方式。 #### 实践项目经验 理论知识固然重要,但真正的成长来自于亲手完成具体任务。可以从简单的预测建模开始尝试,逐步过渡到更复杂的生成对抗网络(GANs) 或者自然语言处理(NLP)应用等领域内的课题。 #### 跟踪前沿进展 AI 行业变化快速,新的算法和技术层出不穷。定期关注顶级国际会议发布的研究成果,比如 NeurIPS, ICML, CVPR 等;同时也可以加入一些专业的社区论坛或订阅相关资讯邮件列表以便及时获取行业动态[^4]。 ```python import numpy as np from sklearn.model_selection import train_test_split from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # 创建简单二分类问题的数据集 X = np.random.rand(1000, 10) y = np.random.randint(2, size=(1000,)) # 划分训练集测试集 X_train, X_test, y_train, y_test = train_test_split(X, y) # 构建一个基本的全连接前馈神经网络 model = Sequential([ Dense(64, activation='relu', input_shape=(10,)), Dense(32, activation='relu'), Dense(1, activation='sigmoid') ]) # 编译并拟合模型 model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) history = model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_test, y_test)) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数智笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值