Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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!

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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