Student cup 2020の振り返り - I'm chizuchizu
Chizuchizu's icon

チズチズ(chizuchizu)

14yo 統計学/Kaggle/Python/Linux

Student cup 2020の振り返り

夏に開催されたSIGNATE主催のstudent cupについてです

chizuchizu

1 分で読めます

コンペ概要

お疲れ様でした! 

https://signate.jp/competitions/281

  • NLP
  • 4クラス分類
  • データ数が少ない

英語圏の求人情報に含まれるテキストデータから

  • DS
  • ML Engineer
  • SE
  • Consultant

を分類しろというタスクです!最近DSとコンサルタントが近くなってる気も……

自分のチームのsolution(49 th)

自分は藤戸四恩さんとチームを組んでました!(https://twitter.com/continueonlyone)

またソースコードはこちら→ https://github.com/Chizuchizu/student_cup_chizuchizu

49thなので上位解法ではありませんw

反省会で共有したスライドです!

モデル紹介

BERT

安定してもう強かった 強すぎて何も言えなかった

RoBERTa

BERTよりかは少し劣ってるけどまぁまぁ良い

XLNet

たまにロスが全く落ちないことがあったり学習時間が遅かったりするけどまぁまぁ働いてくれた

LSTM

めっちゃ頑張ったけど結局あんまり効かなかった

Jigsawコンペの3位解法で使われたLSTMを真似ました。

https://www.kaggle.com/sakami/single-lstm-3rd-place

  • GRU
  • Pooling
  • embedding
  • dropout

optimizer: scale_cos

三角関数のoptimizerを使ってるので出力というか推論に使う重みはepochごとの指数重み付け平均にしました。また、重みのEMA(指数移動平均)も使って平均をとることもしました。

やっぱりデータ数が少ないのでLSTMみたいな多少largeに対応するようなモデルには厳しかったようです。

余談ですが、自分はLSTMを書く前はPyTorchでモデルを組んだことも、Adamを理解することもしてなかったのでチームメイトの藤戸さんに聞きまくってましたw

Augmentation

Jigsawでよく使われた方法を用いました。

英→日→英、英→独→英、英→仏→英 というように3種類+オリジナルの系4種類のデータセットができました。

train, testの両方にaugment処理を行ったので16倍です!

Regression

このデータセットのラベル間の差が小さいこともあって

stackingに突っ込んだらちょっとだけ良くなったので効いてくれたみたいです。

LB vs CV

結論からいうとTrust LBが勝ちました。自分のチームはCVを信じたので49位と……

理由はリークが見つかってデータセットを差し替えたときに不均衡になってしまったからのようです。上位陣はこれを知った上であえてLBを信じるということをしていて頭が良いな〜と思いました。

結果としては間違った憶測でしたが、LBとCVに全く相関がなかったのでCVを信じてしまいました。

終わる1週間近く前に提出したTrust LBサブが4位でした……

反省会

終了してから5日後に開いた反省会です!

mosamosaさん

保守的戦略というのが面白いです。undersamplingの平均を使ったようです。

rinch_mathさん

overfit対策をしっかりやってる印象でした。

yCarbonさん

2位入賞おめでとうございます! 見極める力が強そう……

Student Cup 2020 2nd(?) solution LT from HogeBona

他にも数人参加されてた方がいましたが、スライドはありません 🙏

upuraさんがstudent cupのsolutionに関するツイートをまとめてくれたのでそれも参考になるかと!

https://togetter.com/li/1582669

振り返り

  • データ数が少ないのは嬉しい
  • 不均衡はかなり辛い
  • student cupのコミュニティが楽しかった
  • チームで参加できたためにモチベがめっちゃ安定してた(作戦会議も楽しかった)
comments powered by Disqus

最近の投稿

カテゴリ

About

チズチズという人が書いているブログです。気ままに技術系だったりまったり系の記事を投稿します。