跳转至

Dive into Deep Learning

0 Install

Install Pytorch(CPU or GPU)

mkdir d2l-zh && cd d2l-zh
curl https://zh-v2.d2l.ai/d2l-zh-2.0.0.zip -o d2l-zh.zip
unzip d2l-zh.zip && rm d2l-zh.zip
cd pytorch

Install d2l package

pip install d2l==0.17.6

1 Key Components and Classification

Key Components

  1. Data
    • 每个数据集Data set由一个个样本example,sample组成
    • 样本也叫做数据点data point或者数据实例data instance
    • 通常每一个样本由一组成为特征feature,或称协变量 covariates的属性组成。
    • 模型Model会根据这些属性进行预测,预测的属性称为标签label, 目标target
    • 正常的,数据集也有两类:一类是由为了训练而收集的样本组成,叫做训练集training set; 另一种是为了测试的,新的数据集,称为测试集test set
    • 但是,一个模型在训练集上表现良好,未必可以在测试集上表现的很好,这时这个模型称为过拟合overfitting
  2. Models
    • 使用数据集来选择参数的元程序被称为学习算法learning algorithm
    • 根据参数调整后的程序称为模型Model
  3. Objective Functions
    • 在机器学习中,我们需要定义模型的优劣程度的度量,这个度量在大多数情况是“可优化”的,这被称之为目标函数objective function
    • 我们通常定义一个目标函数,并希望优化它到最低点。 因为越低越好,所以这些函数有时被称为损失函数loss function,或cost function
  4. Optimization Algorithm
    • . Many scholars have asked whether one could explain and possibly reverse engineer this capacity化算法是指:当我们获得了一些数据源及其表示、一个模型和一个合适的损失函数,接下来就需要一种算法,它能够搜索出最佳参数,以最小化损失函数。 深度学习中,大多流行的优化算法通常基于一种基本方法——梯度下降gradient descent
    • 。 简而言之,在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。 然后,它在可以减少损失的方向上优化参数。

classfication

1. Supervised learning

Regression

回归问题:有多少

Classification

分类问题:哪一个;输出被规定在有限个离散值中。

Tagging

标记问题:是分类问题的推广。

分类问题的输出是一个值,而标注问题输出是一个向量,向量的每个值属于一种标记类型。

搜索:结果集很重要,但是有些问题更需要的是结果集内部的排序,排名

Recommender

推荐系统:个性化的搜索

Sequence Learning

序列学习:

如果输入的样本之间没有任何关系,以上模型可能完美无缺。 但是如果输入是连续的,模型可能就需要拥有“记忆”功能。 比如,我们该如何处理视频片段呢? 在这种情况下,每个视频片段可能由不同数量的帧组成。 通过前一帧的图像,我们可能对后一帧中发生的事情更有把握。 语言也是如此,机器翻译的输入和输出都为文字序列。

2. Unsupervised learning

无监督学习,给出许多数据,但是对结果没有要求

3. Interacting with an Environment

前面说过的,不管是supervised learning,还是unsupervised learning。我们都会预先获取大量数据,然后启动模型,不再与环境交互。这样的学习都是在算法和环境断开后进行的。称为offline learning, 离线学习

与真实环境互动,意味着可能会影响到环境,环境做出改变优惠怎么样?下面一起讨论。

4. Reinforcement Learning

如果你对使用机器学习开发与环境交互并采取行动感兴趣,那么最终可能会专注于强化学习reinforcement learning。像是机器人,对话系统,AlphaGo...

在强化学习问题中,agent 智能体 在一系列的时间步骤上与环境交互。 在每个特定时间点,智能体从环境接收一些observation 观察,并且必须选择一个action 动作,然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得reward 奖励。 此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。

markov decision process:当环境可被完全观察到时,强化学习问题被称为马尔可夫决策过程

contextual bandit problem: 当状态不依赖于之前的操作时,我们称该问题为上下文赌博机

multi-armed bandit problem: 当没有状态,只有一组最初未知回报的可用动作时,这个问题就是经典的多臂赌博机