paint-brush
배송비 예측을 위한 자기주의의 힘 공개: 실험~에 의해@convolution

배송비 예측을 위한 자기주의의 힘 공개: 실험

너무 오래; 읽다

새로운 AI 모델(요율표 변환기)은 패키지 세부 정보(크기, 운송업체 등)를 분석하여 배송비를 보다 정확하게 예측합니다.
featured image - 배송비 예측을 위한 자기주의의 힘 공개: 실험
Convolution: Leading Authority on Signal Processing HackerNoon profile picture
0-item

저자:

(1) P Aditya Sreekar, Amazon 및 이들 저자는 이 작업에 동등하게 기여했습니다 {[email protected]}.

(2) Sahil Verm, Amazon 및 이들 저자는 이 작업에 동등하게 기여했습니다. {[email protected];}

(3) Varun Madhavan, 인도 공과대학, Kharagpur. Amazon {[email protected]}에서 인턴십 중에 수행한 작업

(4) Abhishek Persad, Amazon {[email protected]}.

링크 표

4. 실험

이 섹션에서는 2022년에 배송된 패키지 데이터 세트에 대한 RCT의 성능을 보여줍니다. 예상 배송비와 실제 배송비 사이의 평균 절대 오류(MAE)가 성능 지표로 선택됩니다. 금전적 조건. 본 논문에서 MAE 값은 MAE 백분율(MAE%)로 표현되는 0일차 경험적 추정의 MAE에 의해 정규화됩니다. 이 측정항목은 경험적 기준에 비해 달성된 개선을 강조합니다.


4.1. 실험 설정

4.1.1. 아키텍처 및 하이퍼미터


임베딩 차원은 128로 설정되었으며 각 레이어에는 16개의 self-attention 헤드가 있는 6개의 변환기 인코더 레이어가 사용되었습니다. 시작 학습률이 0.0001이고 배치 크기가 2048인 Adam 최적화 프로그램(Kingma and Ba, 2014)이 사용되었습니다. 수렴을 개선하기 위해 검증 지표가 안정될 때마다 학습률이 0.7배씩 감소했습니다. 모델 코드는 PyTorch(Prokhorenkova et al., 2018) 및 PyTorch Lightning(Falcon 및 The PyTorch Lightning 팀, 2019) 프레임워크를 사용하여 구현되었습니다.


4.1.2. 데이터 준비


2022년 45일 동안 배송된 패키지에서 1,000만 개의 패키지로 구성된 학습 데이터 세트가 샘플링되었습니다. 데이터는 범주형 기능을 라벨 인코딩하고 수치 기능을 표준화하여 전처리되었습니다. 테스트 데이터 세트에는 2022년부터 겹치지 않는 별도의 주 동안 배송된 모든 패키지(샘플링 제외)가 포함되어 있습니다.


4.1.3. 벤치마크 방법


GBDT, AWS AutoGluon(Erickson et al., 2020), Feedforward 신경망, TabTransformer 및 FT-Transformer와 같이 복잡성 수준이 증가하는 다양한 모델에 대해 RCT의 성능을 비교합니다. GBDT 모델의 경우 수치 특성이 표준화되지 않았으며, 레이블 인코딩 대신 대상 인코딩(Micci-Barreca, 2001)을 사용하여 범주형 특성을 인코딩했습니다. AWS AutoGluon은 LightGBM(Ke et al., 2017) 모델의 앙상블을 학습하도록 구성되었습니다. 5개의 레이어를 포함하는 피드포워드 신경망이 사용되었으며, 입력은 차원, 경로 및 서비스 기능을 삽입하고 연결하여 생성되었습니다. TabTransformer 및 FT-Transformer의 공개적으로 사용 가능한 구현[1]이 사용되었으며 모든 하이퍼 매개변수는 RCT와 일치하도록 만들어졌습니다. 기준선에서는 항목 및 요금 수집을 처리하지 않으므로 차원, 경로 및 서비스 기능만 사용했습니다.


표 1: (a) 다양한 벤치마크에 대해 RCT의 성능을 비교하고, (b) RCT 임베딩으로 훈련된 GBDT와 GBDT 기준의 성능을 비교합니다. MAE%는 수학식 4와 같이 계산됩니다.


표 2: RCT와 FT-Transformer 간의 MAE% 비교(Self-Attention 모델의 경우 SOTA)

4.2. 기준선 비교

표 1a는 RCT를 섹션 4.1.3에서 논의된 기본 모델과 비교합니다. 표의 모델은 모델 복잡성이 증가하는 순서로 구성되어 있습니다. 트리 기반 모델인 GBDT와 AutoGluon은 모두 비슷한 수준에서 성능을 발휘합니다. 딥러닝 모델은 지속적으로 트리 기반 모델보다 성능이 뛰어나며, 이는 제안된 아키텍처가 배송비 예측에 효율적임을 나타냅니다. 변환기 기반 모델은 피드포워드 신경망보다 MAE% 점수가 낮으며 이는 변환기가 효과적인 상호 작용을 학습한다는 것을 보여줍니다. RCT 모델은 두 가지 변환기 모델(TabTransformer 및 FT-Transformer(SOTA))보다 성능이 뛰어납니다. 이는 요율표의 잠재 구조를 인코딩하는 맞춤형 아키텍처가 성능 향상에 기여하고 있음을 시사합니다. 표 2는 다양한 모델 크기에서 FT-Transformer와 RCT 모델의 성능을 비교합니다. 결과는 RCT가 테스트된 모든 모델 크기에서 FT-Transformer보다 성능이 뛰어나다는 것을 보여 주며, 인코딩 요율표 구조가 다양한 모델 용량에 걸쳐 성능 이점을 제공한다는 것을 나타냅니다.

4.3. RCT는 요율표의 효과적인 표현을 학습합니까?

Transformers는 다양한 작업에서 강력한 표현 학습 기능을 갖는 것으로 나타났습니다. 본 실험에서는 RCT를 통해 학습된 요율표 표현의 효율성을 조사합니다. 이를 평가하기 위해 학습된 요율표 표현을 입력 기능으로 사용하거나 사용하지 않고 GBT 모델의 성능을 비교합니다.


그림 2: 그림 A는 MAE%와 관심 헤드 수를 테스트합니다. 그림 b는 테스트 MAE% 및 train-val MAE% 갭과 변압기 레이어 수를 플롯합니다. MAE%는 수학식 4와 같이 계산됩니다.


최종 변환기 계층의 풀링된 출력은 요율표의 학습된 표현으로 처리됩니다. 이 기능을 추가하면 GBDT 성능이 9.79% 향상되었습니다(표 1b 참조). 또한 수동으로 엔지니어링된 모든 기능을 삭제하더라도 GBDT는 69.21%의 MAE 비율로 여전히 비슷한 성능을 발휘하는 것으로 관찰되었습니다. 이는 학습된 요율표 표현이 더 나은 기능 정보를 캡처하는 데 효과적일 뿐만 아니라 패키지 요율표를 충분히 표현한다는 것을 나타냅니다. 그러나 이 기능에도 불구하고 GBDT는 RCT보다 MAE%가 13.5% 더 높습니다. 이는 RCT가 엔드 투 엔드로 훈련되는 반면 GBDT는 별도 모델의 일부로 학습된 기능을 사용하기 때문일 수 있습니다.

4.4. Self Attention은 피드 포워드 신경망보다 더 나은 상호 작용을 학습합니까?

섹션 4.2에서는 FF(피드 포워드) 신경망이 변환기보다 성능이 뛰어난 것으로 관찰되어 self-attention이 우수한 상호 작용 학습기라는 가설로 이어졌습니다. 이 섹션에서는 self-attention 대신 FF를 활용하여 차원, 경로 및 서비스 기능을 인코딩하고 self-attention의 폭을 항목 및 요금 기능으로만 제한함으로써 이 가설을 더 탐구하는 것을 목표로 합니다. FF와 self-attention의 출력 인코딩은 연결되어 FF 레이어에 공급되어 배송 비용을 예측합니다. self-attention 폭이 감소함에 따라 모든 요율표 기능 간의 상호 작용을 포착하지 못합니다. 결과 모델은 RCT의 55.72%에 비해 더 높은 64.73%의 MAE%를 나타냅니다. 이러한 결과는 FF 모델이 변환기에 비해 열등한 상호 작용 학습자임을 시사합니다.

4.5. Self-Attention 분석

섹션 3.2에서는 self-attention으로 인해 기능 집계에서 변환기의 숙련도에 대해 논의했습니다. 본 절에서는 주의깊이와 주의인원수의 영향을 분석하기 위해 절제실험을 실시한다. 주의 헤드 수를 늘리면 모델이 더 독립적인 기능 상호 작용을 학습할 수 있습니다. 이 실험의 경우,



그림 3: 1에서 생성된 히트맵. 각 열은 헤드의 각 기능의 상대적 중요성을 보여주며, 각 열은 다른 헤드에 해당합니다.


모델 용량은 128차원으로 고정되어 있으므로 헤드 수를 늘리면 헤드당 학습된 상호 작용의 복잡성도 줄어듭니다. 따라서 최적의 인원 수를 선택하는 것은 독립적인 상호 작용 학습과 학습된 각 상호 작용의 복잡성 사이의 균형입니다. 각 헤드가 학습한 주의력이 충분히 복잡하기 때문에 성능이 4개 헤드에서 16개 헤드로 향상되는 그림 2a에서 트레이드오프를 볼 수 있습니다. 그러나 주의 머리가 16개에서 32개로 증가하면 머리의 복잡성이 크게 감소하여 더 독립적인 상호 작용을 학습하는 이점이 무효화되므로 성능이 저하됩니다.


다음으로, 변환기 인코더 레이어를 추가하여 주의 깊이를 높이는 효과를 설명합니다. 더 깊은 변압기 네트워크는 더 복잡한 고차 상호 작용을 학습하여 그림 2b에서 볼 수 있듯이 모델의 성능을 향상시킵니다. 그러나 레이어 수를 6개에서 12개로 늘리면 학습 가능한 매개변수 수가 증가하여 발생하는 과적합으로 인해 모델 성능이 저하됩니다. 과적합에 대한 증거는 그림 2b에서 찾을 수 있으며, 여기서 열차와 Val MAE 사이의 간격은 6층에서 12층으로 이동할 때 30% 증가합니다.


그림 4: 데이터를 사용한 RCT 확장


마지막으로 그림 3에는 알고리즘 1을 사용하여 생성된 히트 맵이 표시됩니다. 이 히트 맵은 가장 많이 사용된 상위 5개 기능의 일부로 각 기능에 사용된 횟수를 보여줍니다. 각 열은 헤드에 해당하고 각 행은 기능에 해당합니다. 왼쪽의 히트 맵은 nheads = 16인 RCT를 사용하여 생성되었으며 오른쪽의 히트 맵은 nheads = 4로 생성되었습니다. 두 히트 맵을 비교하면 그림 3a의 활성 기능 상호 작용 수가 적다는 것을 알 수 있습니다. 컬럼을 통해 더 많은 수의 Attention Head가 각 헤드가 기능 간의 독립적인 상호 작용을 학습하게 된다는 가설을 확인했습니다.

4.6. Transformer는 더 많은 데이터로 어떻게 확장되나요?

실험 비용을 최소화하기 위해 본 논문의 모든 실험은 1,000만 개의 훈련 데이터 세트를 사용하여 수행되었습니다. 그러나 최고의 성능을 발휘하는 모델을 사용하는 것이 중요하며 최적의 성능을 달성하기 위해 훈련 데이터 세트 크기를 늘릴 수 있습니다.


데이터를 사용하여 RCT의 확장성을 검증하기 위해 다양한 훈련 데이터 세트 크기로 모델을 훈련하고 결과를 그림 4에 표시했습니다. 결과는 RCT의 성능이 더 큰 데이터 세트에서 지속적으로 향상된다는 것을 보여줍니다. 따라서 우리는 더 큰 데이터 세트에서 훈련된 모델이 이 문서에서 탐색한 모델보다 성능이 뛰어날 것이라고 확신할 수 있습니다.


이 문서는 CC BY-NC-ND 4.0 DEED 라이센스에 따라 arxiv에서 볼 수 있습니다.


[1] https://github.com/lucidrains/tab-transformer-pytorc