Deep Learning Note: 3-7 端到端学习

1. 端到端深度学习   一些复杂的学习系统通常会具有多个处理阶段,端到端深度学习(End-to-End Deep Learning)将这些不同的处理阶段替换为一个神经网络。   例如对于语音识别,输入为语音数据,输出为语音对应的文本。传统的语音识别系统对语音数据的处理分为多个阶段,首先从语音中提取一些人工设计的特征(如 MFCC),然后通过机器学习算法提取音素(Phoneme),接着将音素串连成…
Read more

Deep Learning Note: 3-6 从多个任务中学习

1. 迁移学习   深度学习的一个强大之处在于,有时候可以将一个神经网络从某个任务中习得的知识应用到另一个任务上,这称为迁移学习(Transfer Learning)。例如一个网络学会了如何识别猫,可以将该网络学到的知识应用于读取 X 光片上。   假设训练了一个用于图像识别的神经网络,如图 1 所示:   现在想要将其学到的知识迁移到放射诊断上,即输入 X 光片,输出诊断结果。一种做法是移除原网…
Read more

Deep Learning Note: 3-5 不匹配的训练集和开发/测试集

1. 使用具有不同分布的训练集和测试集   深度学习算法需要大量的数据,有时候不得不从各种途径收集尽可能多的数据用作训练,导致训练集和开发/测试集具有不同的分布。   以从用户上传的图片中识别猫的应用为例,可以从两种途径获得训练数据:其一是使用应用用户实际上传猫的图片,这些图片通常分辨率不高,拍摄质量也不佳,这是我们真正关心的数据,即我们希望应用能在这些数据上有较好的性能,但这些数据的数量较少,比…
Read more

Deep Learning Note: 3-4 错误分析

1. 进行错误分析   对于人类也可以解决的问题,如果算法的性能不及人类,则可以通过对算法出现的错误进行手工检查,来指导下一步的行动,这一过程称为错误分析(Error Analysis)。   例如对于某个从图片中识别猫的分类器,发现其错误率为 10%,远高于预期。通过检查这个分类器分类错误的图片,发现它把一些图片中的狗也错误地识别成了猫。那么问题来了:是否应当着力提高分类器在狗的图片上的性能,如…
Read more

Deep Learning Note: 3-3 比较人类水平

1. 与人类水平做比较的原因   最近几年,将机器学习系统的性能与人类水平进行比较越来越流行,一个原因是随着深度学习的发展,机器学习算法的性能有了大幅的提升,在很多领域,机器学习算法的性能已经可以与人类相比。另一个原因是在一些人类也可以解决的问题上,更容易设计和搭建机器学习系统来解决这些问题。   对于很多机器学习任务,随着时间的推进,在算法的性能到达人类水平之前,进展会比较快;而当算法性能超过人…
Read more

Deep Learning Note: 3-2 设置目标

1. 使用单一评价标准   机器学习涉及很多可以选择的算法和需要调优的超参数,往往难以在一开始就找到最佳选择。因此,应用机器学习是一个反复迭代的过程,通过不断地调整和尝试各种选择并评估其结果,逐步找到更好的算法和参数,使得模型的性能逐步提高。在这一过程中,使用一个单一的评价指标来对模型性能进行评估,可以立即知道所进行的调整是否有效,有利于提高迭代的效率。   例如使用不同的超参数得到了两个分类器 …
Read more

Deep Learning Note: 3-1 正交化

  构建机器学习应用的一大挑战是有众多的方案和选项可以选择和调整,例如在训练过程中就有很多超参数需要调优。在调优的过程中,需要明确进行什么样的调整,可以达到什么样的目的,将各个问题独立开来,在互不影响的情况下分别进行调优,逐个击破,正交化(Orthogonalization)地解决各个问题。   例如对于监督学习系统,通常需要通过调优,确保模型: 能够在代价函数上很好地拟合训练集 能够在代价函数上…
Read more

Deep Learning Note: 2-6 批量标准化

  批量标准化(Batch Normalization)是深度学习中的一个重要算法,它可以让网络更加强健,令网络对更大范围的参数都有较好的效果,使得超参数的搜索更加容易,也有助于训练更深的网络。 1. 标准化激活值   前文介绍了对输入特征进行标准化的方法,标准化有助于提高学习速度。在神经网络中,对其中各层的激活值进行标准化,也有利于提高下一层参数的学习速度,这就是批量标准化所做的。例如对第 2 …
Read more

Deep Learning Note: 2-5 超参数调优

1. 调优过程   神经网络的训练涉及众多的超参数,按照调整的优先级,可以划分如下: 第一优先:学习率 $\alpha$。 第二优先:动量梯度下降的参数 $\beta$(通常取 $0.9$),网络中隐藏单元的数量,小批量梯度下降中小批量的大小等。 第三优先:神经网络的层数、学习率衰减。   对于 Adam 优化算法中的超参数,通常会直接使用默认值($\beta_1 = 0.9$,$\beta_2 …
Read more