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 继续使用随机搜索在超参数空间中进行搜索。

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

目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
大数据分析的技术和方法:从深度学习到机器学习
大数据时代的到来,让数据分析成为了企业和组织中不可或缺的一环。如何高效地处理庞大的数据集并且从中发现潜在的价值是每个数据分析师都需要掌握的技能。本文将介绍大数据分析的技术和方法,包括深度学习、机器学习、数据挖掘等方面的应用,以及如何通过这些技术和方法来解决实际问题。
21 2
|
2月前
|
机器学习/深度学习 人工智能 PyTorch
《人工智能专栏》专栏介绍 & 专栏目录 & Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程
《人工智能专栏》专栏介绍 & 专栏目录 & Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程
69 1
|
13天前
|
机器学习/深度学习 数据采集 算法
探索XGBoost:自动化机器学习(AutoML)
探索XGBoost:自动化机器学习(AutoML)
62 2
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT:深度学习和机器学习的知识桥梁
ChatGPT:深度学习和机器学习的知识桥梁
24 0
|
25天前
|
机器学习/深度学习 人工智能 算法
【深度学习】因果推断与机器学习的高级实践 | 数学建模
【深度学习】因果推断与机器学习的高级实践 | 数学建模
|
1月前
|
机器学习/深度学习 人工智能 分布式计算
阿里云PAI:一站式AI研发平台,引领深度学习潮流
阿里云PAI:一站式AI研发平台,引领深度学习潮流 随着人工智能的飞速发展,深度学习框架已经成为AI研发的核心工具。然而,选择合适的深度学习框架并不容易,需要考虑的因素包括计算性能、易用性、支持的算法组件等多种因素。今天,我们就来介绍一款一站式AI研发平台——阿里云PAI,看看它如何解决这些痛点。
52 1
|
2月前
|
机器学习/深度学习 存储 人工智能
Azure 机器学习:使用OpenAI GPT模型
Azure 机器学习:使用OpenAI GPT模型
82 0
|
2月前
|
机器学习/深度学习 存储 安全
Azure 机器学习 - 使用 Jupyter Notebook 探索 Azure 机器学习
Azure 机器学习 - 使用 Jupyter Notebook 探索 Azure 机器学习
33 0
|
2月前
|
机器学习/深度学习 存储 JSON
Azure - 机器学习:使用自动化机器学习训练计算机视觉模型的数据架构
Azure - 机器学习:使用自动化机器学习训练计算机视觉模型的数据架构
29 0
|
2月前
|
机器学习/深度学习 存储 人工智能
Azure 机器学习:在 Azure 机器学习中使用 Azure OpenAI 模型
Azure 机器学习:在 Azure 机器学习中使用 Azure OpenAI 模型
73 0