Dive into deep learning
中文教材(第二版)https://zh-v2.d2l.ai/
英文教材:https://d2l.ai/
中文教材只有部分内容,我选择先从中文开始看减少一些难度,没有的章节再去看英文部分。请先阅读 安装 符号 两个章节,里面包含了如何下载该书的 notebook 以及讲解了该书使用的数学符号
1. 前言
关键组件
数据
- 数据的分布,一般假设为独立同分布。所以当分布出现偏差,模型也会相应地被影响
- 数据的维数,每一个样本都可以是一个固定维数的样本,例如每个样本为一个三维向量,记录人的身高、体重、性别。也可以不一样,例如样本为图片时,数据为三维张量 (width, height, 3),维度的具体分量由其长宽决定。注意这里要区分一下,向量的维度和张量的维度不是同一个定义
- 数据的标签,需要有正确的数据来引导模型的学习
模型
直接引用原文
大多数机器学习会涉及到数据的转换。 比如,我们建立一个“摄取照片并预测笑脸”的系统。再比如,我们摄取一组传感器读数,并预测读数的正常与异常程度。 虽然简单的模型能够解决如上简单的问题,但本书中关注的问题超出了经典方法的极限。 深度学习与经典方法的区别主要在于:前者关注的功能强大的模型,这些模型由神经网络错综复杂的交织在一起,包含层层数据转换,因此被称为深度学习(deep learning)。 在讨论深度模型的过程中,我们也将提及一些传统方法。
目标函数
在机器学习中,我们需要定义模型的优劣程度的度量,这个度量在大多数情况是“可优化”的,我们称之为目标函数(objective function)。 我们通常定义一个目标函数,并希望优化它到最低点。因为越低越好,所以这些函数有时被称为损失函数(loss function, 或cost function)
优化算法
深度学习中,大多流行的优化算法通常基于一种基本方法–梯度下降(gradient descent)
各种机器学习问题
监督学习
监督学习就比较经典了,有回归问题、分类问题、标记问题、搜索问题、推荐系统、序列学习。前两个问题比较常见了,提一下后面几个
- 标记问题,可以是目标检测相关,也可以是描述样本 (image captioning) 相关
- 搜索问题,一大应用即为搜索引擎,在海量数据库中找到与搜索内容最匹配的选项
- 推荐系统,根据用户喜好对用户进行个性化推荐
- 序列学习,输入和输出都是可变长度的序列,可应用于机器翻译、文本语音转换等
无监督学习
只有样本,没有标签,意在学习数据之间的内部关系。聚类、主成分分析、因果关系和概率图模型、生成对抗网络都是无监督学习的例子,其中生成对抗网络是现在深度学习中非常重要和活跃的领域
强化学习
强化学习又是另一个庞大的框架,而且十分强大,强化学习的目标是产生一个策略,让策略的奖励达到最大。深度强化学习将深度学习应用于强化学习问题,也是非常热门的研究方向
深度学习发展之路
- 算力的发展和数据集的发展是深度学习爆发的基础。且由于这两者的限制,许多优秀的算法和模型其实在很早的时候就被提出,如多层感知机、卷积网络,但无法施展更强大的威力
- 列举部分最近十年中的事件,帮助深度学习取得巨大成就:
- 新的容量控制方法,如 dropout,有助于减轻过拟合
- 提出注意力机制
- 生成对抗网络的发明
- 构建并行式和分布式训练算法
- 开源的深度学习框架
深度学习特点
深度学习是“深度”的,模型学习许多转换的“层”,每一层提供一个层次的表示。 例如,靠近输入的层可以表示数据的低级细节,而接近分类输出的层可以表示用于区分的更抽象的概念。 由于表示学习的目的是寻找表示本身,因此深度学习可以称为“多级表示学习”
毋庸置疑,深度学习方法中最显著的共同点是使用端到端训练。 也就是说,与其基于单独调整的组件组装系统,不如构建系统,然后联合调整它们的性能。 例如,在计算机视觉中,科学家们习惯于将特征工程的过程与建立机器学习模型的过程分开。 Canny边缘检测器 [Canny, 1987] 和SIFT特征提取器 [Lowe, 2004] 作为将图像映射到特征向量的算法,在过去的十年里占据了至高无上的地位。 在过去的日子里,将机器学习应用于这些问题的关键部分是提出人工设计的特征工程方法,将数据转换为某种适合于浅层模型的形式。 然而,与一个算法自动执行的数百万个选择相比,人类通过特征工程所能完成的事情很少。 当深度学习开始时,这些特征抽取器被自动调整的滤波器所取代,产生了更高的精确度
此外,通过取代大部分特定领域的预处理,深度学习消除了以前分隔计算机视觉、语音识别、自然语言处理、医学信息学和其他应用领域的许多界限,为解决各种问题提供了一套统一的工具
除了端到端的训练,我们正在经历从参数统计描述到完全非参数模型的转变。 当数据稀缺时,人们需要依靠简化对现实的假设来获得有用的模型。 当数据丰富时,可以用更准确地拟合实际情况的非参数模型来代替。 在某种程度上,这反映了物理学在上个世纪中叶随着计算机的出现所经历的进步。 现在人们可以借助于相关偏微分方程的数值模拟,而不是用手来求解电子行为的参数近似。这导致了更精确的模型,尽管常常以牺牲可解释性为代价
与以前工作的另一个不同之处是接受次优解,处理非凸非线性优化问题,并且愿意在证明之前尝试。 这种在处理统计问题上新发现的经验主义,加上人才的迅速涌入,导致了实用算法的快速进步。 尽管在许多情况下,这是以修改和重新发明存在了数十年的工具为代价的。