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

Kaggle Days Championship Final参加報告

Kaggle Days Championship Final参加報告

2022年10月29日〜30日にバルセロナで開催された、Kaggle Days x Z by HP World Championship Final にDeNA・MoTのデータサイエンティストが参加しました。
当日は招待講演に加え、11時間にも及ぶオフラインコンペティションが開催されました。
本資料では、イベント・招待講演の概要、2種類のオフラインコンペティションの概要や著者含むチームの解法、上位チームの解法を紹介しています。

GO Inc. AI Tech

November 18, 2022
Tweet

More Decks by GO Inc. AI Tech

Other Decks in Technology

Transcript

  1. 2 ▪ Kaggle Days Championship Final とは ▪ 1日目: 招待講演

    ▪ 2日目: コンペティション Agenda
  2. 3 ▪ Kaggle Days Championship Final とは ▪ 1日目: 招待講演

    ▪ 2日目: コンペティション Agenda
  3. 6 ▪ Kaggle Days Championship Final とは ▪ 1日目: 招待講演

    ▪ 2日目: コンペティション Agenda
  4. 7 ▪ 機械学習研究の持つ、5つの(隠れた)バイアスについて指摘 ▪ Novelty Bias: 新奇性を重要視するバイアス ▪ Positive Result

    Bias: 良い結果しか論文に採択されないバイアス ▪ Single Benchmark Bias: 単一のベンチマークで評価されるバイアス ▪ Resource Bias: 計算リソースが多い方が有利になるバイアス ▪ Fashion Bias: 流行のトピックが有利になるバイアス Opening remarks by LogicAI & Kaggle(by D. Sculley)
  5. 8 ▪ これらの課題解決の場としてKaggleコミュニティの重要性を説明 ▪ 学術的なインセンティブではなく情熱をモチベーションに、 ▪ 多くの人が独立に同じ問題に対して取り組み、 ▪ 失敗も含めた教訓が共有されることで、価値ある知見が得られる ▪

    その上で、以下などをやっていく ▪ 知識共有の促進、Notebookリソース提供(T4, more RAM) ▪ コンペ形式の進化、インセンティブ改善、コミュニティ健全化 Opening remarks by LogicAI & Kaggle(by D. Sculley)
  6. 9 講演テーマ: Practical tips for deep transfer learning in computer

    vision ▪ GMの Psi による画像分類コンペにおける実践的なTipsの紹介 ▪ ベースライン作成 → CosineDecayLRScheduleの導入 → LRとEpochの調 整 → データ拡張 → ModelとInputの調整 → 全量Train → 後処理の導入 ▪ ノーコードAI学習サービス H2O Hydrogen Torch を用いTipsをその場で実演 Workshop by Philipp Singer 主催者撮影 参照:How-it-Works
  7. 10 講演テーマ: Creating agents for simulation competitions ▪ GMのdottによるシミュレーションコンペのハンズオン形式のチュートリアル ▪

    ConnectXというゲームを題材にルールベース、ゲーム木探索、模倣学習、強 化学習、とコンペで用いられる一連のアプローチを順に紹介 ▪ 講演で使用されたnotebook Workshop by Dmitry Gordeev 主催者撮影
  8. 11 講演テーマ: Kaggle days championship competitions summary of our approach

    ▪ 予選での総合優勝の結果を残したSSSSチームによる講演 ▪ 以下の内容を紹介 ▪ 全12回のコンペティションの概要 ▪ CV・NLP・テーブルの各ドメインにおける一般的なアプローチを紹介 Winners team presentation 講演スライドはこちら
  9. 12 ▪ Kaggle Days Championship Final とは ▪ 1日目: 招待講演

    ▪ 2日目: コンペティション Agenda
  10. 13 Competition 1| Starry Starry Night! コンペ概要 ▪ どれくらい夜空に星が見えるかを分類するタスク ▪

    clear, 1/4 of sky, 1/2 of sky, over 1/2 of sky ▪ 評価指標 Mean F1 Score ▪ コンペ後に気づいたが、Top 2まで予測できた (計算方法は謎) データ概要 ▪ データ数: train:test = 197,517 : 17,109 ▪ データ種別 (時空間データ) ▪ {train|test}.csv : 緯度経度, 観測時刻, timezone, 高度, センサー値, 観測地・空の様子に対するコメント ▪ population.csv : 年毎地域毎の人口
  11. 15 Competition 1| Starry Starry Night! データ分布 ▪ 空間的な被りも存在 ▪

    ただし、testには存在しない地域 のデータもtrainには存在
  12. 18 Competition 1| Starry Starry Night! Team GYCT (public 7nd/private

    4nd) ソリューション紹介 ▪ GBDT + NN のアンサンブルを検討 ▪ GBDTで基本的な特徴 + pseudo-label × TE などで精度を伸ばす ▪ 周辺サンプルを同時に処理するNNを試すも精度伸びず、シンプルなNNも🙅 ▪ 距離、時間での近傍n点をTransformerに食わせるような形 ▪ GBDTではtext情報を使っていなかったため、NNはtextに強いものを採用する方針に変更 ▪ deberta-v3-large で text のみで学習、意外と精度がでた ▪ → text + GBDTでimportanceの高い特徴 をそのまま[SEP]で結合し学習 public private LightGBM 0.5153 0.5133 deberta-v3-large 0.4153 0.4341 10 model ensemble 0.5472 0.5601
  13. 19 Competition 1| Starry Starry Night! Team GYCT (public 7nd/private

    4nd) ソリューション紹介 ▪ 反省など ▪ BERTにシフトするタイミングは遅かったものの それはまだいい ▪ ある程度精度がでる&学習が安定している のであればfull-dataで色んなpretrainを試 せばよかった ▪ 全部そのまま[SEP]で繋げてBERTでpon、は今後も使っていきたい ▪ category系の特徴が強い + text 特徴がある時強そう
  14. 20 Team Cross the Pacific (public 1st/private 1st) ソリューション ▪

    時系列を考慮したCV ▪ 翌年のデータが同じfoldに入るようにする ▪ GBDTのアンサンブル ▪ 学習済みtransformerから得たtext系特徴量ごとにモデルを学習 ▪ distilroberta-base が一番精度が良かった Team T(he)omorimo (public 5st/private 2st) ソリューション ▪ GBDTのアンサンブル ▪ 学習済みtransformer、tf-idf特徴、時間・地理的に近いデータの特徴量 ▪ deberta が一番効いていた Competition 1| Starry Starry Night!
  15. コンペ概要 ▪ kaggle上の公開notebook実行時間を回帰するタスク ▪ 評価指標 RMSE データ概要 ▪ データ数: train:test

    = 2,958:1,594 ▪ データ種別 ▪ info_{train|test}.csv : 総実行時間, 実行日時, 作成者kaggle rank ▪ code_{train|test}.csv : セルごとのコード (string), 実行時間 ▪ datasources.csv : 各notebookでの出力データ 21 Competition 2| Time isn’t the main thing, it’s the only thing
  16. ターゲット統計量 平均値: 2,027 sec 中央値: 89 sec 最大値: 41,826 sec

    最小値: 0 sec 実行時間 0 secのデータ数: 150 (5%) データ例 22 Competition 2| Time isn’t the main thing, it’s the only thing ターゲット分布
  17. 23 Competition 2| Time isn’t the main thing, it’s the

    only thing Public LB Private LB Team SSSS (public 2nd/private 2nd) ソリューション紹介
  18. 24 Team SSSS (public 2nd/private 2nd) ソリューション紹介 ▪ 序盤は Language

    Model + GBDT で地道に頑張るも、大きくスコアを伸ばせず ▪ tf-idf をそのまま使用すればよいのでは? ▪ テキストが長すぎて (5,000 token~)、code pre-trained Language Model で処理できない ▪ GBDT の tf-idf → SVD 特徴で、次元を大きくするほどスコアが上がった ▪ championship の類似コンペで同様のソリューションがあった ➢ tf-idf + Ridge だけでその時点でのベストモデルを大きく上回るスコア ➢ tf-idf を次元削減せずに GBDT 特徴に concat して学習させる ◦ Single LightGBM で public 5th/private 6th ◦ 特徴量次元は tf-idf: 25,000+, その他: 2,000 ぐらい (データ数は3,000程度) ◦ feature_fraction は0.3がベスト ➢ 最終的な解法: LM + Ridge + GBDT の Ridge スタッキング Competition 2| Time isn’t the main thing, it’s the only thing
  19. 25 Team SSSS (public 2nd/private 2nd) ソリューション紹介 モデル詳細 ▪ LM

    (public 17th/private 19th) ▪ そのままだとバッチ内の分散が大きすぎて(?)学習が進まないため、ターゲットの log を とって学習→推論時に戻す ▪ unixcoder がベストモデル ▪ tf-idf → SVD (1024) を特徴量として最終層に concat ▪ head + tail (tail 長め) で token を使用するのがよかった ▪ Ridge (public 14th/private 11th) ▪ tf-idf 特徴量のみを使用 ▪ 1gram まで使用 ▪ コメント行は削除 (行末のコメントは削除しないほうがよかった) ▪ “_” 以外の記号は前後にスペースを入れる (変数名やライブラリ名は保持したい) ▪ 数字は消したほうがよい Competition 2| Time isn’t the main thing, it’s the only thing
  20. 26 Team SSSS (public 2nd/private 2nd) ソリューション紹介 モデル詳細 ▪ GBDT

    (public 5th/private 6th) ▪ tf-idf ベース特徴量 ▪ Ridge で使用したものをほぼそのまま使用 ▪ BM25 によるスケーリングを行った方がよかった ▪ 集計特徴量 ▪ outputデータ情報 ▪ セルあたりの行数、コメント数等 ▪ その他 ▪ tier, セル数, 出力ファイル数など Competition 2| Time isn’t the main thing, it’s the only thing importance 上位の特徴量
  21. 27 Team re:wodori (public 1st/private 17th) ソリューション ▪ 前処理: コメントの削除,

    全セルを結合 ▪ モデル: GBDT with TF-IDF, and TransFormers ▪ 後処理: Netflix Blending ▪ LB スコアを利用してアンサンブルweightを決定 Team sowasowa (public 3th/private 11th) ソリューション ▪ 特徴量: 出力ファイル情報特徴量, コンペ名, モデル名, 重要単語の出現回数 ▪ 重要単語を話し合いながら決めたらしい ▪ 重要単語例: read_csv, train = True, transformer, xxlarge, 384, 2048 ▪ モデル: GBDTs (XGBoost + LightGBM) Competition 2| 上位解法
  22. 28 Team Cross the Pacific (public 9th/private 1st) ソリューション ▪

    モデル: Lightgbm ▪ 目的関数に tweedie, poissonを利用 ▪ 目的変数がskewな分布だったため利用 ▪ Shakeの大きいコンペと判断して、深追いはせずにもう一つのコンペに注力 Team Farzi DataScientists (public 5th/private 3th) ソリューション ▪ 特徴量: 複数パラメータでのTF-IDF, 日付やソース長さ等に関する特徴量 ▪ モデル: GBDTs (LightGBM + CatBoost) Competition 2| 上位解法