Autores:
(1) P Aditya Sreekar, Amazon e estes autores contribuíram igualmente para este trabalho {[email protected]};
(2) Sahil Verm, Amazon e estes autores contribuíram igualmente para este trabalho {[email protected];}
(3) Varun Madhavan, Instituto Indiano de Tecnologia, Kharagpur. Trabalho realizado durante estágio na Amazon {[email protected]};
(4) Abhishek Persad, Amazon {[email protected]}.
Nesta seção, o desempenho do RCT é demonstrado em um conjunto de dados de pacotes enviados em 2022. O erro absoluto médio (MAE) entre o custo de envio previsto e o real é selecionado como a métrica de desempenho, pois é representativo do erro absoluto em termos monetários. Neste artigo, os valores do MAE são normalizados pela estimativa heurística do MAE do dia 0, que é expressa como porcentagem do MAE (MAE%). Esta métrica enfatiza a melhoria alcançada em relação à linha de base heurística.
4.1.1. Arquitetura e Hiperâmetros
A dimensão de incorporação foi definida como 128 e foram utilizadas 6 camadas codificadoras do transformador, cada uma com 16 cabeças de autoatenção. Foi utilizado o otimizador Adam (Kingma e Ba, 2014) com taxa de aprendizado inicial de 0,0001 e tamanho de lote de 2.048. Para melhorar a convergência, a taxa de aprendizagem foi reduzida por um fator de 0,7 sempre que a métrica de validação estabilizou. O código do modelo foi implementado usando as estruturas PyTorch (Prokhorenkova et al., 2018) e PyTorch Lightning (Falcon e The PyTorch Lightning team, 2019).
4.1.2. Preparação de dados
Um conjunto de dados de treinamento de pacotes de 10 milhões foi amostrado de pacotes enviados durante um período de 45 dias em 2022. Os dados foram pré-processados por codificação de rótulos de características categóricas e padronização de características numéricas. O conjunto de dados de teste contém todos os pacotes (sem amostragem) que foram enviados durante uma semana separada e não sobreposta de 2022.
4.1.3. Métodos de referência
Comparamos o desempenho do RCT com vários modelos com nível crescente de complexidade: GBDT, AWS AutoGluon (Erickson et al., 2020), rede neural Feedforward, TabTransformer e FT-Transformer. Para o modelo GBDT, os recursos numéricos não foram padronizados e a codificação de destino (Micci-Barreca, 2001) foi usada para codificar recursos categóricos em vez da codificação de rótulo. AWS AutoGluon foi configurado para aprender um conjunto de modelos LightGBM (Ke et al., 2017). Foi utilizada uma rede neural feedforward contendo 5 camadas, cuja entrada foi gerada pela incorporação e concatenação de características de dimensão, rota e serviço. Implementações publicamente disponíveis [1] de TabTransformer e FT-Transformer foram usadas, e todos os hiperparâmetros foram tornados consistentes com o RCT. Como as linhas de base não tratam de cobranças de itens e cobranças, utilizamos apenas características de dimensão, rota e serviço.
A Tabela 1a compara o ECR com os modelos de base discutidos na seção 4.1.3. Os modelos na tabela estão organizados em ordem crescente de complexidade do modelo. Ambos os modelos baseados em árvore, GBDT e AutoGluon, apresentam desempenho em nível semelhante. Os modelos de aprendizagem profunda superam consistentemente os modelos baseados em árvore, indicando que a arquitetura proposta é eficiente para a previsão de custos de envio. Os modelos baseados em transformadores têm pontuações MAE% mais baixas do que a rede neural feedforward, mostrando que os transformadores aprendem a interação eficaz. O modelo RCT supera ambos os modelos de transformador - TabTransformer e FT-Transformer (SOTA), sugerindo que uma arquitetura personalizada que codifica a estrutura latente da tabela de preços está contribuindo para o desempenho aprimorado. A Tabela 2 compara o desempenho dos modelos FT-Transformer e RCT em diferentes tamanhos de modelo. Os resultados mostram que o RCT supera o FT-Transformer em todos os tamanhos de modelo testados, mostrando que a estrutura da tabela de preços de codificação oferece benefícios de desempenho em diversas capacidades do modelo.
Foi demonstrado que os transformadores têm fortes capacidades de aprendizagem de representação em uma variedade de tarefas. Neste experimento, investigamos a eficácia da representação da tabela de preços aprendida pelo RCT. Para avaliar isso, comparamos o desempenho do nosso modelo GBT com e sem a representação da tabela de preços aprendida como recurso de entrada.
A saída agrupada da camada final do Transformer é tratada como a representação aprendida da tabela de preços. A adição deste recurso melhorou o desempenho do GBDT em 9,79% (consulte a Tabela 1b). Além disso, foi observado que mesmo quando todos os recursos projetados manualmente são eliminados, o GBDT ainda apresenta desempenho comparável, com uma porcentagem de MAE de 69,21%. Isto indica que as representações aprendidas das tabelas de preços não são apenas eficazes na captura de melhores informações sobre recursos, mas também são uma representação suficiente da tabela de preços do pacote. Porém, mesmo com esta característica, o GBDT apresenta um MAE% 13,5% maior que o RCT. Isto provavelmente ocorre porque o RCT é treinado de ponta a ponta, enquanto o GBDT usa recursos aprendidos como parte de um modelo separado.
Na seção 4.2, observou-se que as redes neurais feed forward (FF) foram superadas pelos transformadores, levando à hipótese de que a autoatenção é um aprendiz de interação superior. Esta seção visa explorar ainda mais essa hipótese, utilizando FF em vez de autoatenção para codificar características de dimensão, rota e serviço, limitando a amplitude da autoatenção apenas aos recursos de item e cobrança. As codificações de saída de FF e de autoatenção são concatenadas e alimentadas em uma camada FF para prever o custo de envio. À medida que a largura da autoatenção diminui, ela não consegue capturar as interações entre todos os recursos da tabela de preços. O modelo resultante apresenta um MAE% maior de 64,73% em comparação com 55,72% do ECR. Estes resultados sugerem que os modelos FF são aprendizes de interação inferiores em comparação aos transformadores.
Na seção 3.2, discutimos a proficiência dos transformadores na agregação de recursos, devido à autoatenção. Nesta seção, experimentos de ablação são conduzidos para analisar o efeito da profundidade da atenção e da contagem de atenção. Aumentar o número de cabeças de atenção permite que o modelo aprenda interações de recursos mais independentes. Para este experimento, o
a capacidade do modelo é fixada em 128 dimensões, portanto, um aumento no número de cabeças também reduz a complexidade das interações aprendidas por cabeça. Assim, escolher o número ideal de funcionários é uma troca entre o aprendizado de interações independentes e a complexidade de cada interação aprendida. A compensação pode ser observada na Figura 2a, onde o desempenho melhora de 4 cabeças para 16 cabeças porque a atenção aprendida por cada cabeça é suficientemente complexa. No entanto, o desempenho degrada quando as cabeças de atenção aumentam de 16 para 32 porque a complexidade das cabeças reduziu substancialmente, anulando o benefício de aprender interações mais independentes.
A seguir, ilustramos o efeito de aumentar a profundidade da atenção adicionando camadas codificadoras do transformador. Redes de transformadores mais profundas aprendem interações mais complexas de ordem superior, melhorando assim o desempenho do modelo, como observado na Fig. No entanto, aumentar o número de camadas de 6 para 12 reduz o desempenho do modelo devido ao overfitting, causado pelo aumento na contagem de parâmetros que podem ser aprendidos. A evidência de overfitting pode ser encontrada na Fig. 2b, onde a lacuna entre train e val MAE aumenta em 30% ao passar de 6 para 12 camadas.
Finalmente, na Figura 3, exibimos os mapas de calor gerados usando o Algoritmo 1. Esses mapas de calor ilustram o número de vezes que cada recurso foi atendido como parte dos cinco recursos mais atendidos. Cada coluna corresponde a um cabeçalho e cada linha corresponde a um recurso. O mapa de calor à esquerda foi gerado usando RCT com nheads = 16, e o da direita foi gerado com nheads = 4. Comparando ambos os mapas de calor, pode-se observar que a Fig. coluna, confirmando nossa hipótese de que um número maior de cabeças de atenção faz com que cada cabeça aprenda interações independentes entre recursos.
Para minimizar os custos de experimentação, todos os experimentos neste artigo foram conduzidos usando um conjunto de dados de treinamento de tamanho 10 milhões. No entanto, é importante usar o modelo de melhor desempenho, o tamanho do conjunto de dados de treinamento pode ser aumentado para atingir o desempenho ideal.
Para verificar a escalabilidade do RCT com dados, treinamos o modelo em diferentes tamanhos de conjuntos de dados de treinamento e plotamos os resultados na Figura 4. Os resultados demonstram que o desempenho do RCT continua a melhorar com conjuntos de dados maiores. Portanto, podemos esperar com segurança que os modelos treinados em conjuntos de dados maiores superarão o desempenho do modelo explorado neste artigo.
Este artigo está disponível no arxiv sob licença CC BY-NC-ND 4.0 DEED.
[1] https://github.com/lucidrains/tab-transformer-pytorc