educational - 该存储库包含我们为向各种受众教授机器学习基础知识而准备的一系列教育教程。目标是拥有简单且可访问的资源,使任何人(包括没有机器学习背景的人)都能参与这些教程并从中学习。

Created at: 2020-11-17 19:48:44
Language: Jupyter Notebook
License: Apache-2.0

迪普教育资源

此存储库包含我们准备的一系列教育教程,用于向各种受众教授机器学习的基础知识。目标是拥有简单易用的资源,使任何人(包括那些没有机器学习背景的人)都能参与并从这些教程中学习。

我们的目标是通过提供可访问的教育资源来激励每个人,从而为机器学习的民主化做出贡献。

这些教程以笔记本的形式呈现,可以通过Google Colab启动。

入门教程

飘飘飘的鸟类在科拉布中打开

电子游戏和人工智能有着悠久而幸福的历史。在本教程中,我们将玩一个熟悉的(也是困难的!)游戏,了解什么是代理,以及如何让他们学会以超人的能力玩游戏。我们将构建的代理根据其在游戏中的表现进行评估,并在受进化启发的虚拟生活循环中进行选择。

语言的乐趣在科拉布中打开

本教程展示了我们如何为自然语言处理构建重要的人工智能模型,称为语言模型。语言模型是令人惊讶的有效模型,它们学会预测给定前一个字母(或单词)的下一个字母(或单词),---它们基本上知道哪些字母(或单词)可以很好地结合在一起。在本教程中,我们将教你计算机如何表示和处理语言,并展示如何使用大量文本来学习语言模型并将其应用于两个任务:解码秘密消息和生成文本。

生成模型在科拉布中打开

创造力是人类智能的核心。在本教程中,我们将看到人工智能 (AI) 与创造力的交汇点。我们将向你展示AI如何生成逼真的日常物品图像以及艺术品,并想象“蜘蛛狗”。我们将能够执行任何一项操作的AI称为生成模型,在本教程结束时,你将构建自己的AI。

蛋白质折叠在科拉布中打开

本教程探讨了如何使用机器学习来解决蛋白质结构预测问题。虽然本教程实际上并没有解决问题本身,但它为学生提供了非常基本的编码和生物学背景,以入门,并借助可视化和一些折叠简单蛋白质结构的例子,训练他们对机器学习方法的直觉。

强化学习的基础知识在科拉布中打开

本教程向学生介绍研究中使用的简单强化学习(RL)设置。它涉及运行预先存在的代码来设置RL环境并将其可视化。然后,学生可以查看完全随机(未经训练)的代理在这些环境中的行为。我们还包含一些简单的代码,该代码实现了一种强化学习方法,该方法可以训练代理来解决这些简单的任务。然后,可以将经过训练的代理的行为与代理如何通过训练演变的图一起可视化。

科学思维在科拉布中打开

本教程将教你强调科学思维的基本思想。我们通过实验和验证,用科学方法开发和测试新知识,同时展示过程中常见的陷阱。通过一系列游戏,你将扮演一个想理解世界的代理人,你将深入了解科学思维背后的一些核心思想。

暑期学校教程

以下教程旨在供任何希望在暑期学校,大学入门课程或社区聚会上教授机器学习和人工智能基础知识的人使用。这些Colabs的初始版本是由DeepMind内部的一群志愿者编写的,借鉴了我们在以下方面的教学经验:

  • 深度学习英达巴
  • 东欧机器学习暑期学校
  • 希普:拉丁美洲人工智能会议
  • 地中海机器学习暑期学校
  • 东南亚机器学习学校

材料作为一个整体并不形成一个结构化的过程。但是,每个Colab或一组Colabs都讲述自己的故事,因此它们也可以被无法直接接触老师的学生用作自学材料。它们是在Apache许可证下发布的,这意味着你可以根据自己独特的教学风格进行调整。欢迎你在为自己的社区聚会或暑期学校创建教材时以你喜欢的任何方式调整它们。

Colabs是用Python和Jax编写的,这是我们在DeepMind使用的一些工具。此存储库中当前的 Colabs 是:

监督学习简介 1 - 回归在科拉布中打开

本教程对监督学习进行了温和而直观的介绍。本教程旨在从班级的前面教授给一组学生,但也可以单独完成。学生学习什么是数据模型以及模型参数是什么,并体验损失函数的基本优化,以直接拟合数据。我们引入了自动微分和Jax。本教程最后介绍了非线性模型、欠拟合、过拟合和基本正则化的第一步。

无监督学习简介在科拉布中打开

本教程介绍了无监督学习的基础知识。在现实世界中,这是最常见的学习形式:没有标签或反馈可用。那么机器应该如何学习呢?指导机器的最重要的成本函数是对数似然值(又称对数损失)。我们在对概率论(密度估计,最大似然/对数损失和潜在变量建模)的温和介绍中解释了它的含义。我们将向你展示如何构建和训练自动编码器,以及如何使用 K−means 聚类算法压缩图像 - 所有这些都仅使用基本的 Python 命令!包括许多可视化和练习,使这段旅程变得有趣。

使用 JAX/jraph 的 Graph 神经网络简介在科拉布中打开

本教程将向你介绍图神经网络 (GNN) 的基础知识,这是一系列架构,旨在学习由节点和边缘组成的图形结构化数据,其中边缘描述节点之间的关系。例如,分子可以表示为以原子为节点的图,以原子为边缘,它们之间的化学键作为边缘。预测分子的化学性质是GNN的一个示例应用,以及许多其他应用,例如预测引文网络中论文之间的关系。

与之前的设置不同,我们已经看到以实值向量的形式(例如图像的矢量化形式)的输入特征,数据本身的结构在这里很重要,例如,原子如何在分子中相互连接可能会影响其性质。GNN允许我们在训练和推理过程中明确考虑这种图形结构,这是其他架构(如全连接网络或递归神经网络)无法做到的。

我们将回顾图论的基础知识,从头开始编码GNN,并将我们的模型应用于三种类型的图学习任务。更具体地说,我们将实现两种常见类型的GNN架构:图卷积网络和图注意网络。我们还将向你介绍 jraph,这是一个专为在 JAX 中使用图神经网络而设计的库。

征集捐款

这个存储库是一项持续的工作,由志愿者维护。正如你已经读到的这一点,我们现在将你视为共同志愿者!欢迎你通过拉取请求,错误报告,功能请求和任何其他代码贡献来帮助改进材料!

联系

如果你有任何反馈,或者想与我们联系,请在 GitHub 存储库上打开新问题或发送电子邮件至 。

educational@deepmind.com

免責聲明

这不是官方支持的谷歌产品。