2017-08-11 12:53 来源:机器之心 操作系统 原标题:研学社•架构组 | 实时深度学习的推理加速和连续学习 机器之心原创 作者:Yanchen Wang 参与:panda 在本技术分析报告的第一部分《研学社·系统组 | 实时深度学习的推理加速和持续训练》,我们介绍了最近一些用于 DNN 推理加速的硬件和算法技术。在这第二部分,我们将基于最近一篇论文《在连续学习场景中对深度神经网络进行微调(Fine-Tuning Deep Neural Networksin Continuous Learning Scenarios)》探讨 DNN 连续学习,该论文的作者为 Christoph Kading、Erik Rodner、Alexander Freytag 和 Joachim Denzler。 要将深度学习系统投入生产,有一个方面很重要,就是要能应对输入和输出数据的分布随时间的变化。和任何统计机器学习模型一样,深度神经网络的可行性和有效性严重取决于一个假设——输入和输出数据的分布不会随时间发生显著变化,否则会使得模型原本学习到的模式和复杂关系表现不佳或甚至完全不可用。但是,在真实世界中,这样的假设很少能够成立,尤其是在信息安全等领域,其中基础数据生成机制的快速演变已然是一种常态(在安全领域的案例中,这是因为防御方和对手这两方都要不断努力改变自己的策略以超越对方,从而利用对手未加防备的漏洞。因此,随着我们在这些领域中应用深度学习来更好解决许多曾经无法解决的问题,深度神经网络的连续学习问题也就得到了机器学习即服务(MLaaS)提供商和应用架构师的越来越大的关注——我们该怎么很好地执行连续学习,而不会损害生产质量或提高资源消耗。 在本报告的第二部分,我们将会形式化连续学习场景并介绍一种增量式的微调方法(incremental fine-tuning approach)。然后我们会给出有多个实证研究支持的三大重要发现。本文的目的不是全面调查和描绘连续学习的现状全景,而是为了启发更多不同专业背景的人加入到我们的讨论中,并与我们交流知识。 第二部分:连续学习 连续学习场景和增量式微调 微调(fine-tuning)原本一直是指预训练一个带有生成式目标(generative objective)的 DNN 的过程,后面跟着带有一个鉴别式目标(discriminative objective)的额外训练阶段。早期关于预训练和微调深度信念网络和深度堆叠自动编码器的研究成果全都遵循这种方法。研究者期望这种生成式训练阶段能让网络学习到数据域的良好分层表征,而鉴别式阶段则能利用这种表征,并希望它能在该表征空间中学习到一个更好的鉴别器功能。 最近,研究者已经在使用微调来在 ImageNet 这样的大型通用数据集上预训练复杂精细、当前最佳的 DNN 了,然后又在更小的相关数据集上对模型进行微调。这有助于缓解医疗诊断或地理探测等领域内有标签训练数据不足的问题,因为在这些领域中,获取有标签数据需要密集的劳动或成本高昂。研究者的基本假设是:在大型训练数据集上得到的相当好的结果已经使该网络接近参数空间中的局部最优了,所以即使新数据的数据量很小,也能快速将该网络引导至最优点。 从连续学习的观点来看,上面两种方法都是网络只接受两次训练(初始预训练和一次更新)的极端案例。连续学习的更一般形式是迭代式地训练和更新,这就带来了一个问题:应该怎样稳健又高效地执行一系列持续的更新?对于生产系统来说,稳健性是很重要的,因为一个实时系统通常不能容忍模型表现突然下降,而该系统的实时本质又必需对资源和时间的高效率利用。为此,在下面的讨论中,我们的重点关注场景是每个更新步骤仅使用少量新数据的情况(相比于原来的完全的训练数据集),但要求更新后的模型是即时可用的。 1.连续学习场景 连续学习的最一般形式是整个训练数据集都会随时间演变。但是,为了让学习可行,我们设置了一个限制,即输入域保持不变。这并不意味着输入域中的数据分布是恒定不变的——相反,我们允许多种多样的数据分布会发生变化的案例,但这些变化总是定义在同一域中。另一方面,我们假设输入域可以变化。这是为了配合当系统持续运行了相当长时间后出现新标签的案例。比起输入域变化的情况,这个假设更有可能实际出现,因为在自动驾驶汽车等大多数生产系统中,如果输入视频或激光雷达图像急剧改变(由于极端天气、光照、地形或路况),那我们就不能期望系统还能远程工作;但我们希望该系统能在连续学习过程中适应新型的不可碰撞的目标,并且能够应对这种新标签的类别。因此,我们将我们的连续学习场景中的数据定义为按时间 t 索引的数据集 的序列。我们的目标是为每个时间步骤 t 学习一个网络 。根据 的变化方式,我们有两种可能场景: 1) 我们不会随时间获得新类别,但是我们的数据集不断增长。 2) 我们会随时间获得新类别的样本。 在每个时间步骤 t,我们需要使用新出现的可用信息更新我们的网络;这些新信息即为更新集(update set): 。因为我们假设更新集很小,为了避免欠拟合,在时间步骤 t 我们使用上一步收敛的 热启动(warm-start)优化。这种技术的可行性取决于一个假设,即 (责任编辑:本港台直播) |