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

猫でもわかるTabNet

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for poya poya
September 26, 2021

 猫でもわかるTabNet

Avatar for poya

poya

September 26, 2021
Tweet

More Decks by poya

Other Decks in Technology

Transcript

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

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

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 目次 導入 TabNetはテーブルデータ向けのすごいDNNモデル。 TabNetのしくみ 決定木系のしくみも取り入れつつさらに改良した。 実装方法 pytorch-tabnetというライブラリを使えば簡単に使える。 精度 いくつかのテーブルデータで他のモデルより高い精度を出した。 ̍   
  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モデル 2019年に公開、Google CloudAIの研究チームによって開発された テーブルデータに対する精度が高い場合が多い 解釈性もある データをほぼ前処理なしで入れられ、特徴設計の負担が軽減 kaggleなどデーブルデータコンペで最近では当たり前のように使われている。
  5. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

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

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

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

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

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

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

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

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

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning この例は人の特徴 から収入が50k$より 多いか少ないか判断 するタスク TabNet encoder TabNet decoder 表は[1]より引用 TabNet encoder decision making ファインチューニングは画像や自然言語、音声の分野でよく用いられているが、 TabNetはこれをテーブルデータに適用 ②ファインチューニング ①事前学習 TabNetの概要図
  15. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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
  16. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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 工夫②
  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 ... どの特徴量をどのくらい使うのか決める (instance-wise, 疎な特徴選択) 特徴量の非線形処理 TabNet encoder 工夫③ 工夫④
  18. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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
  19. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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
  20. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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
  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] ③ 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
  22. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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 工夫③ 工夫④
  23. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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
  24. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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 工夫③ 工夫④
  25. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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)を出⼒
  26. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

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

    transformer 背景 ·ͱΊ ࢀߟจݙ ͓ΘΓʹ -簡単ver ֶशɾਪ࿦ ղऍੑ end-to-end fine tuning 目次 導入 TabNetはテーブルデータ向けのすごいDNNモデル。 TabNetのしくみ 決定木系のしくみも取り入れつつさらに改良した。 実装方法 pytorch-tabnetというライブラリを使えば簡単に使える。 精度 いくつかのテーブルデータで他のモデルより高い精度を出した。 ̍   
  28. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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による実装方法
  29. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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による実装方法
  30. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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 ②ファインチューニング ①事前学習
  31. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 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 その他必要に応じて
  32. ಋೖ ͘͠Έ ਫ਼౓ ࣮૷ 概要 encoder decoder -Attentive transformer -Feature

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

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

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

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