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

JSAI Cup 2018 3rd place solution

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →
Avatar for aki. aki.
June 05, 2018

JSAI Cup 2018 3rd place solution

全発表者中明らかに最も雑だったスライドですが、JSAI Cup 2018 報告会の発表資料です。

ダメ元でSIGNATEさんに公開していいか聞いてみたら「規約上はNGだけどクックパッドさんに聞いたらOK出たよ」という手間のかかった(?)返事がもらえたので公開しました。

会場で質問があったところとか書き忘れてたところとかについて補足:

・手元のCV(TTA無し)では96.1%。CVの平均+TTAありで最終スコアが97.5%。TTAでたぶん+1pt近く上がっているので、15モデル作った苦労が報われたといえるかは場合によりそう。

・「CVする」みたいな表現は、このスライドでは「CVで作ったモデルたちの出力の平均を取るアンサンブルをする」みたいな意味で書いてます。(単に説明不足なだけ)

・コンペのルールとして『・2つ以上の異なるモデルを用いてアンサンブル学習(スタッキング、バギング、ブースティング等)させるのは禁止とします。ただし、xgboostやrandom forest、TTA(test time augmentation)等のようにある一つの同一モデル※に対するアンサンブルを含むような手法に関しては利用可とします。※モデル構造とハイパーパラメータが同じであれば同一とみなす』(原文ママ)というのがありました。(このスライドだけ見るとアンサンブル禁止と言ってるのにやってるじゃんとなる説明不足っぷり)

Avatar for aki.

aki.

June 05, 2018

Other Decks in Technology

Transcript

  1. 1 今回のお題 訓練データ: 10000枚くらい (うろ覚え) 評価データ: 4000枚くらい (うろ覚え) クラス数: 50クラスくらい

    (うろ覚え) 中身もほとんど見てないので、 その辺の分析は他の人にお任せします
  2. 3 やったこと (ネットワーク部分のソース) Q: これだけ? A: これだけ Q: Weight decayは?

    A: 忘れてた (けどたぶんやった方がよい) Q: 初期化は? A: 忘れてた (のでglorot_uniformになっちゃってるけど たぶんhe_uniformとかの方がよい)
  3. 4 やったこと (時間)  学習 (2GPUs) 約90[秒/Epoch]×600[Epochs]×15[CV] ≒ 9日間 

    予測 (2GPUs) 約26[秒/Epoch]×256[TTA]×15[CV] ≒ 28時間 Power is justice!! つまり…
  4. 6 Test-time augmentationは256回も必要? 0.925 0.93 0.935 0.94 0.945 0.95 1

    10 100 1000 validation accuracy TTA回数 1-fold分のvalidationで見る限りは必要そうに見えた (ただし最初の頃のいまいちなモデルでの話)
  5. 7 その他のポイント 試したネットワーク  Xception  DenseNet201  InceptionResNetV2 

    オリジナルのResNet風 軽くやってみて下2つが良さそうだったので、 お手軽さ優先でInceptionResNetV2に絞った (Kerasで簡単に使えるものとして他にNASNetも試してみた方が良かったかも)
  6. 8 その他のポイント  Data augmentation 回転(0~360°) パディング クロップ ガウスぼかし アンシャープマスク

    ガウシアンノイズ 明度、彩度、色相、コントラスト Random Erasing mixup (普通?) (普通) (普通) (趣味) (趣味) (趣味) (趣味?) (重要?) (重要?)
  7. 12 おまけ アンサンブル禁止と聞いて真っ先に思いついたネタ input Model A Model B Model C

    shake output 学習時はランダムな重みで 加重平均、予測時は平均 (とか) 流石に発想がひねくれ者すぎるかと思ったのと、 GPUメモリ的にも大変そうなのとで思いとどまった
  8. 13 まとめ もはやデータの十分な画像分類は でっかいネットワーク (今回のInceptionResNetV2はパラメータ数54M) + 定番のData augmentation + Epochたくさん

    とかで、 (コンテストはともかく実用上は)かなり行けるのでは という感触が得られたコンテストでした。