Upgrade to Pro — share decks privately, control downloads, hide ads and more …

atmaCup#10 2nd place solution

tellmoogry
March 31, 2021

atmaCup#10 2nd place solution

atmaCup#10 振り返り会(https://www.youtube.com/watch?v=8k6A0IkGjwc&t=2863s)
のなかで発表したスライドです.

tellmoogry

March 31, 2021
Tweet

More Decks by tellmoogry

Other Decks in Science

Transcript

  1. 自己紹介
 機械工学専攻 M2
 atma intern
 
 Kaggle : Expert
 SIGNATE :

    Master
 
 コンペ歴 (≒プログラミング歴) 2年
  atmaCup : 過去8回 (#7~#9以外) 参加
  その他日本語コンペサイトいくつか
 
 分析環境 : MacBookPro + Colab
 @tellmoogry
  2. コンペ概要
 ・コンペの特徴
  コンペ期間 : 8日間 (うち土日は3日間)
  サブミット回数 : 50
  atmaCup

    (日本語のコンペプラットフォーム, 
         Discussionが超活発)
  初心者歓迎
 
 ・データの特徴
  マルチモーダル (Table, Text, Image)
  複数言語で構成されるデータ (Dutch, Englinsh...) 
  複数のメタデータ

  3. コンペ中のスコア推移
 submit index ⇄ 取り組み
 
 1~15 : baseline作成
 10~40

    : 特徴量追加
 30~ : 特徴量追加, 
 パラメータチューニング,
  アンサンブル

  4. コンペ中の取り組み(序盤)
 コンペ序盤
 ドメインについては深く考えず
 submit 1~15 : baseline作成 (汎用的な処理) モデル
  ・LightGBM,

    CatBoost
 
 特徴量
  train.csv, test.csvのcolumnは一旦全部使う
   ・カテゴリーデータの処理
    (CountEncoding, LabelEncoding, TargetEncoding)
   ・数値データの抽出 e.g. “h 66.5cm × w 53.7cm”
   ・テキスト (Tfidf, Count)

  5. コンペ中のスコア推移 (中盤以降)
 baseline作成 description(raw) Tfidf
 in : Multilingual BERT emb


    テキスト
 Multilingual BERT:微改善
 前処理なしのTfidf:改善
 
 
 
 色情報の統計量:微改善
 色情報のresnet:微悪化
 out : Multilingual BERT emb
 in : 蘭->英 翻訳BERT emb

  6. 効いた特徴量
 特徴量重要度Top ([Public 2nd/Private 2nd] LGBM single model solution)
 


    ・long_titleの翻訳後BERT embedding -> SVD
 ・long_titleの翻訳後 Sentiment Classification 
 ・RGB値のsumのstd
 ・作品の大きさ (sub_title)
 ・paletteのratio統計量
 ・NaNに関する特徴

  7. 複数言語を含んだTextカラムに対して事前学習済みBERTモデルから
 文章の分散表現を得たい (<CLS> tokenのベクトル)
 [英] 'The Avenue of Birches, Jan

    Hackaert, 1660 - 1685’ 
 [蘭] 'Struik in bloei, Richard Tepe (attributed to), c. 1900 - c. 1930' 
 
 方法(3パターン)
 1. 英に対して英のBERT, 蘭に対して蘭のBERT, ...
 2. Multilingual BERT
 3. 翻訳して言語を統一して統一先の言語でBERT
 効いたText特徴量:翻訳

  8. 1. 英に対して英のBERT, 蘭に対して蘭のBERT, …
  事前に言語判定が必要 (タイトルの言語判定特徴)
  テキストとBERTモデルの言語が異なっても何かしらoutputは出る
  異なるBERTモデルによるoutputを同じカラムに入れて良いの?
 
 2.

    Multilingual BERT (“bert-base-multilingual-cased”)
  対応言語が多いので雑に使える
  single-languageモデルよりも精度は落ちる
 
 3. 翻訳して言語を英語に統一しBERT(“bert-base-cased”)
  上記の課題は気にしなくても良い
  時間が嫌にかかる
 効いたText特徴量:翻訳

  9. 効いたText特徴量:翻訳
 複数言語を含むテキストカラムを翻訳
 1. Dutch->English 翻訳
 2. 翻訳後文章のBERT embedding
 3. PCAで次元削減


    
 最終sub (LGBM single)
 CV:0.9597 LB:0.9342 Private:0.9565
 
 翻訳特徴抜くとスコア悪化
 CV, LB:0.006 Private:0.01

  10. テキストの翻訳(蘭->英)
 Helsinki-NLP/opus-mt-nl-en · Hugging Face
 
 
 例) long_titleの翻訳
 [英]

    'The Avenue of Birches, Jan Hackaert, 1660 - 1685’ 
 ->[英] ’The Avenue of Birches, Jan Hackaert, 1660 - 1685’ 
 
 [蘭] 'Struik in bloei, Richard Tepe (attributed to), c. 1900 - c. 1930' 
 -> [英] ’Strike in bloom, Richard Tepe (attributed to), c. 1900 - c. 1930’ 
 
 英語を入力しても英語をそのまま返してくれるので雑に使える
 効いたText特徴量:翻訳

  11. テキストの翻訳はDataAugumentation目的で用いられることが多い
 [Toxic Comment Classification Challenge] A simple technique for extending

    dataset 
 
 例)
 ・EN->FR->EN
 ・EN->DE->EN
 
 [英] 'The Avenue of Birches, Jan Hackaert, 1660 - 1685’ 
 ->[仏] ’L'Avenue des Bouleaux, Jan Hackaert, 1660-1685 ’
 ->[英] ‘Avenue des Bouleaux, Jan Hackaert, 1660-1685’ 
 
 (ここではGoogle翻訳を使用)
 
 効いたText特徴量:翻訳 (余談)

  12. 効いたText特徴量:翻訳
 翻訳後long_title の感情分析
 低 sentiment score Vuur van God doodt

    mensen en Ornament met wapentuig (訳) 神の火が人を殺△◯ ×し、武器で飾りをつけ る 高 sentiment score Fortune Does Not Favour Those Who Fall Asleep; Patience as the Victor of Fortune 
 (訳) 眠っている人に幸運は訪れない、忍耐は幸運 の勝者 (訳はGoogle翻訳使用)
  13. 効いた画像特徴量:Excess RGB
 S = R + G + B
 ExR

    = (2R - G - B) / S
 
 
 各object_idの中で
 ExR, ExG, ExB
 それぞれのmax
 
 
 →青い絵が少ない
 
  フェルメール・ブルーとか
  目立つのはそういうこと?

  14. submit file選択
 ・最終sub1 : LGBM single
  CV:0.9597 LB:0.9342 Private:0.9565
 
 
 ・最終sub2

    : LGBM single (PseudoLabeling)
  CV:(PseudoLabelingのため過剰に良い値)
  LB:0.9333 Private:0.9567
 
 
 結果的にTrust CVが良かった