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

Kaggle Days Championship Final 2022 参加報告

DeNA_Tech
November 18, 2022

Kaggle Days Championship Final 2022 参加報告

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

DeNA_Tech

November 18, 2022
Tweet

More Decks by DeNA_Tech

Other Decks in Technology

Transcript

  1. 2022.11.17
    秋山卓也・阿部佑樹・宇都恭平・坂見耕輔・佐藤倫・島越直人・
    菅原悠樹・藤川和樹・柳辺十武(順不同)
    株式会社ディー・エヌ・エー + 株式会社 Mobility Technologies
    Kaggle Days
    Championship Final
    参加報告

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  4. ▪ LogicAIとKaggleが主催する招待制オフラインイベント
    ▪ 全12回のオンライン予選いずれかのTop3チームのみが参加可能
    ▪ 1日目: 招待講演、2日目: コンペティション
    ▪ 2日目は2種類のコンペティションを11時間で同時開催
    ▪ 2コンペの順位に対応する合計スコアで最終順位が決定
    4
    Kaggle Days Championship Finalとは

    View full-size slide

  5. ▪ Cross the Pacific の圧倒的優勝...!
    ▪ 著者メンバーを含むチーム: 4・6・12・15位
    5
    最終結果(自己採点)

    View full-size slide

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

    View full-size slide

  7. 7
    ▪ 機械学習研究の持つ、5つの(隠れた)バイアスについて指摘
    ▪ Novelty Bias: 新奇性を重要視するバイアス
    ▪ Positive Result Bias: 良い結果しか論文に採択されないバイアス
    ▪ Single Benchmark Bias: 単一のベンチマークで評価されるバイアス
    ▪ Resource Bias: 計算リソースが多い方が有利になるバイアス
    ▪ Fashion Bias: 流行のトピックが有利になるバイアス
    Opening remarks by LogicAI & Kaggle(by D. Sculley)

    View full-size slide

  8. 8
    ▪ これらの課題解決の場としてKaggleコミュニティの重要性を説明
    ▪ 学術的なインセンティブではなく情熱をモチベーションに、
    ▪ 多くの人が独立に同じ問題に対して取り組み、
    ▪ 失敗も含めた教訓が共有されることで、価値ある知見が得られる
    ▪ その上で、以下などをやっていく
    ▪ 知識共有の促進、Notebookリソース提供(T4, more RAM)
    ▪ コンペ形式の進化、インセンティブ改善、コミュニティ健全化
    Opening remarks by LogicAI & Kaggle(by D. Sculley)

    View full-size slide

  9. 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

    View full-size slide

  10. 10
    講演テーマ: Creating agents for simulation competitions
    ▪ GMのdottによるシミュレーションコンペのハンズオン形式のチュートリアル
    ▪ ConnectXというゲームを題材にルールベース、ゲーム木探索、模倣学習、強
    化学習、とコンペで用いられる一連のアプローチを順に紹介
    ▪ 講演で使用されたnotebook
    Workshop by Dmitry Gordeev
    主催者撮影

    View full-size slide

  11. 11
    講演テーマ: Kaggle days championship competitions summary of our approach
    ▪ 予選での総合優勝の結果を残したSSSSチームによる講演
    ▪ 以下の内容を紹介
    ▪ 全12回のコンペティションの概要
    ▪ CV・NLP・テーブルの各ドメインにおける一般的なアプローチを紹介
    Winners team presentation
    講演スライドはこちら

    View full-size slide

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

    View full-size slide

  13. 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 : 年毎地域毎の人口

    View full-size slide

  14. 14
    Competition 1| Starry Starry Night!
    データ分布
    ▪ train, testで時系列的な被りがある

    View full-size slide

  15. 15
    Competition 1| Starry Starry Night!
    データ分布
    ▪ 空間的な被りも存在
    ▪ ただし、testには存在しない地域
    のデータもtrainには存在

    View full-size slide

  16. 16
    Competition 1| Starry Starry Night!
    データ分布
    ▪ 空間的に近くても時間的には遠くなっている

    View full-size slide

  17. 17
    Team GYCT (public 7nd/private 4nd) ソリューション紹介
    Competition 1| Starry Starry Night!
    Public Private

    View full-size slide

  18. 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

    View full-size slide

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

    View full-size slide

  20. 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!

    View full-size slide

  21. コンペ概要
    ▪ 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

    View full-size slide

  22. ターゲット統計量
    平均値: 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
    ターゲット分布

    View full-size slide

  23. 23
    Competition 2| Time isn’t the main thing, it’s the only thing
    Public LB Private LB
    Team SSSS (public 2nd/private 2nd) ソリューション紹介

    View full-size slide

  24. 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

    View full-size slide

  25. 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

    View full-size slide

  26. 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 上位の特徴量

    View full-size slide

  27. 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| 上位解法

    View full-size slide

  28. 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| 上位解法

    View full-size slide

  29. ▪ 各自 自費にて延泊し、スペインの食・文化・自然も堪能
    ▪ DeNA・MoTの理解・協力に感謝
    29
    おまけ(スペイン観光)

    View full-size slide