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

SETIまとめ

start
October 14, 2021

 SETIまとめ

start

October 14, 2021
Tweet

More Decks by start

Other Decks in Programming

Transcript

  1. 【データについて】 ・データ1件の次元 = (6, 273, 256) ・train : 60000件 /

    test : 39995件 ・targetが含まれうるのはチャネル 0,2,4のみ (1,3,5はコントロール) ・よって0,2,4だけ抽出してモデルを組むケースが多かった ・データ総量は156GB(※) ・test画像も見られる ※リークが見つかって100%の正答率が出せるようになったため 一度restartされたコンペであった.restart前のデータにも アクセスできたためこんなデータ量になった.
  2. 【上位者の解法】 ・1st Place Solution (0.96782) ・2nd Place Solution (0.81206, solo)

    ・3rd place solution (Triplet Attention) (0.80475, solo) ・4th Place Solution. Steven Signal (0.80428) ・5th place solution (0.80171) ・6th place solution (0.80072, solo) ・8th place solution (0.79945, solo) ・9th place overview (0.79929) ・10th Place solution (0.79809) ※()内はPrivate LB スコア
  3. 【1位】 ・各train foldにおいてold leaky dataも使用 ・同じCVスコアでもLBが異なるモデルがあることに注目 → 差分の画像を可視化してみたところtestデータのみでS字シグナルを発見 ・signal generator

    を使用してtrainデータにS字シグナルを追加 (magic #1) (CVが一定になる範囲内でLBを最大化するように) ・ただし,その後もCV-LB gapは埋まりきらず...
  4. 【1位】 ・domain shiftに対応するため,さらに以下の magic #2を行った (自信ありません.間違ってたら教えて下さい ...) 1. 各列(画像の高さ)ごとに正規化(=平均を0に) 2.

    各画像の第1列のベクトル差をとり,0に近くなるものは同じ背景を有すると評価 (クラスターを作成) 3. クラスター内で列正規化後の画像の差分をとるとシグナルだけがいい感じに抽出される (細かいところは違うかもしれないが ) 要するに肝となる発想は以下の通りだと思われる ... A. 主催者はチャンネル単位(shape=(273, 256))で正規化を行っている B. よって単純に画像の差をとってもシグナルのみを上手く抽出することができない. C. 列ごとに正規化を施すことで画像間の差をとれば backgroundのノイズが消えるように仕向けることが可能 magic #1より magic #2のほうがboostにつながってるんじゃない?と多くの参加者が評価していた ... (magic #1に気づいているteamはあったが magic #2は他に誰も気づかなかった模様 ) 上記が正しいとすると,同じ背景を有する画像が複数存在するというのに気づけているかも大事だったはず
  5. 【2位】 ・2 stage training ・1st stageではaugmentationとしてvflip、cutout、mixupのみを使用 (予期せぬaugmentationで信号が消失するのを防ぐ) ・StochasticDepthとDropoutを使用してover trainingを防止 ・mix

    upではα blendingの代わりに論理ORを使用し,弱いシグナルにも強く対応するこ とが可能に (これは1位もそうだった) ・論理OR : label = labelA + labelB - (labelA * labelB) (soft targetにも対応可) ・lossがNaNになるときは最初にheadとencoder BNsだけ学習させると良いそう
  6. 【2位】 ・2 stage training ・2nd stageでは1st stageのモデルを使って得られたpsudo labelingにて1st stage modelのパラメータを微調整

    ・NoisyStudentを採用し,Stochastic DepthとDropoutをさらに強力にしてpsudo label へのoverfitを防いだ.
  7. 【3位】 ・psudo labeling ・convolutional triplet attention module ・SwishをReLUに置き換えると学習スピード速まる(387s → 347s/

    epoch) ・GeM pooling (1位も使ってたはず) ・Focal Loss (gamma=0.5) ・Mix up (やはり論理OR)
  8. 【4位】 ・Mixed Sample Data Augmentation (MixUp, CutMix) ・Focal Loss (gamma=2,

    alpha=0.7) ・EMA ・周波数軸方向にcubic interpolation (画像サイズを大きく) ・6 channels全て使用するが,channel 0,2,4以外にはmaskを使用 ※時間があれば調べたい : DDP, AMP
  9. 【5位】 ・本コンペでは上手くいかなかったもののいつか使えそうなもの DANN (domain adaptationに) / Audio Spectrogram Transformer Unsupervised

    Data Augmentation for Consistency Training (半教師あり学習) ROC_star (ROCを最適化する損失関数)
  10. 【10位】 worked big models / mixup / bid resolution /

    psudo label / TTA / oof stacking not worked channelをシャッフルするaugmentation / LSTM