Azure 机器学习 - 使用 AutoML 预测进行深度学习

简介: Azure 机器学习 - 使用 AutoML 预测进行深度学习

在本文中,我们将介绍Azure AutoML 中 TCNForecaster 模型的结构和操作,以帮助你以最佳方式将模型应用于你的场景。


一、TCNForecaster 简介

TCNForecaster 是一种时序卷积网络(简称 TCN),它具有专为时序数据设计的 DNN 体系结构。 该模型使用目标数量的历史数据以及相关特征,对目标进行概率预测,一直到指定的预测范围。 下图显示 TCNForecaster 体系结构的主要组成部分:

TCNForecaster 具有以下主要组成部分:

  • 一个预混合层,用于将输入时序和特征数据混合到卷积堆栈将处理的信号通道数组中。
  • 按顺序处理通道数组的扩张卷积层堆栈;堆栈中的每个层处理上一层的输出以生成新的通道数组。 此输出中的每个通道都包含来自输入通道的卷积筛选信号的混合。
  • 预测头单元的集合,用于合并来自卷积层的输出信号,并从此潜在表示形式生成目标数量的预测。 每个头单元生成预测,一直到预测分布的分位数范围。

扩张的因果卷积

TCN 的中心运算是沿输入信号的时间维度的扩张的因果卷积。 直观地,卷积将输入中附近时间点的值混合在一起。 混合中的比例是卷积的内核或权重,而混合中各点之间的分离是扩张。 输出信号通过沿输入滑动时间内核并在每个位置累积混合,从输入生成。 因果卷积是内核仅混合相对于每个输出点的过去输入值,从而阻止输出“预测”未来。

堆叠扩张卷积使 TCN 能够在内核权重相对较少的输入信号中为长时间的相关性建模。 例如,下图显示了三个堆叠层,每个层中都有一个双权内核以及呈指数级增加的扩张因子:

虚线显示网络中的路径,这些路径在 t 时间结束输出。 这些路径涵盖输入中的最后八个点,说明每个输出点都是输入中最近八个点的函数。 卷积网络用于进行预测的历史长度或“回顾”称为“感受野”,完全由 TCN 体系结构决定。


二、TCNForecaster 体系结构

TCNForecaster 体系结构的核心是预混合和预测头之间的卷积层堆栈。 堆栈在逻辑上划分为称为块的重复单元,这些单元又由残差单元组成。 残差单元在集扩张处应用因果卷积,以及规范化和非线性激活。 重要的是,每个残差单元使用所谓的残差连接将其输出添加到其输入。 这些连接已被证明有利于 DNN 训练,可能是因为它们有助于更高效地通过网络传递信息。 下图显示了一个示例网络卷积层的体系结构,包含两个块,每个块中有三个残差单元:

块和单元的数量以及每一层中的信号通道数量控制网络的大小。 下表汇总了 TCNForecaster 的体系结构参数:

参数 说明
nb 网络中的块数;也称为深度
nc 每个块中的单元数
nch 隐藏层中的通道数

感受野取决于深度参数,由公式提供,

trf\=4nb(2nc−1)+1.

我们可以在公式方面对 TCNForecaster 体系结构进行更精确的定义。 让 X 作为输入数组,其中每一行都包含输入数据中的特征值。 我们可以将 X 划分为数值和分类特征数组,Xnum 和 Xcat。 然后,TCNForecaster 由公式提供,

!

其中,We 是分类特征的嵌入矩阵,nl\=nbnc 是残差单元总数,Hk 表示隐藏层输出,fq 是预测分布给定分位数的预测输出。 为了帮助理解,下表中列出了这些变量的维度:

变量 说明 维度
X 输入数组 ninput×trf
Hi Hidden layer output for i\=0,1,…,nl nch×trf
fq 分位数的预测输出 q h

在表中,ninput\=nfeatures+1,即预测器/特征变量的数量加上目标数量。 预测头在一次传递中生成的所有预测,一直到最大范围,因此 TCNForecaster 是直接预测器。


三、AutoML 中的 TCNForecaster

TCNForecaster 是 AutoML 中的可选模型。 若要了解如何使用它,请参阅启用深度学习。

在本部分中,我们将介绍 AutoML 如何使用数据生成 TCNForecaster 模型,包括数据预处理、训练和模型搜索的说明。

数据预处理

AutoML 对数据执行多个预处理步骤,为模型训练做准备。 下表按执行顺序描述了这些步骤:

这些步骤包含在 AutoML 的转换管道中,因此在需要时在推理时会自动应用这些步骤。 在某些情况下,推理管道中包含步骤的反向操作。 例如,如果 AutoML 在训练期间将 log 转换应用于目标,则原始预测将在推理管道中指数化。

训练

TCNForecaster 遵循其他应用程序在图像和语言中通用的 DNN 训练最佳做法。 AutoML 将预处理的训练数据划分为示例,这些示例将被混合并组合成批。 网络按顺序处理批,使用反向传播和随机梯度下降来优化与损失函数相关的网络权重。 训练可能需要通过完整训练数据进行多次传递;每个传递称为一个时期。

下表列出并描述了 TCNForecaster 训练的输入设置和参数:

训练输入 说明
验证数据 训练中保留的部分数据,用于指导网络优化和缓解过度拟合。 由用户提供,如果未提供,则从训练数据自动创建。
主要指标 每个训练时期结束时针对验证数据的中值预测计算的指标;用于尽早停止和模型选择。 由用户选择;规范化均方根误差或规范化平均绝对误差。
训练时期 为网络权重优化运行的最大时期数。 100;自动尽早停止逻辑可能会在少量的时期终止训练。
尽早停止容忍 训练停止之前等待主要指标改进的时期数。 20
损失函数 网络权重优化的目标函数。 分位数损失平均超过第 10、25、50、75 和第 90 个百分位预测。
批大小 批中的示例数。 每个示例的维度 ninput×trf 用于输入,h 用于输出。 根据训练数据中的示例总数自动确定;最大值为 1024。
嵌入维度 分类特征的嵌入空间的维度。 自动设置为每个特征中非重复值数的第四个根,向上舍入为最接近的整数。 阈值的最小值为 3,最大值为 100。
网络体系结构* 控制网络大小和形状的参数:深度、单元数和通道数。 由模型搜索确定。
网络权重 控制信号混合、分类嵌入、卷积内核权重以及预测值的映射的参数。 随机初始化,然后针对损失函数进行优化。
学习速率* 控制在梯度下降的每个迭代中可以调整多少网络权重;动态减少近收敛。 由模型搜索确定。
信息漏失率* 控制应用于网络权重的信息漏失正则化)程度。 由模型搜索确定。

标有星号 (*) 的输入由下一部分中介绍的超参数搜索确定。

模型搜索

AutoML 使用模型搜索方法查找以下超参数的值:

  • 网络深度或卷积块数,
  • 每个块的单元数,
  • 每个隐藏层中的通道数,
  • 网络正则化的信息漏失率,
  • 学习速率。

这些参数的最佳值可能会因问题场景和训练数据而异,因此 AutoML 在超参数值空间中训练多个不同的模型,并根据验证数据的主要指标分数选择最佳模型。

模型搜索有两个阶段:

  1. AutoML 对 12 个“标志性”模型执行搜索。 标志性模型是静态的,选择用于合理跨越超参数空间。
  2. AutoML 继续使用随机搜索在超参数空间中进行搜索。

满足停止条件时,搜索将终止。 停止条件取决于预测训练作业配置,但一些示例包括时间限制、要执行的搜索试验次数限制以及验证指标未改进时的尽早停止逻辑。

目录
相关文章
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从线性回归到深度学习
【9月更文挑战第4天】在这篇文章中,我们将深入探讨机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过实际的代码示例,揭示这些模型背后的数学原理,以及如何在现实世界的问题中应用它们。无论你是初学者还是有经验的数据科学家,这篇文章都将为你提供新的视角和深入的理解。
|
24天前
|
机器学习/深度学习 人工智能 算法
探索AI的魔法:机器学习与深度学习的奥秘
【8月更文挑战第27天】在这篇文章中,我们将深入探讨人工智能的两个重要分支:机器学习和深度学习。我们将首先理解它们的基本概念,然后通过Python代码示例,展示如何应用这些技术解决实际问题。无论你是AI新手,还是有经验的开发者,这篇文章都将为你提供新的知识和启示。让我们一起开启这场AI的魔法之旅吧!
|
28天前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
28天前
|
机器学习/深度学习 Ubuntu Linux
【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
|
12天前
|
机器学习/深度学习 人工智能 自动驾驶
探索人工智能的未来:机器学习和深度学习的融合之旅
本文将带你进入人工智能的奇妙世界,一起探索机器学习和深度学习的融合如何引领我们走向更加智能化的未来。我们将从基础概念出发,逐步深入到技术细节和应用实例,揭示这一技术革新如何改变我们的生活和工作方式。通过深入浅出的解释和生动的例子,本文旨在为读者提供一次内容丰富、启发思考的技术之旅。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习、深度学习、强化学习和迁移学习简介、相互对比、区别与联系。
机器学习、深度学习、强化学习和迁移学习都是人工智能领域的子领域,它们之间有一定的联系和区别。下面分别对这四个概念进行解析,并给出相互对比、区别与联系以及应用场景案例分析。
24 1
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能的未来:从机器学习到深度学习
本文将探讨人工智能的发展历程,特别是机器学习和深度学习的兴起。我们将深入了解这些技术如何改变我们的生活,并讨论未来的发展趋势。
29 1
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习的奥秘:从线性回归到深度学习
【8月更文挑战第26天】本文将带领读者走进机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将探讨各种算法的原理、应用场景以及实现方法,并通过代码示例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的知识和技能。让我们一起揭开机器学习的神秘面纱,探索这个充满无限可能的领域吧!
|
28天前
|
SQL 机器学习/深度学习 开发工具
【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)
【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)
|
1月前
|
机器学习/深度学习 人工智能 算法
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
73 0