微软官方 AI 课程(官方简体中文):AI 概论 → 符号主义 → 神经网络 → 计算机视觉 → NLP → 其他技术与 AI 伦理,含测验与实验。
神经网络简介
正如我们在介绍中讨论的那样,实现智能的一种方法是训练一个计算机模型或一个人工大脑。自20世纪中期以来,研究人员尝试了各种数学模型,直到近年来,这一方向取得了巨大的成功。这些大脑的数学模型被称为神经网络…
神经网络入门:感知机
1957年,康奈尔航空实验室的Frank Rosenblatt首次尝试实现类似现代神经网络的模型。这是一种名为“Mark-1”的硬件实现,设计用于识别简单的几何图形,例如三角形、正方形和圆形。
使用感知器进行多类别分类
来自 [AI for Beginners Curriculum](https://github.com/microsoft/ai-for-beginners) 的实验任务。
神经网络简介:多层感知机
在上一节中,你学习了最简单的神经网络模型——单层感知机,这是一种线性二分类模型。
使用我们自己的框架进行MNIST分类
来自[AI初学者课程](https://github.com/microsoft/ai-for-beginners)的实验任务。
神经网络框架
正如我们已经学习到的,为了高效地训练神经网络,我们需要做到以下两点:
使用 PyTorch/TensorFlow 进行分类
来自 [AI for Beginners Curriculum](https://github.com/microsoft/ai-for-beginners) 的实验任务。
计算机视觉
[计算机视觉和OpenCV简介](06-IntroCV/README.md)
计算机视觉简介
计算机视觉最简单的任务之一是图像分类。
使用光流检测运动
来自 [AI 初学者课程](https://aka.ms/ai-beginners) 的实验任务。
卷积神经网络
我们之前已经看到,神经网络在处理图像方面表现得非常出色,甚至单层感知机也能够以较高的准确率识别 MNIST 数据集中的手写数字。然而,MNIST 数据集非常特殊,所有数字都被居中放置在图像中,这使得任…
宠物面部分类
来自 [AI for Beginners Curriculum](https://github.com/microsoft/ai-for-beginners) 的实验任务。
预训练网络与迁移学习
训练 CNN 需要耗费大量时间,并且需要大量数据。然而,大部分时间都花在学习网络可以用来从图像中提取模式的最佳低级滤波器上。一个自然的问题是:我们是否可以使用一个在某个数据集上训练过的神经网络,并将其…
使用迁移学习对牛津宠物进行分类
来自 [AI 初学者课程](https://github.com/microsoft/ai-for-beginners) 的实验任务。
自动编码器
在训练 CNN 时,一个问题是我们需要大量的标注数据。在图像分类的情况下,我们需要将图像分成不同的类别,这通常需要手动完成。
生成对抗网络
在上一节中,我们学习了生成模型:可以生成与训练数据集中的图像相似的新图像的模型。VAE是生成模型的一个很好的例子。
目标检测
我们之前处理的图像分类模型会接收一张图片并输出一个类别结果,例如在 MNIST 问题中输出类别“数字”。然而,在许多情况下,我们不仅仅想知道图片中有物体,还希望能够确定它们的具体位置。这正是目标检测的…
使用好莱坞头部数据集进行头部检测
来自 [AI 初学者课程](https://github.com/microsoft/ai-for-beginners) 的实验任务。
分割
我们之前学习了目标检测,它可以通过预测边界框来定位图像中的对象。然而,对于某些任务,我们不仅需要边界框,还需要更精确的对象定位。这项任务被称为分割。
人体分割
来自 [AI for Beginners Curriculum](https://github.com/microsoft/ai-for-beginners) 的实验任务。
自然语言处理
在本节中,我们将重点使用神经网络处理与<strong>自然语言处理(NLP)</strong>相关的任务。我们希望计算机能够解决许多NLP问题:
将文本表示为张量
在本节的第一部分中,我们将专注于文本分类任务。我们将使用 [AG News](https://www.kaggle.com/amananandrai/ag-news-classification-da…
嵌入
在基于 BoW 或 TF/IDF 训练分类器时,我们使用的是长度为 vocabsize 的高维词袋向量,并且我们显式地将低维位置表示向量转换为稀疏的独热表示。然而,这种独热表示并不节省内存。此外,每个…
语言建模
语义嵌入(如 Word2Vec 和 GloVe)实际上是迈向语言建模的第一步——创建某种能够理解(或表示)语言本质的模型。
训练 Skip-Gram 模型
来自 [AI for Beginners Curriculum](https://github.com/microsoft/ai-for-beginners) 的实验任务。
循环神经网络
在之前的章节中,我们使用了丰富的文本语义表示,并在嵌入层之上使用了一个简单的线性分类器。这种架构能够捕捉句子中词语的整体意义,但它没有考虑到词语的顺序,因为嵌入层上的聚合操作会丢失原始文本中的顺序信息…
生成网络
循环神经网络(RNN)及其门控单元变体(如长短时记忆单元 LSTM 和门控循环单元 GRU)提供了一种语言建模机制,它们可以学习单词的顺序并预测序列中的下一个单词。这使得我们可以使用 RNN 执行生成…
使用 RNN 进行词级文本生成
来自 [AI 初学者课程](https://github.com/microsoft/ai-for-beginners) 的实验任务。
注意机制与Transformer
在自然语言处理领域中,机器翻译是一个非常重要的问题,它是像谷歌翻译这样的工具的核心任务。在本节中,我们将重点讨论机器翻译,或者更广泛地说,任何序列到序列任务(也称为句子转换)。
命名实体识别
到目前为止,我们主要集中在一个自然语言处理(NLP)任务——分类。然而,神经网络还可以完成其他的NLP任务,其中之一就是[命名实体识别](https://wikipedia.org/wiki/Name…
命名实体识别 (NER)
来自 [AI for Beginners Curriculum](https://github.com/microsoft/ai-for-beginners) 的实验任务。
预训练大型语言模型
在我们之前的所有任务中,我们都使用带标签的数据集训练神经网络来完成特定任务。而对于像 BERT 这样的大型 Transformer 模型,我们通过自监督的方式进行语言建模来构建语言模型,然后通过进一步…
遗传算法
遗传算法 (GA) 基于一种进化式方法,通过模拟种群的进化过程来为给定问题找到最优解。这种方法由 [John Henry Holland](https://wikipedia.org/wiki/Joh…
深度强化学习
强化学习(RL)被认为是机器学习的基本范式之一,与监督学习和无监督学习并列。在监督学习中,我们依赖于具有已知结果的数据集,而强化学习则基于通过实践学习。例如,当我们第一次看到一个电脑游戏时,即使不知道…
other-deeprl-lab
Mountain Car 环境中,汽车被困在一个山谷中。你的目标是跳出山谷并到达旗帜处。你可以执行的动作包括向左加速、向右加速或保持不动。你可以观察汽车在 x 轴上的位置以及速度。
多智能体系统
实现智能的一种可能方法是所谓的涌现(或协同)方法,其基于这样一个事实:许多相对简单的智能体的组合行为可以导致整个系统表现出更复杂(或更智能)的行为。从理论上讲,这种方法基于[集体智能](https:/…