Upgrade to Pro — share decks privately, control downloads, hide ads and more …

猫でもわかるTabNet

1283cb5a2c4dffa362a16e3009eba1b5?s=47 poya
September 26, 2021

 猫でもわかるTabNet

1283cb5a2c4dffa362a16e3009eba1b5?s=128

poya

September 26, 2021
Tweet

Transcript

  1. 猫でもわかるTabNet 2021-07-26 poya

  2. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning poya(ぽや) 所属 新卒よわよわデータサイエンティスト 経歴 数学科→情報系院 趣味 麻雀(天鳳), お絵かき, 猫, ネコぱら (アイコンはネコぱらのバニラちゃん) 本発表では、猫でもわかるようにTabNetの論文解説をします。 決定木系モデル(ランダムフォレストやLGBMなど)と前回のLT会の内容 (Seq2Seq, Attentionなど)を理解している猫が望ましい
  3. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 目次 導入 TabNetはテーブルデータ向けのすごいDNNモデル。 TabNetのしくみ 決定木系のしくみも取り入れつつさらに改良した。 実装方法 pytorch-tabnetというライブラリを使えば簡単に使える。 精度 いくつかのテーブルデータで他のモデルより高い精度を出した。 ̍   
  4. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 目次 導入 TabNetはテーブルデータ向けのすごいDNNモデル。 TabNetのしくみ 決定木系のしくみも取り入れつつさらに改良した。 実装方法 pytorch-tabnetというライブラリを使えば簡単に使える。 精度 いくつかのテーブルデータで他のモデルより高い精度を出した。 ̍   
  5. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning TabNetとは テーブルデータ向けのすごいDNNモデル 2019年に公開、Google CloudAIの研究チームによって開発された テーブルデータに対する精度が高い場合が多い 解釈性もある データをほぼ前処理なしで入れられ、特徴設計の負担が軽減 kaggleなどデーブルデータコンペで最近では当たり前のように使われている。
  6. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 背景 ランダムフォレスト、LGBM、XGBoostなど テーブルデータに対して ※私が知らないだけで解釈性のあるDNNモデルは あるかもしれません 一般的なDNNモデル △ × ※ △ 決定木系モデル ◯ ◯ ◯ 精度 解釈性 学習時間 今まではテーブルデータには主に決定木系のモデルしか使われてなかった。 → 学習データ量が多い場合の精度向上 + end-to-end性のために、 テーブルデータ向けのDNNモデルを作りたい
  7. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 背景 ランダムフォレスト、LGBM、XGBoostなど テーブルデータに対して ◦ ※私が知らないだけで解釈性のあるDNNモデルは あるかもしれません 学習データの量が多い 場合やデータの種類に よって決定木系モデル より精度期待できる 一般的なDNNモデル △ × ※ △ 決定木系モデル ◯ ◯ ◯ 精度 解釈性 学習時間 TabNet ◯ ◯ △ △ end-to-end 今まではテーブルデータには主に決定木系のモデルしか使われてなかった。 → 学習データ量が多い場合の精度向上 + end-to-end性のために、 テーブルデータ向けのDNNモデルを作りたい
  8. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning end-to-endとは ドメイン知識や専門性を活かして特徴量を設計する手法 特徴設計 デコード 中間表現 猫 or not 猫 or not end-to-endでない方法 end-to-end end-to-endモデル モデルにできるだけ生に近いデータを与えて、その関係性を見つけるのも1つのモデルで行う手法 画像認識、音声認識、機械翻訳などでよく用いられている 何段階もある場合も 特徴設計の必要性が減る 画像とテーブルデータが一体になったような複合データも処理できる ストリーミングデータの学習 表現学習(有用な特徴をデータから学習することを目的とした手法)によるさまざまな応用 end-to-endにより...
  9. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 目次 導入 TabNetはテーブルデータ向けのすごいDNNモデル。 TabNetのしくみ 決定木系のしくみも取り入れつつさらに改良した。 実装方法 pytorch-tabnetというライブラリを使えば簡単に使える。 精度 いくつかのテーブルデータで他のモデルより高い精度を出した。 ̍   
  10. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning TabNetのイメージ 入力された特徴量のうち関連した特徴量を取り出す(疎な特徴選択)ことを 数回行い、予測に用いる 職に関すること 資産に関すること 例 人のデータから年収が50k$より多いか判断する問題
  11. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning TabNetの工夫点 教師なしの事前学習を用いることで特徴量同士の関係を調べる (テーブルデータに対して初めて実現) 多段階のステップからなり、各ステップが予測に寄与 多段階ステップ+高次元化により、アンサンブルのような構造を実現 特徴量の非線形処理 instance-wiseで疎な特徴選択 (instance-wise : 入力データごとに用いる特徴量の組や度合いを適切に変える) どんな工夫によってそんなすごいモデルが実現できたのか? 工夫① 工夫② 工夫③ 工夫④
  12. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning fine tuningのイメージ ファインチューニングあり 犬の画像 データ 猫の画像 データ ファインチューニングなし 猫種判別 モデル 犬種判別 モデル 猫の画像 データ 猫種判別 モデル 情報 的なもの 猫の画像データは大量にあるが犬のデータは 少ない。→ 犬種の判別精度が低くなりがち。 猫の種類判別で得られた情報を⽝の種類判別 モデルに適応させることで、判別精度の向上を図る 犬の画像 データ 犬種判別 モデル 画像や自然言語、音声の分野でよく用いられている。
  13. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning fine tuningの流れ ①事前学習 ②ファインチューニング 目的のデータで学習済みのネットワークの 重みを初期値としてモデルの重みを再学習 入力 出力 ... ... ... ... 入力 ... ... ... ... ... ... 大量のデータ(前ページの例だと猫の画像 データ)でネットワークの重みを学習 ... ... 学習済みモデル 新しいモデル、層 ※学習済みのネットワークの重みを固定して用いるのが転移学習[8] 出力 ... ... 画像や自然言語、音声の分野でよく用いられている。 ...
  14. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning TabNetの概要図 この例は人の特徴 から収入が50k$より 多いか少ないか判断 するタスク ①事前学習 ②ファインチューニング TabNet encoder TabNet decoder 表は[1]より引用 データの一部を 隠す(マスクする) マスクされた 特徴を予測 TabNet encoder decision making ファインチューニングは画像や自然言語、音声の分野でよく用いられているが、 TabNetはこれをテーブルデータに適用 工夫①
  15. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning この例は人の特徴 から収入が50k$より 多いか少ないか判断 するタスク TabNet encoder TabNet decoder 表は[1]より引用 TabNet encoder decision making ファインチューニングは画像や自然言語、音声の分野でよく用いられているが、 TabNetはこれをテーブルデータに適用 ②ファインチューニング ①事前学習 TabNetの概要図
  16. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning TabNet encoder features Feature transformer Split Attentive transformer Mask ReLU Mask ReLU Split Split Feature transformer Attentive transformer Feature transformer + ... ... Output
  17. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning features Feature transformer Split Attentive transformer Mask ReLU Mask ReLU Split Split Feature transformer Attentive transformer Feature transformer + ... ... Output Step1 Step2 Step3 ... 多段階のステップで構成される TabNet encoder 工夫②
  18. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning features Feature transformer Split Attentive transformer Mask ReLU Mask ReLU Split Split Feature transformer Attentive transformer Feature transformer + ... ... Output Step1 Step2 Step3 ... どの特徴量をどのくらい使うのか決める (instance-wise, 疎な特徴選択) 特徴量の非線形処理 TabNet encoder 工夫③ 工夫④
  19. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning TabNet encoderの簡単ver 決定木でやると... a x1 x2 犬 猫 うさぎ 鳥 d 特徴量:x1, x2 犬・猫・うさぎ・鳥に分類する問題 x1 > a か? Yes No x2 > d か? x2 > d か? Yes No Yes No 猫 鳥 犬 うさぎ 0
  20. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning encoderでやると... a x1 x2 犬 猫 うさぎ 鳥 d 特徴量:x1, x2 犬・猫・うさぎ・鳥に分類する問題 0 W : [C1, -C1, 0, 0] b : [-aC1, aC1, -1, -1] ReLU FC ReLU + Mask Mask [x1,x2] FC ⵙ[1,0] ⵙ[0,1] W :[0, 0, -C2, C2] b : [-1,-1,-dC2, dC2] TabNet encoderの簡単ver ※ C1, C2 > 0
  21. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning W : [C1, -C1, 0, 0] b : [-aC1, aC1, -1, -1] ReLU FC ReLU + Mask ⵙ[1,0] Mask ⵙ[0,1] [x1,x2] FC W :[0, 0, -C2, C2] b : [-1,-1,-dC2, dC2] 0 x y y=x ReLU x1 ≥ a のとき [正, 0, 0, 0] x1 < a のとき [0, 正, 0, 0] [C1x1-C1a, -C1x1+C1a, -1,-1] ② ① ① ※ C1, C2 > 0 TabNet encoderの簡単ver
  22. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning W : [C1, -C1, 0, 0] b : [-aC1, aC1, -1, -1] ReLU FC ReLU + Mask ⵙ[1,0] Mask ⵙ[0,1] [x1,x2] FC W :[0, 0, -C2, C2] b : [-1,-1,-dC2, dC2] ③ a x1 x2 d 0 [正, 0, 正, 0] [0, 正, 正, 0] [0, 正, 0, 正] [正, 0, 0, 正] ③ !④の結果、[正, 0, 正, 0]なら猫, [0, 正, 正, 0]なら鳥、...とすればよい x1 ≥ a のとき [正, 0, 0, 0] x1 < a のとき [0, 正, 0, 0] ② TabNet encoderの簡単ver
  23. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning features Feature transformer Split Attentive transformer Mask ReLU Mask ReLU Split Split Feature transformer Attentive transformer Feature transformer + ... ... Output Step1 Step2 Step3 ... どの特徴量をどのくらい使うのか決める (instance-wise, 疎な特徴選択) 特徴量の非線形処理 TabNet encoder 工夫③ 工夫④
  24. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning Attentive transformer Sparsemax FC BN ⵙ Sparsemax関数 2次元の場合 softmaxでは小さい値(>0)になるが、 sparsemaxでは0になり、 重要な特徴だけを選ぶ疎な特徴選択を実現 Prior scales
  25. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning features Feature transformer Split Attentive transformer Mask ReLU Mask ReLU Split Split Feature transformer Attentive transformer Feature transformer + ... ... Output Step1 Step2 Step3 ... どの特徴量をどのくらい使うのか決める (instance-wise, 疎な特徴選択) 特徴量の非線形処理 TabNet encoder 工夫③ 工夫④
  26. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning Feature transformer FC BN GLU + + + √ 0.5 √ 0.5 √ 0.5 FC BN GLU FC BN GLU FC BN GLU 非線形処理により表現力を高める ゲーティングにより勾配消失問題を解消 GLU ⼊⼒Xに対し、Xⵙσ(X)を出⼒
  27. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning decoder
  28. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 目次 導入 TabNetはテーブルデータ向けのすごいDNNモデル。 TabNetのしくみ 決定木系のしくみも取り入れつつさらに改良した。 実装方法 pytorch-tabnetというライブラリを使えば簡単に使える。 精度 いくつかのテーブルデータで他のモデルより高い精度を出した。 ̍   
  29. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 2通りの実装方法が公開されている。 ✔ googleによる公式実装 https://github.com/google-research/google-research/tree/master/tabnet ✔ pytorch_tabnet(非公式) https://github.com/dreamquark-ai/tabnet pytorch_tabnetによる実装方法
  30. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 2通りの実装方法が公開されている。 fitとpredictで簡単に使えるので、こちらを解説します ✔ googleによる公式実装 https://github.com/google-research/google-research/tree/master/tabnet ✔ pytorch_tabnet(非公式) https://github.com/dreamquark-ai/tabnet pytorch_tabnetによる実装方法
  31. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning Step3 事前学習 Step4 ファインチューニング Step1 install, import Step2 データの用意 pytorch_tabnetによる実装方法 encoder decoder decision making encoder ②ファインチューニング ①事前学習
  32. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning pytorch_tabnetによる実装方法 Step3 事前学習 Step4 ファインチューニング Step1 install, import Step2 データの用意 TabNetのinstall PyTorchとTabNetのimport その他必要に応じて
  33. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning Step3 事前学習 Step4 ファインチューニング Step1 install, import Step2 データの用意 前処理 欠損値:補完必要 カテゴリ変数:ラベルエンコーディング必要 pytorch_tabnetによる実装方法
  34. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning Step3 事前学習 Step4 ファインチューニング Step1 install, import Step2 データの用意 TabNetPretrainerでインスタンス作成 → fit [13]より引用 pytorch_tabnetによる実装方法
  35. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning Step3 事前学習 Step4 ファインチューニング Step1 install, import Step2 データの用意 分類ならTabNetClassifier、 回帰ならTabNetClassifierでインスタンス作成 → fit (from_unsupervised=pretrainerと指定) → predict 〜省略〜 [13]より引用 pytorch_tabnetによる実装方法
  36. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning Local interpretability Mask 2種類の解釈性の出力方法 Global interpretability Feature Importance 最終的にどの特徴量がどのくらい予測に使われたか 各Stepでどの特徴量がどのくらい予測に使われたか、 特徴量同士で関係のあるものはどれか 5 2 0 1 3 6 4
  37. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 目次 導入 TabNetはテーブルデータ向けのすごいDNNモデル。 TabNetのしくみ 決定木系のしくみも取り入れつつさらに改良した。 実装方法 pytorch-tabnetというライブラリを使えば簡単に使える。 精度 いくつかのテーブルデータで他のモデルより高い精度を出した。 ̍   
  38. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 精度 [1]より引用 Performance for Forest Cover Type dataset Performance for Rossmann Store Sales dataset Model Test accuracy(%) XGBoost LightGBM CatBoost AutoML Tables TabNet 89.34 89.28 85.14 94.95 96.99 Model Test MSE XGBoost LightGBM CatBoost MLP TabNet 490.83 504.76 489.75 512.62 485.12
  39. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning instance-wiseに関する精度 Syn1-Syn6:目的変数は一部の特徴量のみによって決まる。(この特徴量を重要な特徴量と書くことにする) Syn1-3:重要な特徴量は各入力データに依存しない。 例)Syn2の目的変数は特徴量X3-X6のみによって決まる。 Syn4-6:重要な特徴量は各入力データに依存する。 例)Syn4の目的変数はX11の値によってX1-X2またはX3-X6のみによって決まる。 instance-wiseな特徴選択が活きるSyn4-6においてTabNetの精度が特に良い。 しかも、INVASEは3つのモデルを組み合わせていてパラメータ数101kになるが、 TabNetは1つのモデル、パラメータ数はSyn1-3は26kでSyn4-6は31k。 [1]より引用
  40. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning まとめ テーブルデータに対する精度が高い場合が多い 解釈性もある データをほぼ前処理なしで入れられ、特徴設計の負担が軽減 TabNetはテーブルデータ向けのすごいDNNモデル 教師なしの事前学習を用いて、マスクされた特徴を予測 多段階のステップからなり、各ステップが予測に寄与 多段階ステップ+高次元化により、アンサンブルのような構造を実現 特徴量の非線形処理 instance-wiseな特徴選択 TabNetの工夫 TabNetのすごさ
  41. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 参考文献 -論文と本編- [1](TabNet)https://arxiv.org/abs/1908.07442 [2](Sparsemax関数)https://arxiv.org/abs/1602.02068 [3](GLU) https://arxiv.org/abs/1612.08083 [4](Sequential Attention)https://www.aclweb.org/anthology/W17-2610/ [5](Key-Value Memory Networks)https://arxiv.org/abs/1606.03126 [6](BERT)https://arxiv.org/abs/1810.04805 [7](Deep Learning Scaling Is Predictable, Empirically)https://arxiv.org/abs/1712.00409 [8](INVASE)https://openreview.net/forum?id=BJg_roAcK7 [9](BN)https://arxiv.org/abs/1502.03167 [10] PyTorchによる発展ディープラーニング 小川雄太郎 著 [11] BERTによる自然言語処理入門 近江崇宏, 金田健太郎, 森長誠, 江間見亜利 著 [12] ゼロから作るDeep Learning 2 自然言語処理編 斎藤康毅著 [13] 機械学習プロフェッショナルシリーズ 深層学習による自然言語処理 坪井裕太ら著
  42. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 参考文献 -webページ編- [14](特徴量設計)https://japanexchangegroup.github.io/J-Quants-Tutorial/ [15](end-to-end)https://www.youtube.com/watch?v=ImUoubi_t7s [16](BNの解説ブログ)https://qiita.com/omiita/items/01855ff13cc6d3720ea4 [17](TabNetの解説ブログ1)https://www.guruguru.science/competitions/16/discussions/70f25f95- 4dcc-4733-9f9e-f7bc6472d7c0/ [18](TabNetの解説ブログ2)https://zenn.dev/sinchir0/articles/9228eccebfbf579bfdf4 [19](pytorch-tabnet作者による解説)https://www.youtube.com/watch?v=ysBaZO8YmX8 [20](転移学習・ファインチューニングの記事)https://ledge.ai/transfer-learning/ [21](googleによる公式実装)https://github.com/google-research/google-research/tree/master/tabnet [22](pytorch-tabnet, 非公式)https://github.com/dreamquark-ai/tabnet このスライドのデザインはBeamer(LaTeXでスライド作れるやつ)のGoettingen themeを参考にしています。 https://deic-web.uab.cat/~iblanes/beamer_gallery/individual/Goettingen-default-default.html