たかいとの備忘録

自然言語処理や機械学習のことについて学んだことを忘れないように書いていけたらと思います.

atmaCup#12参加レポート

はじめに

2021年10月15日(金)〜10月24日(日)に開催されたatmaCup#12に参加してました.

前回抽選に外れて参加できなかったatmaCup×Sansanコンペの第2回ということで,抽選通るか心配でしたが,今回は当選し参加することができました.

個人的に前回参加できなくて残念に思っていましたが,今回参加することができて様々なDiscussionを読めたことで,より前回参加できなかったことを残念に感じたので,参加枠を増やす or 前回コンペ上位33名は確定枠とかにしてもいいのではと少し思いました.

今回のコンペは,秘密保持契約(NDA)の関係上コンペ内容などはオープンにできないので,解法などにはほとんど触れないものとなっております.

この記事では,主に自身のお気持ちと,何が足りなかったのかを整理できたらと思っているので,もう少し実用的なものが読みたい方は,チトセナガノさんのatmaCup #12に参加して覚えたことメモ①特徴量作成atmaCup #12に参加して覚えたことメモ②lightGBM関係がまとまっていて参考になるかと思いますので,共有させて頂きます.

時系列でコンペを簡単に振り返る

序盤

初日サブする予定が,珍しく社会性を発揮して帰宅が深夜だったため,とりあえずスタートから24時間以内に1サブ. 今回,いろいろな方法を試せるように無駄サブをしないことを常に意識していました.

序盤は強い方が,安定の位置にいた印象でした. この時点では,takoiさんの0.80を意識して,手元のCVがある一定値を超えたらサブしようと思っていました.

月曜日,仕事から帰宅中にLB見たら,ベースラインがヤンチャしてて思わずツイートしてしまいました.

火曜日のサブで少しLBを上ることができましたが,なかなかベースラインが強敵でした. このときすでに,0.85出しているころんびあさんは,本当にすごいなと思います. ただ,自身もこのあたりで0.85出すための案はあったので,疲れた身体に鞭打って,ひたすら実装をしていました.

中盤

何とかベースラインを超すことができました!

終盤

最終日24日残り18時間を切ったところで,LB一位になりました.

みんな大好きBarChartRaceで後から確認したところprivateスコアも一時的に一位でした.

f:id:takaito0423:20211104224837p:plain
BarChartRace

そして,その12時間後くらいに...

流石に残りの時間で,このスコア差を詰める仕込みが自身にはありませんでした.

結果

1位 くろさん

2位 paoさん

3位 Pirototoさん

自身は念願のメダルに届きませんでした.

今回のコンペ一人振り返り

良かった点

一時的だが終盤にLB, privateで1位に飛び出せたこと

序盤スタートダッシュでLB1位は何回か経験したが,コンペ終盤に瞬間的にでも1位になれたのは初でしたので,正直嬉しかったです.

序盤にしっかり特徴量を作り込むことができた

短期間コンペで戦うにあたり,序盤で必要となる特徴量を一通り作ることができたおかげで,中盤以降はいろいろな工夫を考える時間&実装する時間をたくさん確保することができました. ただ,今回お題がシンプルなお題であったため,複雑な特徴量がたくさんあるコンペで戦うには,もう少しEDAの力を鍛える必要は感じています.

サブの温存

今回はチームを組む予定はありませんでしたが,チームを後半に組んだり,後から試したいことが沸いてきた時のために,CVのスコアなどからサブを温存することができました. 自身は上位にいるとき,サブ数に余裕がある人がLB上がってくるとプレッシャーを感じるタイプなので,プレッシャーをかける意味でも,サブ数温存は効果があると信じています(笑)

Discussionへの投稿

いつも勉強させて頂いてばかりなので,今回はDiscussionも積極的に投稿しました. いくつか投稿しましたが,多くのいいねを頂きとても励みになりました.

f:id:takaito0423:20211104231305p:plain
Discussion

いくつかDiscussionを挙げたのですが,一番多くいいねを頂いたのは,#10 [初心者歓迎!] atmaCup@pao さんが挙げていたコンペの戦い方を考えるというDiscussionを参考に作った「#12 Sansan × atmaCupの戦い方を考える」というDiscussionでした.

実際このDiscussionには,総合優勝&社会人優勝の くろさん,学生優勝のころんびあさんが使用している特徴量作り,モデル選択,工夫などにつながるヒントが多く含まれていて,いいものを投稿できたのではないかと,手ごたえを感じています.

反省点

NN系のモデルでの精度が出せない

モデルに対する理解が浅く,ハイパーパラメータなどの感覚がまったくわからないため,NN系の精度がまったく出せないのは,何とかしないとまずいなと感じています. 実力が伴っていないのに,贅沢欲張りセットでData Augmentationなども同時にやろうとして,うまくいかず,結果メダル圏内から追い出されてしまったので,これを機にNNを使えるように勉強し直そうと思います. あとは計算資源に乏しく,GPU温存してCPUで様子見ていて時間がかかっていたので,そのあたりのコンペ戦う環境も少し検討しています.(基本CPUで戦っているので)

油断

正直,最終日迎えた時点で0.87手前での戦いになると思っていたので,あたるかわからない大幅なスコア修正より,確実にでもわずかなスコア修正ができる無難な方法を試すことに切り替えてしまったのは,一つの反省点です.

感想

序盤,中盤,終盤と多くの方とLBで競うことができ,Discussionでコメントのやり取りもでき,とても楽しいコンペでした!

正直,メダルまで手が届きそうだったので,悲しい気持ちもありますが,自身の能力にまだ伸ばせる余地があると信じて,引き続き頑張りたいと思います.

コンペを通して,アイデアをすべて実装する力と計算資源があれば,もう少し戦えるようになるなと実感することができました.

このような機会を作って頂いたatmaさんとSansanさんに感謝感謝です. 第3回 atmaCup×Sansan楽しみにしております!

また,コンペに楽しく参加できたのは,他の参加者あってのことなので,DiscussionやTwitterでコメントのやり取りをしてくれた方々にも,本当に感謝しています.

再びコンペでいい戦いができるように,もっと強くなれるように頑張りますので,また対戦どうぞよろしくお願いいたします!