paint-brush
配送コスト予測における自己注意の力を明らかにする: 実験@convolution
118 測定値

配送コスト予測における自己注意の力を明らかにする: 実験

長すぎる; 読むには

新しい AI モデル (Rate Card Transformer) は、パッケージの詳細 (サイズ、運送業者など) を分析して、配送コストをより正確に予測します。
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、インド工科大学カラグプル校。アマゾンでのインターンシップ中に取り組んだ仕事 {[email protected]}

(4)アビシェーク・ペルサド、Amazon {[email protected]}。

リンク一覧

4. 実験

このセクションでは、2022 年に出荷されたパッケージのデータセットで RCT のパフォーマンスを示します。予測された配送コストと実際の配送コストの平均絶対誤差 (MAE) は、金銭的な絶対誤差を表すため、パフォーマンス メトリックとして選択されています。このホワイト ペーパーでは、MAE 値は 0 日目のヒューリスティック推定値の MAE によって正規化され、MAE パーセンテージ (MAE%) として表されます。このメトリックは、ヒューリスティック ベースラインに対して達成された改善を強調します。


4.1. 実験のセットアップ

4.1.1. アーキテクチャとハイパーメーター


埋め込み次元は 128 に設定され、6 つのトランスフォーマー エンコーダー レイヤーが使用されました。各レイヤーには 16 個のセルフアテンション ヘッドがあります。開始学習率が 0.0001、バッチ サイズが 2048 の Adam オプティマイザー (Kingma および Ba、2014) が使用されました。収束性を向上させるために、検証メトリックが安定するたびに学習率が 0.7 倍に削減されました。モデル コードは、PyTorch (Prokhorenkova 他、2018) および PyTorch Lightning (Falcon および PyTorch Lightning チーム、2019) フレームワークを使用して実装されました。


4.1.2. データの準備


2022 年の 45 日間に出荷されたパッケージから 1,000 万個のパッケージのトレーニング データセットがサンプリングされました。データは、カテゴリ特徴のラベル エンコードと数値特徴の標準化によって前処理されました。テスト データセットには、2022 年の重複しない別の週に出荷されたすべてのパッケージ (サンプリングなし) が含まれています。


4.1.3. ベンチマーク方法


RCT のパフォーマンスを、GBDT、AWS AutoGluon (Erickson et al., 2020)、フィードフォワードニューラルネットワーク、TabTransformer、FT-Transformer といった、複雑さのレベルが増すさまざまなモデルと比較します。GBDT モデルの場合、数値機能は標準化されておらず、ラベルエンコーディングではなくターゲットエンコーディング (Micci-Barreca、2001) を使用してカテゴリ機能をエンコードしました。AWS AutoGluon は、LightGBM (Ke et al., 2017) モデルのアンサンブルを学習するように構成されました。5 層からなるフィードフォワードニューラルネットワークが使用され、その入力は、ディメンション、ルート、およびサービス機能を埋め込み、連結することによって生成されました。TabTransformer と FT-Transformer の公開実装 [1] が使用され、すべてのハイパーパラメータが RCT と一致するようにしました。ベースラインはアイテムと料金のコレクションを処理しないため、ディメンション、ルート、およびサービス機能のみを使用しました。


表 1: (a) はさまざまなベンチマークに対する RCT のパフォーマンスを比較し、(b) は GBDT ベースラインと RCT 埋め込みでトレーニングされた GBDT のパフォーマンスを比較します。MAE% は式 4 に示すように計算されます。


表2: RCTとFT-TransformerのMAE%比較(自己注意モデルのSOTA)

4.2. ベースライン比較

表 1a は、セクション 4.1.3 で説明したベースライン モデルと RCT を比較したものです。表のモデルは、モデルの複雑さの昇順で並べられています。ツリー ベース モデル (GBDT と AutoGluon) はどちらも、同様のレベルでパフォーマンスを発揮しています。ディープラーニング モデルはツリー ベース モデルを一貫して上回っており、提案されたアーキテクチャが配送コストの予測に効果的であることを示しています。トランスフォーマー ベース モデルの MAE% スコアはフィードフォワード ニューラル ネットワークよりも低く、トランスフォーマーが効果的なインタラクションを学習することを示しています。RCT モデルは、TabTransformer と FT-Transformer (SOTA) の両方のトランスフォーマー モデルよりもパフォーマンスが優れており、レート カードの潜在構造をエンコードするカスタム アーキテクチャがパフォーマンスの向上に貢献していることを示唆しています。表 2 は、さまざまなモデル サイズでの FT-Transformer モデルと RCT モデルのパフォーマンスを比較しています。結果は、テストしたすべてのモデル サイズで RCT が FT-Transformer よりも優れていることを示し、レート カード構造をエンコードすると、さまざまなモデル容量にわたってパフォーマンス上の利点が得られることを示しています。

4.3. RCT は料金表の効果的な表現を学習しますか?

トランスフォーマーは、さまざまなタスクで強力な表現学習機能を備えていることが示されています。この実験では、RCT によって学習されたレート カード表現の有効性を調査します。これを評価するために、学習されたレート カード表現を入力機能として使用した場合と使用しない場合の GBT モデルのパフォーマンスを比較します。


図 2: 図 a はテスト MAE% とアテンション ヘッドの数をプロットします。図 b はテスト MAE% とトレーニングと評価の MAE% のギャップとトランスフォーマー レイヤーの数をプロットします。MAE% は式 4 に示すように計算されます。


最終的な Transformer レイヤーのプールされた出力は、レート カードの学習された表現として扱われます。この機能を追加すると、GBDT のパフォーマンスが 9.79% 向上しました (表 1b を参照)。さらに、手動で設計された機能をすべて削除した場合でも、GBDT のパフォーマンスは同等であり、MAE パーセンテージは 69.21% であることが確認されました。これは、レート カードの学習された表現は、より優れた機能情報をキャプチャするのに効果的であるだけでなく、パッケージ レート カードを十分に表現していることを示しています。ただし、この機能を使用しても、GBDT の MAE% は RCT よりも 13.5% 高くなります。これは、RCT がエンドツーエンドでトレーニングされているのに対し、GBDT は別のモデルの一部として学習された機能を使用しているためと考えられます。

4.4. 自己注意はフィードフォワードニューラルネットワークよりも優れた相互作用を学習しますか?

セクション 4.2 では、フィードフォワード (FF) ニューラル ネットワークがトランスフォーマーよりも優れていることが確認され、自己注意が優れたインタラクション学習者であるという仮説が導き出されました。このセクションでは、自己注意の代わりに FF を使用して寸法、ルート、およびサービス機能をエンコードし、自己注意の幅をアイテムと料金機能のみに制限することで、この仮説をさらに探求します。FF と自己注意の両方の出力エンコードが連結され、FF レイヤーに送られて配送コストを予測します。自己注意の幅が狭くなると、すべての料金表機能間のインタラクションをキャプチャできなくなります。結果として得られるモデルは、RCT の 55.72% と比較して 64.73% という高い MAE% を示します。これらの結果は、FF モデルがトランスフォーマーと比較して劣ったインタラクション学習者であることを示しています。

4.5. 自己注意の分析

3.2節では、自己注意による特徴集約におけるトランスフォーマーの能力について議論しました。この節では、アブレーション実験を行い、注意の深さと注意ヘッド数の影響を分析します。注意ヘッドの数を増やすと、モデルはより独立した特徴の相互作用を学習できます。この実験では、



図 3: 1 から生成されたヒートマップ。各列はヘッド内の各機能の相対的な重要度を示し、各列は異なるヘッドに対応しています。


モデル容量は 128 次元に固定されているため、ヘッドの数を増やすと、ヘッドごとに学習されるインタラクションの複雑さも減ります。したがって、最適なヘッド数を選択することは、独立したインタラクションの学習と、学習された各インタラクションの複雑さとの間のトレードオフです。このトレードオフは図 2a で確認できます。ここでは、各ヘッドによって学習される注意が十分に複雑であるため、パフォーマンスが 4 ヘッドから 16 ヘッドに向上しています。ただし、注意ヘッドが 16 から 32 に増加すると、ヘッドの複雑さが大幅に減少し、より多くの独立したインタラクションを学習する利点が打ち消されるため、パフォーマンスが低下します。


次に、トランスフォーマー エンコーダー レイヤーを追加することで注意の深さを増やす効果を示します。トランスフォーマー ネットワークが深くなるほど、より複雑な高次の相互作用を学習し、モデルのパフォーマンスが向上します (図 2b を参照)。ただし、レイヤー数を 6 から 12 に増やすと、学習可能なパラメーター数の増加によって生じるオーバーフィッティングにより、モデルのパフォーマンスが低下します。オーバーフィッティングの証拠は図 2b に示されています。ここでは、6 レイヤーから 12 レイヤーに移行すると、トレーニング MAE と検証 MAE のギャップが 30% 増加します。


図4: データによるRCTのスケーリング


最後に、図 3 に、アルゴリズム 1 を使用して生成されたヒート マップを示します。これらのヒート マップは、最も注目された上位 5 つの特徴の一部として各特徴が注目された回数を示しています。各列はヘッドに対応し、各行は特徴に対応します。左側のヒート マップは、nheads = 16 で RCT を使用して生成されたもので、右側のヒート マップは nheads = 4 で生成されたものです。両方のヒート マップを比較すると、図 3a では列あたりのアクティブな特徴の相互作用の数が少ないことがわかります。これは、注目ヘッドの数が多いほど、各ヘッドが特徴間の独立した相互作用を学習するという仮説を裏付けています。

4.6. Transformer はデータの増加に応じてどのように拡張されますか?

実験コストを最小限に抑えるために、この論文のすべての実験は 1,000 万サイズのトレーニング データセットを使用して実施されました。ただし、最高のパフォーマンスを発揮するモデルを使用することが重要であり、トレーニング データセットのサイズを増やすことで最適なパフォーマンスを実現できます。


データによる RCT のスケーラビリティを検証するために、さまざまなトレーニング データセット サイズでモデルをトレーニングし、その結果を図 4 にプロットしました。結果は、データセットが大きいほど RCT のパフォーマンスが向上し続けることを示しています。したがって、より大きなデータセットでトレーニングされたモデルは、この論文で検討したモデルよりも優れたパフォーマンスを発揮すると確信できます。


この論文は、CC BY-NC-ND 4.0 DEED ライセンスの下でarxiv で公開されています


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