ktask
参加者の皆様お疲れさまでした。運営様、コンペの開催ありがとうございました。
1st place solutionを共有します。https://github.com/ktask154/Probspace_Prediction-of-acceptance-of-research-papers-at-international-conferences
※ NLPに関する知見が深いわけではなく運がよかった部分も大きいと感じています。もし、使用不可のモデルや解法を用いている場合ご指摘いただけると幸いです。
Colab Pro+
・microsoft/deberta-v3-base・microsoft/deberta-v3-small・microsoft/deberta-base・facebook/bart-base・facebook/muppet-roberta-base・google/electra-base-discriminator・bert-base-uncased・roberta-base・funnel-transformer/medium・albert-base-v2・distilbert-base-uncased・sshleifer/distilbart-cnn-12-6・EleutherAI/gpt-neo-125m
これらのモデルを使い、基本的に以下のことを行っています。
・入力テキスト : title + abstract・交差検証 : StratifiedKFold(n=10, target="y")
・Last Hidden State Output : Max Pooling・epoch : 5・Loss : BCEWithLogitsLoss・optimizer : AdamW・LR : Layer-wise Learning Rate Decay (LLRD)・敵対学習方法(AWP)・MLM pretraining 10 epoch (probability=0.15)
・提出1 Stacking model : CatBoost 説明変数 : 01予測したシングルモデルの予測結果 + タイトル(アブスト)のワード数+タイトル(アブスト)のキーワード数 + タイトル(アブスト)に含まれているキーワード数
CV : 0.7384
Public LB : 0.7314
Private LB : 0.7332
・提出2 Voting シングルモデルの1予測された個数をカウントし、閾値(=2)を超えたものを1予測
CV : 0.7394
Public LB : 0.7387
・Multi-sample dropout・Layer re-initialization・逆翻訳によるデータの水増し(精度がなかなか上がらない理由の一つとしてデータ数が少ないからではないかと考えていましたが、時間がなく出来ませんでした。)
主にこちらのサイトを参考にコードを作成しました。・https://www.kaggle.com/code/yasufuminakama/pppm-deberta-v3-large-baseline-w-w-b-train・https://www.kaggle.com/code/yasufuminakama/pppm-deberta-v3-large-baseline-inference・https://www.kaggle.com/code/rhtsingh/utilizing-transformer-representations-efficiently・https://www.kaggle.com/code/maunish/clrp-pytorch-roberta-pretrain
1位おめでとうございます
今回のコンペでNLPの面白さと難しさを存分に体感しました。公開いただいたソースコードで勉強させていただこうと思います。
指摘ではなく素朴な疑問で大変恐縮ではあるのですが、もしよろしければPublic LBのスコアが一番高かった結果ではなく、アンサンブルした結果を提出に選んだ理由をお教えいただけないでしょうかPublic LBのスコアが一番高い結果を選択して惨敗したので、今後のために提出ファイルの選び方を学びたいと考えています。
ありがとうございます。
Public LBのスコアが一番高かった結果ではなく、アンサンブルした結果を選んだ理由に関してですが、cvが高かった2つを選んだためです。今回コンペは、cvとlbのスコアに相関関係がなくcvよりlbの方がスコアが高かったこと、PublicとPrivateのデータ比の記載がなかったこと、他の参加者が共有してくださっていたコードにcvとlbの乖離があったことから提出が全体的にPublic LBに使われているデータに過剰適合していると考え、cvを重要視して提出ファイルを決めました。
これは個人的な提出ファイルの決め方ですが、提出ファイルを2つ選べる場合Public LBに使われているデータが50%程度の場合はbest cvとbest lbの2つPublic LBに使われているデータが35%以下の(又は記載がない)場合はcvの高い2つを選ぶようにしています。
参考になれば幸いです。
非常に丁寧なご回答を頂き、ありがとうございます
うまく予測できているかの指標がわからず、とりあえず出してみてLBの様子を見る手段をとっていましたが、今後はCVにも着目して取り組んでいきます
ktask様
お世話になっております。ProbSpace運営事務局です。1st place solutionのご公開、ありがとうございます。
Open Review期間につきましては、5/17までと設定させていただきます。質疑対応等お手数おかけいたしますが、よろしくお願いいたします。
ProbSpace運営です。公開後一週間がたちましたが、チーティングに関する質問は特にございませんでしたので、順位確定といたします。
この度は、優勝おめでとうございます!