connpas リンク
https://sansan.connpass.com/event/202716/
発表
脱! Deepでポン🎶 ハイパラチューニング芸人を卒業するために
Hidehisa Araiさん @kaggle_araisan
- 対象視聴者(初級〜)
- 誰もが思いつくことを越えるためには?
- 解法の背景(なぜやったのか)を掴むためには?
- 面白くなるステップ
- 課題の難しいところ理解する
- train/testの分布の違い(データのノイズ量、クラスの比率)
- testにはtrainになかったラベルがある
- CV/LBが相関しない
- 課題を小さな課題に分解する
- 対策可能になるまで小さくする
- 小さな課題を置換する
- 小さな課題をキーワードにまとめる
- 分解の解像度が上がる
- キーワードから体系化された知識を取りに行く->paper with code:The latest in Machine Learning | Papers With Code
- 課題の難しいところ理解する
- まとめ
- 出てきた課題を潰していく->いつの間にか他の人がやっていないことに至る
- 個々の課題を潰した人が上位にいく
質問
- 英語が苦手な場合の取り組み方
- 機械翻訳を使おう
- 抽出された課題の管理
- Trelloを活用
- タグをつける(Todo、doing、worked、not worked、pending)
- やることが見つからなかった場合
- 今回の話がそれに当たるはず
- (もっとやっていた場合)コンペをやる中で得た知識の元に改めて課題を見直す
- 既存の分野をそもそも知らない場合
- キーワードが重要
- コンペ参加するとDiscussionで論文リストをあげてくれる人がいる
- paper with code:The latest in Machine Learning | Papers With Code
memo
- Zenhubでコンペチケット管理していたけど、「解像度が良くない」話は参考になった
- not workedをIceBoxに入れてしまっていたので、後から見てやったかどうかわからなくなったのを思い出した
その他参考
atmaCup#6 を開催したときの体制や流れについて
黒木裕鷹さん @kur0cky / Sansan株式会社 DSOC 研究員
前提の話
- atmacup#6
- 課題:企業の業種ラベルを予測せよ
- 評価指標: Accuracy@top2
- 出題意図:パーソナライズ/レコメンデーションに活用
- 開催目的
- 開催側の話参考スライド
- コンペ開催は良いことづくし
実務よりの裏側
- 携わった部署
- R&Dと人事部が表だってatmaとコミュニケーション
- 法務部(情報公開のチェックや契約関連)
- 広報
- 企画からふりかえり
- 企画から当日まで半年近い期間かかってる
- 企画
- サマーインターンの見通しが不明瞭
- オンラインイベントでもコンペ開催したい(オフは経験あり)
- 選定の基準
- 媒体の選択(参加人数、費用、秘密保持契約が結べるか、などなど)
- 強いDS人材。広く技術者がターゲット -> SNSでも盛り上がれる!
- タスク選定
- R&D数名から複数案だし(問題が出せないことをまず避ける)
- Sansanらしいデータを使いたい(名刺)
- 仮タスク設計で実際に解いてみる
- 企業が特定されないようにマスクの工夫
- データ正規化(human computationのエキスパートが活躍)
- atmaさんとのやりとり
- atam、sansanでお互いにタスクを解いてみてleak確認
- 周知・集客
- connpas
- 抽選(強い人が漏れても、広く参加者を取った)
- コンペ期間中
- Twitter実況で盛り上げ
- 複数賞用意
- ふりかえり
- KPT実地
- P:データのハンドリングが難しかったかも?
- T:データ量調整で短期間化が望めるかも?
質問
- シェイクやleakを回避するために意識したこと
- 過去にあったleak事例を調査
- データが生まれる背景を考えて漏れを調べた
- 自分が実際に解いてみたり、強い人に解いてもらう
- 今後のコンペ開催はあるか
- 黒木さんは開催したい!
- コンペが採用に繋がったか
- 実際に繋がった例がある
- コンペ参加者数と強く相関するのは賞金
- kaggleは強い傾向がある
- 各媒体の参加人数は大きくブレないかも
- コンペ開催で大変だったこと
- このタスクが行けるかどうか
- 情報ごとに出して良いかの判断
- よかったこと
- コンペとして成立していること(leakなさそう)
- 盛り上がっている様は嬉しい
memo
- 開催側が楽しんでいる様子がビシビシ伝わってくる
- leak問題はどこのコンペサイトでも問題になっているので開催側複数でコンペ設定失敗事例を共有する会面白そう
その他参考
Colaboratoryで分析コンペをする時のテクニック集
カレーちゃんさん @currypurin
- colabの概要
- colabで無料GPUを使おう(データのアップロードやsubができるとなお良い)
- 1セッション最大12時間の制限などがある
- Colab Pro(9.99USD/month)が提供地域が増えるらしい
- https://zenn.dev/currypurin/scraps/e01410c6529e8e0d3af9
- テクニック
質問
- コンペでの計算機資源配分
- RAM不足回避するには
- バッチサイズを下げる
- colab proと同じスペックのGCPならどっち使うか
- V100使ってたら1weekで5万くらいいった
- colab proの方がお得
memo
- githubと連携してコード履歴残すの良さそう
- colab proが待ち遠しい
その他参考
Noisy label 対抗記 ~Cassava Leaf Disease Classification~
齋藤慎一朗さん @sinchir0 / Sansan株式会社 DSOC 研究員
- コンペ概要
- cassavaの画像から病気判別
- 評価指標は Accuracy
- 重要ポイント
- 画像のラベリングミスが多い(Noisy label)
- PublicLBの評価もNoisy
- LB上でスコアに大きな差がなかった
- なぜ取り組んだか
- 画像に取り組みたい
- testもNoisy対策できれば良いのでは?
- どう対抗するか
- 学習データにfitさせすぎない
- 多くのモデルでアンサンブル
- noisyを考慮できるlossを使う
- noisy labelのデータを処理する
- testもnoisyなデータに対抗
- cleanlabの考え方を応用
- 誤り分布を利用
- 学習データにfitさせすぎない
- 反省点
- discussionやnotebookを追うのに時間を使ってしまった
- CVの計算など一部適当になった
質問
- ノイズの乗り方はtrain/testで同じと仮定するか
- Yes
- シェイクするモデルとシェイクしないモデルはどういう違いがあるか
- アンサンブルをたくさんしていると生き残りやすい?
- testにしか存在しないラベルを考慮できたか
- noisyラベルの先行研究でもtestのノイズがあるとしていたか
- trainがノイジーでtestがクリーンが多い(というかそれ以外みたことない)
memo
- 「testもnoisy」は良くわからない..
- CV計算が適当になった、は身につまされる話
その他参考
atmaCupなど短期間コンペのススメと戦い方について
paoさん @pppaaaooo
・kaggleのコンペ期間は2~3ヶ月が大半。長くない?
- コンペの長さによる比較
- 長い
- 新しいことに時間をかけられる/失敗をカバー可能
- 外れた時のダメージ
- 短い
- 効率的に学びを得られる/限られた時間で精度向上を学べる
- 新しいチャレンジの難易度が高い
- おすすめは両方に参加
- 長い
- 精度の分解
- 限られた時間で何をすべきか
- 思いつくアイデアからやることを効果的に絞る
- 効果 x 実装時間 x 成功確率で決める
- どこで実力に差が出るか
質問
- 成功した際の効果の推定は当たるか
- 比較的当たる
- データの質やタスクを分解することで当たりやすくなる
- 効果が高そうな技(手法)を覚える方法
- 一個ずつやっていくしかない
- コンペ参加はおすすめ
- 解法だけだと身に付きづらい
memo
- 思いついたものを思いついた順にやっていた(脳死でした) -> zenhubのestimate使えるか?
- 技マシン欲しい
- 技マシン欲しい
所感
- 分析コンペの取り組み方の話が多く、参考になった。
- しかも、短期間コンペのatmaCupが今週末(3/5)から始まるのですぐに試せるのでは!?
そもそもsolafuneとprobspace放置しているのどうにかしろ