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
Private LB : 0.7332
・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
T.T
1位おめでとうございます
今回のコンペでNLPの面白さと難しさを存分に体感しました。公開いただいたソースコードで勉強させていただこうと思います。
指摘ではなく素朴な疑問で大変恐縮ではあるのですが、
もしよろしければPublic LBのスコアが一番高かった結果ではなく、アンサンブルした結果を提出に選んだ理由をお教えいただけないでしょうか
Public LBのスコアが一番高い結果を選択して惨敗したので、今後のために提出ファイルの選び方を学びたいと考えています。
ProbSpace_official
ktask様
お世話になっております。ProbSpace運営事務局です。
1st place solutionのご公開、ありがとうございます。
Open Review期間につきましては、5/17までと設定させていただきます。
質疑対応等お手数おかけいたしますが、よろしくお願いいたします。