Aprendizagem profunda com previsão de AutoML

Este artigo centra-se nos métodos de aprendizagem profunda para a previsão de série temporal no AutoML. Pode encontrar instruções e exemplos para preparar modelos de previsão no AutoML no nosso artigo configurar a AutoML para previsão de série temporal .

A aprendizagem profunda teve um grande impacto em campos que vão desde a modelação de linguagem até à dobragem de proteínas, entre muitos outros. A previsão de série temporal também beneficiou dos recentes avanços na tecnologia de aprendizagem profunda. Por exemplo, os modelos de rede neural profunda (DNN) são destacados nos modelos com melhor desempenho a partir das quarta e quinta iterações da competição de previsão makridakis de alto perfil.

Neste artigo, vamos descrever a estrutura e o funcionamento do modelo TCNForecaster no AutoML para o ajudar a aplicar melhor o modelo ao seu cenário.

Introdução ao TCNForecaster

TCNForecaster é uma rede convolucional temporal, ou TCN, que tem uma arquitetura DNN especificamente concebida para dados de série temporal. O modelo utiliza dados históricos para uma quantidade de destino, juntamente com funcionalidades relacionadas, para fazer previsões probabilísticas do destino até um horizonte de previsão especificado. A imagem seguinte mostra os principais componentes da arquitetura TCNForecaster:

Diagrama a mostrar os principais componentes do TCNForecaster da AutoML.

TCNForecaster tem os seguintes componentes principais:

  • Uma camada pré-mistura que mistura as séries de tempo de entrada e os dados de funcionalidades numa matriz de canais de sinal que a pilha convolucional irá processar.
  • Uma pilha de camadas de convolução dilatadas que processa a matriz de canais sequencialmente; cada camada na pilha processa a saída da camada anterior para produzir uma nova matriz de canal. Cada canal nesta saída contém uma mistura de sinais filtrados por convolução dos canais de entrada.
  • Uma coleção de unidades principais de previsão que aglam os sinais de saída das camadas de convolução e geram previsões da quantidade de destino a partir desta representação latente. Cada unidade principal produz previsões até ao horizonte para um quantile da distribuição de predição.

Convolução causal dilatada

A operação central de um TCN é uma convolução causal dilatada ao longo da dimensão temporal de um sinal de entrada. Intuitivamente, a convolução combina valores de pontos de tempo próximos na entrada. As proporções na mistura são o kernel, ou os pesos, da convolução, enquanto a separação entre pontos na mistura é a dilatação. O sinal de saída é gerado a partir da entrada ao deslizar o kernel a tempo ao longo da entrada e ao acumular a mistura em cada posição. Uma convolução causal é aquela em que o kernel só mistura valores de entrada no passado em relação a cada ponto de saída, impedindo que a saída "analise" o futuro.

A pilha de convoluções dilatadas dá ao TCN a capacidade de modelar correlações ao longo de longas durações em sinais de entrada com relativamente poucos pesos de kernel. Por exemplo, a imagem seguinte mostra três camadas empilhadas com um kernel de dois pesos em cada camada e fatores de dilatação exponencialmente crescentes:

Diagrama a mostrar camadas de convolução empilhadas e dilatadas.

As linhas tracejadas mostram caminhos através da rede que terminam na saída de cada vez $t$. Estes caminhos abrangem os últimos oito pontos na entrada, ilustrando que cada ponto de saída é uma função dos oito pontos mais recentes na entrada. A duração do histórico, ou "olhar para trás", que uma rede convolucional utiliza para fazer predições é denominada campo receptivo e é completamente determinada pela arquitetura TCN.

Arquitetura TCNForecaster

O núcleo da arquitetura TCNForecaster é a pilha de camadas convolucionais entre a pré-mistura e os cabeças de previsão. A pilha é dividida logicamente em unidades de repetição chamadas blocos que, por sua vez, são compostos por células residuais. Uma célula residual aplica convoluções causais numa dilatação definida juntamente com normalização e ativação não linear. Acima de tudo, cada célula residual adiciona a sua saída à sua entrada através de uma chamada ligação residual. Estas ligações têm sido mostradas para beneficiar a preparação de DNN, talvez porque facilitam o fluxo de informações mais eficiente através da rede. A imagem seguinte mostra a arquitetura das camadas convolucionais para uma rede de exemplo com dois blocos e três células residuais em cada bloco:

Diagrama a mostrar a estrutura de blocos e células para camadas convolucionais TCNForecaster.

O número de blocos e células, juntamente com o número de canais de sinal em cada camada, controlam o tamanho da rede. Os parâmetros de arquitetura do TCNForecaster são resumidos na tabela seguinte:

Parâmetro Description
$n_{b}$ Número de blocos na rede; também denominada profundidade
$n_{c}$ Número de células em cada bloco
$n_{\text{ch}}$ Número de canais nas camadas ocultas

O campo receptivo depende dos parâmetros de profundidade e é fornecido pela fórmula,

$t_{\text{rf}} = 4n_{b}\left(2^{n_{c}} - 1\right) + 1.$

Podemos dar uma definição mais precisa da arquitetura TCNForecaster em termos de fórmulas. Deixe $X$ ser uma matriz de entrada onde cada linha contém valores de funcionalidades dos dados de entrada. Podemos dividir $X$ em matrizes de funcionalidades numéricas e categóricas, $X_{\text{num}}$ e $X_{\text{cat}}$. Em seguida, o TCNForecaster é fornecido pelas fórmulas,

Equações que descrevem as operações TCNForecaster.

em que $W_{e}$ é uma matriz de incorporação para as funcionalidades categóricas, $n_{l} = n_{b}n_{c}$ é o número total de células residuais, o $H_{k}$ denota saídas de camada oculta e o $f_{q}$ são saídas de previsão para determinados quantis da distribuição de predição. Para ajudar a compreender, as dimensões destas variáveis estão na tabela seguinte:

Variável Descrição Dimensões
$X$ Matriz de entrada $n_{\text{input}} \times t_{\text{rf}}$
$H_{i}$ Saída de camada oculta para $i=0,1,\ldots,n_{l}$ $n_{\text{ch}} \times t_{\text{rf}}$
$f_{q}$ Previsão de saída para quantile $q$ $h$

Na tabela, $n_{\text{input}} = n_{\text{features}} + 1$, o número de variáveis de predição/funcionalidade mais a quantidade de destino. Os cabeças de previsão geram todas as previsões até ao horizonte máximo, $h$, num único passe, por isso o TCNForecaster é um meteorologista direto.

TCNForecaster no AutoML

TCNForecaster é um modelo opcional no AutoML. Para saber como utilizá-la, consulte Ativar a aprendizagem profunda.

Nesta secção, vamos descrever como o AutoML cria modelos TCNForecaster com os seus dados, incluindo explicações sobre pré-processamento de dados, preparação e pesquisa de modelos.

Passos de pré-processamento de dados

O AutoML executa vários passos de pré-processamento nos seus dados para se preparar para a preparação de modelos. A tabela seguinte descreve estes passos pela ordem em que são executados:

Passo Descrição
Preencher dados em falta Impute valores em falta e intervalos de observação e, opcionalmente, acolchoe ou largue séries de tempo curtos
Criar funcionalidades de calendário Aumente os dados de entrada com funcionalidades derivadas do calendário como o dia da semana e, opcionalmente, feriados para um país/região específico.
Codificar dados categóricos Cadeias de codificação de etiquetas e outros tipos categóricos; isto inclui todas as colunas de ID de série temporal.
Transformação de destino Opcionalmente, aplique a função logaritmo natural ao destino, dependendo dos resultados de determinados testes estatísticos.
Normalização Classificação Z para normalizar todos os dados numéricos; A normalização é efetuada por funcionalidade e por grupo de séries de tempo, conforme definido pelas colunas de ID da série temporal.

Estes passos estão incluídos nos pipelines de transformação do AutoML, pelo que são aplicados automaticamente quando necessário no momento da inferência. Em alguns casos, a operação inversa a um passo é incluída no pipeline de inferência. Por exemplo, se o AutoML tiver aplicado uma transformação $\log$ ao destino durante a preparação, as previsões não processadas serão exponenciadas no pipeline de inferência.

Formação

O TCNForecaster segue as melhores práticas de preparação de DNN comuns a outras aplicações em imagens e linguagem. O AutoML divide os dados de preparação pré-processados em exemplos que são aleatorizados e combinados em lotes. A rede processa os lotes sequencialmente, utilizando a propagação de costas e o gradiente descendente estocástico para otimizar os pesos de rede no que diz respeito a uma função de perda. A preparação pode exigir muitas passagens através dos dados de preparação completos; cada passagem é denominada época.

A tabela seguinte lista e descreve as definições de entrada e os parâmetros da preparação TCNForecaster:

Entrada de preparação Descrição Valor
Dados de validação Uma parte dos dados que são mantidos fora da preparação para orientar a otimização da rede e mitigar a sobreajuste. Fornecido pelo utilizador ou criado automaticamente a partir de dados de preparação, caso não sejam fornecidos.
Métrica primária Métrica calculada a partir de previsões de valor mediano nos dados de validação no final de cada época de preparação; utilizado para a paragem antecipada e seleção de modelos. Escolhido pelo utilizador; erro quadrática médio de raiz normalizada ou erro absoluto médio normalizado.
Épocas de preparação Número máximo de épocas a executar para otimização da ponderação de rede. 100; A lógica de paragem precoce automatizada pode terminar a preparação com um número menor de épocas.
Paciência de paragem precoce Número de épocas a aguardar pela melhoria das métricas primárias antes de a preparação ser interrompida. 20
Função Perda A função objetiva para a otimização da ponderação de rede. A perda de quantile foi média acima das previsões de percentil 10, 25, 50, 75 e 90.
Tamanho do lote Número de exemplos num lote. Cada exemplo tem dimensões $n_{\text{input}} \times t_{\text{rf}}$ para entrada e $h$ para a saída. Determinado automaticamente a partir do número total de exemplos nos dados de preparação; valor máximo de 1024.
Dimensões de incorporação Dimensões dos espaços de incorporação para funcionalidades categóricas. Definido automaticamente para a quarta raiz do número de valores distintos em cada funcionalidade, arredondado para o número inteiro mais próximo. Os limiares são aplicados com um valor mínimo de 3 e o valor máximo de 100.
Arquitetura de rede* Parâmetros que controlam o tamanho e a forma da rede: profundidade, número de células e número de canais. Determinado pela pesquisa de modelos.
Pesos de rede Parâmetros que controlam misturas de sinais, incorporações categóricas, pesos de kernel de convolução e mapeamentos para prever valores. Inicializado aleatoriamente e, em seguida, otimizado em relação à função de perda.
Taxa de aprendizagem* Controla a quantidade de pesos de rede que podem ser ajustadas em cada iteração de gradação descendente; dinamicamente reduzida perto da convergência. Determinado pela pesquisa de modelos.
Taxa de abandono* Controla o grau de regularização de abandono aplicado aos pesos de rede. Determinado pela pesquisa de modelos.

As entradas marcadas com um asterisco (*) são determinadas por uma pesquisa de hiperparâmetres descrita na secção seguinte.

O AutoML utiliza métodos de pesquisa de modelos para localizar valores para os seguintes hipermetrâmetres:

  • Profundidade da rede ou o número de blocos convolucionais,
  • Número de células por bloco,
  • Número de canais em cada camada oculta,
  • Taxa de abandono para regularização de rede,
  • Taxa de aprendizagem.

Os valores ideais para estes parâmetros podem variar significativamente consoante o cenário do problema e os dados de preparação, pelo que o AutoML prepara vários modelos diferentes no espaço de valores de hiperparâmetr e escolhe o melhor de acordo com a classificação de métrica primária nos dados de validação.

A pesquisa de modelos tem duas fases:

  1. O AutoML efetua uma pesquisa em 12 modelos de "marco". Os modelos de referência são estáticos e escolhidos para abranger razoavelmente o espaço de hipermetrização.
  2. O AutoML continua a procurar através do espaço de hipermetrização através de uma pesquisa aleatória.

A pesquisa termina quando os critérios de paragem são cumpridos. Os critérios de paragem dependem da configuração da tarefa de preparação de previsão, mas alguns exemplos incluem limites de tempo, limites do número de tentativas de pesquisa a executar e lógica de paragem precoce quando a métrica de validação não está a melhorar.

Passos seguintes