Shopee参加記2
shopeeの上位解法の自分用まとめ
GitHub - hedwig100/kaggle-shopee: kaggleのshopeeコンペのレポジトリ
↑自分のリポジトリ
1位
Shopee - Price Match Guarantee | Kaggle
- モデルのスコアの伸びより, embeddingsを後処理した方がスコアが伸びた.
- eca_nfnet_f1とbertをもちいてarcfaceをつかった
- 大きいマージンの方が良かったが大きすぎると収束しなかったため, だんだんマージンを大きくした.
- 最後の重みそうだけ学習率を大きくすると収束するようになったし, Cvもよくなった.
- テキスト, 画像のみでそれぞれ類似度を測るのと, テキストと画像の類似度の和で類似度を測った.
- Iterative Neighbor Blending(類似度の重みをつけた辺をはってグラフを作り, 類似度が近いもの同士が同じグループに分けられるように グラフを作り替える. -> またテキストと画像の類似度から近いものを見つける -> を繰り返す.) が効いた.
- cutmixが0.1くらい効いた
augmentationはhorizontal flipしかしていない.
後処理のINBが一番重要らしい.
3位
- いい感じのモデルを使ってembeddingをつくって近傍をつくる.
- そのembeddingsの距離や周りの点の密度などを特徴としてcatboostでpairwiseに同じ製品かどうか判定する.
- つまり embeddings -> catboost -> 同じかどうか判定 ということをした.
- embeddingを作るモデルをtriplet lossでfine tuningした.
4位
- infoldなものもvalidation setとして用いた(leakしてるけど)
- image,bert,tfidfをつかった
Query Expansionをした. これも近傍をグラフみたいに探索することらしい.
GeM = Generalized-mean poolingのことらしい.
5位
Shopee - Price Match Guarantee | Kaggle
6位
- imgとtextのfeatureをつくってからlinearしたのが効いた.
- img,text,concatの三つのembeddingsをつかった
- 一つではなくてかならず2つ以上は同じ商品だと判定するようにした.
- 単位が合わないものは取り除いた.
学習率をfcとbert(本体)で変えた.
少なくとも2つは同じものが存在するは確かにってなった.
- ことなる学習率を使うのは重要らしい.
8位
Shopee - Price Match Guarantee | Kaggle
- QEとDBAというものを使った.
18位
https://www.kaggle.com/c/shopee-product-matching/discussion/237972
- 近傍の数の分布をtrainとtestで合わせるというところがなるほどとなった.
ほかにも読んだが長いので割愛.