際際滷

際際滷Share a Scribd company logo
Carvana 3rd Place Solution
罪硫 俐峠 / @lyakaap
アジェンダ
? 徭失B初
? コンペ古勣
? 徭蛍の返隈のB初
? 麿の貧了宀の盾隈
? 尅り卦って
1
徭失B初
? L勸互 ★ 廏襖寄にネ襭━F壓B4
? コンピュ`タ`ビジョン狼の冩梢片侭奉
? like : ?、?、?
2
Carvanaコンペの古勣
? 屎塀兆各Carvana Image Masking Challenge
? 鮫颪留馨闇个iきの娼業をう
3
Carvanaコンペの古勣
? 弼?なの16泣鮫
? 嘘尚はほぼ譲匯
? u峺砲DiceS方 :
2|?”?|
? +|?|
? train: s5000旦, test: s100000旦
4
16 view
縮デ`タ
モデルのxk?B
? セグメンテ`ション狼のコンペではとりあえず U-Net1
? Dilated ConvolutionもYいい湖じ
? そこでU-NetとDilated ConvolutionをMみ栽わせた
5
1U-Net: Convolutional Networks for Biomedical Image Segmentation [Olaf Ronneberger, et al. 2015]
U-Net
? U忖侏で恣嘔各
? 畠Y栽咾魍屬燭覆
? スキップY栽を隔つ
6
Dilated Convolutionとは
? g侯を腎けてみzむConvolution
? Dilation rate湯楕に鬉犬謄好ップする嫌が笋錣
湯楕=1で宥械のConvolution
? パラメ`タ`方をやさずに鞭否勸をレげることが竃栖る
7
Dilated Convolutionのe
? Multi-Scale Context Aggregation by Dilated Convolutions [Fisher Yu, et al. 2015]
? ?な湯楕のDilated Convolutionをe咾気擦襪海箸鯡甍
8
Conv
U-Netのどの了崔に塘崔するか
? ^Bottleneck ̄ (輹亞)の何蛍を崔きQえる
9
10
U-Net + Dilated Convolution
娼業編^(U-Net + DC)
? Bottle Neckの何蛍を笋┐燭發里3パタ`ンgY喨は畠て揖匯
? 畠て宥械のConvolutionを聞ったバ`ジョン
? Dilated Convolutionをe咾気擦織乂`ジョン
? Dilated ConvolutionをK双にm喘させたバ`ジョン
11
宥械バ`ジョン e咼乂`ジョン K双バ`ジョン
0.9905 0.9918 0.9916
input: 256x256px
Pseudo Labeling
? 磯縮原き僥の匯N
? テストデ`タを夘貌のデ`タとして聞う圭隈
? 屎t晒の森
12
Pseudo Labeling の盾h
13
gみ
モデル
Test Data
嚠y
Pseudo Labeled Data
Train Data
モデル

1 2
Pseudo Labelingの森
? スコア式び晒來嬬の鯢呂亡鵑く Private LB34 ★ 6了
? Pseudo Labelの屎_さはスコアに唹
? Pseudo Labelをどんどん措いものにチェンジ
? ここまで娼業に燭い神輦
? テストデ`タの楚が謹い
? 娼業が竃やすいタスクだった
14
Public LB Private LB
Pseudo Label なし 0.99703 0.99687
Pseudo Label あり 0.99717 0.99719
アンサンブル
? 5fold @1536 x 1024px + 6fold @1920 x 1280px
? foldgで笋┐燭發裡
? 光Nseedinitializer, デ`タの厚仟の桑
? Pseudo Labelのサンプリングレ`ト
? TTA(Test Time Augmentation)
? rに聞喘した邦峠圭鬚侶舘のみ
15
テスト鮫颪する嚠yのu
? 嚠yの娼業が詰いテスト鮫颪鯡惷
? 屎盾が蛍からないのにどうやって娼業が詰いか登僅する
? なるモデルgでの嚠yY惚のばらつきをる
16
テスト鮫颪する嚠yのu
17
匯桑芦協してる 匯桑ばらついてる
瘁I尖
? CRF(訳周原き_楕)でマスクの瘁I尖
? 嚠yがyしいデ`タ☆にのみm喘
18☆ばらつきが寄きかったテスト鮫馼藁100旦を仝yしいデ`タ々とした
瘁I尖瘁隆I尖の嚠yY惚
スコアは晒???
なぜ貧返く佩かなかったか
19
? CRFがアグレッシブすぎる
? そもそも嚠yマスクが吹いことに
なっているケ`スはごく富方
瘁I尖の念瘁で笋錣蕕覆った何蛍
瘁I尖により嘘尚とみなされた何蛍
瘁I尖によりとみなされた何蛍
Y蕉???
? コンペK阻までにm俳な瘁I尖の圭隈が検かばず
? 羨ちはだかる0.9973の謁
20
恷Kスコア
21
☆ 0.000001の餓沙駲暫兇△燭2.5ピクセル
(鮫駲暫兇波3682560ピクセル)
麿の貧了宀の盾隈5th place, @Kyle
? 弼?な盾餠箸廃Яさせたモデルでのアンサンブル
? 1280x1280, 1600x1280, 1918x1280, and 2010x1340
22
? 瘁I尖采yマスクのI囃を奮★I囃坪を俐屎
? 仝俐屎するorしない々をI囃の廠順からの鉦xで登僅
麿の貧了宀の盾隈11th place, @JandJ
23
? 3ステップで僥
? Stage 1:喨の燃いシンプルなU-Netでjに嚠y
? Stage 2: Stage 1の嚠yY惚を聞って廠順原除を
256x256のパッチに俳りiく
? Stage 3: より侮いU-NetでパッチごとにRefine
郡福泣
? 嚠y娼業の詰いPseudo labelデ`タを僥に根めてしまった
? CVでe泣?揖匯Nの鮫颪efoldに蛍護してしまった
? め俳り20蛍念に嚠yY惚を戻竃しようとしたらgに栽わなかった
24
まとめ
? Carvanaコンペは屈キ幗のセグメンテ`ションのコンペ
? U-NetとDilated ConvolutionをMみ栽わせた
? 瘁I尖が貧返く佩かず
? Pseudo Labeling?アンサンブルでスコア鯢
25
モデルのコ`ド崔き :
https://github.com/lyakaap/Kaggle-Carvana-3rd-Place-Solution
26
おまけ
O協いろいろ
? Optimizer: RMSprop (learning rate=0.0002)
? Batchsize: 1 (麗尖議に1が渊腓世辰)
? Data Augmentation: 邦峠圭鬚侶舘のみ
? Loss Function: dice loss1 + binary cross entropy
27
1 dice loss = 1.0 C ダイスS方
麿にしたこと
? Model: Tiramisu (U-Net + Dense Net), Normal U-Net
? Upsampling: Pixel Shuffler, Transposed Convolution
? Regularization: Batch Normalization/Renormalization, Dropout, Weight Decay
? Activation: ELU, LeakyReLU, PReLU, RReLU
? Optimizer: momentumSGD, Adadelta, Adam
? Data Augmentation: Rotate, Shift, HSV Shift
28
29

More Related Content

Kaggle Carvana 3rd Place Solution

Editor's Notes

  1. ではXくU-Netについてh苧したいと房います。U-Netはその兆の宥り、この蹐里茲ΔU忖侏の恣嘔各なモデルです。 麿のCNNを聞ったセグメンテ`ションモデルと揖じく、畠Y栽咾魍屬燭覆Fully Convolutionalなモデルになっています。 U-Netは、匯稀この蹐臨箸硫新屬如〓みzみとマックスプ`リングで蒙羴薐して、嘔箸硫新屬膿sんでしまった蒙羀泪奪廚僚睿餠箸鬟▲奪廛汽鵐廛螢鵐芦掀で痌していくというI尖を坪何でするので、Auto Encoderみたいなエンコ`ダデコ`ダア`キテクチャとも冱えます。 U-Netの恷寄の蒙罿箸靴討蓮▲妊芥`ダ箸ら蒙羀泪奪廚揖じ盾餠箸魍屬辰討襯┘鵐芥`ダ箸悗離好ップY栽を隔ってるということです。これによってロ`カルな秤鵑肇哀踪`バルな秤鵑I圭を紳覆茲聞うことが竃栖ます。
  2. 鞭否勸、つまり匯指のzみで深打している袈
  3. そんなDilated Convolutionをこの猟ではe咾気擦茲Δ般甍犬靴討い泙后どんな湖じでe咾気擦襪と冱うと、この鮫颪里茲Δ貿海し修らに峺方議に湯楕を貧げて佩くという湖じです。 これによって?なスケ`ルの秤鵑鮗s竃栖るようになります。
  4. で、I圭をMみ栽わせたモデルがこちらです。ノ`マルなU-Netにして笋錣辰寝新屬BottleNeckの何蛍だけで、dilation rate、つまり湯楕を1から32まで峺方議にやしていったものをe咾靴泙靴拭9し魑磴箸靴討蓮△修譴召譴dilated convolution咾らスキップY栽するル`トも伏やして恷瘁にt才を函るということもしています。
  5. 匯鬄云輝にDilated Convolutionをm喘させることに吭龍があるのかを、Bottle Neckの何蛍を笋┐燭發里3パタ`ンgYしました。巷峠なuのために、喨などのパラメ`タ`は畠て揖じものを聞っています。 で、1パタ`ン朕が畠何宥械のConvolutionにしたもの、屈つ朕がe咾気擦織乂`ジョン、これは念スライドのモデルと匯wですね。で眉つ朕がe咾任呂覆K双させるバ`ジョン。これはなる湯楕のDilated Convolutionにしては、e?に秘薦を嚥えて、恷瘁にそれぞれの竃薦を怎し栽わせるというネットワ`ク夛にしました。
  6. では、このコンペで、かなりのスコア鯢呂輪廚鬚靴討れたPseudo LabelingについてB初します。 Pseudo Labelingは磯縮原き僥の匯Nで、Pseudoは晩云ZでM貌という吭龍があります。 古勣についてざっくりと冱うと、テストデ`タをM貌のデ`タとして聞うという圭隈で、屎t晒の森があるそうです。
  7. ┐海海琶垢Pseudo Labelは、嚠yY惚をそのまま_楕で聞ういわゆる"soft"な圭隈と, gHのラベルみたいに屈サしてから聞う"hard"な圭隈の2パタ`ンが深えられます。匯I圭したY惚、念宀のsoftな圭隈の圭が措かったです。
  8. 貧の粁がPseudo Labelなし、和の粁がPseudo Labelありの栽のY惚
  9. クロスバリデ`ションによって竃栖たモデルを聞うことのメリットは屈つあって、匯つ朕が畠てのデ`タをに聞喘できる、もう匯つがアンサンブルのコストが詰い デメリットはモデルの謹來が詰い 麿の貧了宀は寄悶このアンサンブル圭隈
  10. で、あとはすることと冱えば嚠yマスクにする瘁I尖なんですが、まず瘁I尖をするにあたって、モデルによって誼られた嚠yY惚にして、それぞれがどのくらいイイ佩ってるのかuする圭隈を深えました。 採絞嚠yのuをするかと冱うと、どのような瘁I尖の圭隈がmしているのかがある殻業蛍かるということが尖喇としてあります。 では屎盾がわからないのにどうやって娼業をyるんだということについてなんですが、アンサンブル念のなるモデルgでの嚠yY惚の蛍柊を麻して、ばらつきをるようにしました。
  11. 云輝にこの圭隈が嚠y娼業のuが竃栖ていそうかという夘は火るので、匯桑ばらつきが弌さかった、あるいは寄きかった鮫颪髻▲泪好を嶷ねてみて朕で_Jしてみました。ての宥りばらつき、弌さく芦協していると房われる鮫颪蓮朕でても貧返にセグメンテ`ション竃栖ていることが_Jできました。剃にばらつきが寄きい圭はの坪何の圭に僭が腎いてしまっていて、貧返く嚠y竃栖ていません。 このことから、ある殻業屎しく嚠yのuが竃栖ていそうで、yしい鮫颪ちゃんと蒙協竃栖ていることが蛍かりました。
  12. で、醤悶議にどんな朔I尖をしたかについてですが、遺檎酷を聞いました。遺檎酷は、訳周原き鳩楕魁によって、弼や巓xのピクセル秤烏を聞ってセグメンテ`ションを檎艶韓庄稼艶するというものです。
  13. では採絞貧返く佩かなかったかについて、麿のCRFをm喘した箭についても_Jして深えてみました。 これはyしさランキング100了參坪にランクインした鮫颪瘁I尖の念瘁でどうなったかについて弼を原けて辛晒したY惚です。どうやらよくてみるとアンテナの何蛍が橿くなっていて、嘘尚とされてしまっているようです。剃にタイヤホイ`ルの腎挟の何蛍はv弼になっていて、とされてしまったようです。これから蛍かる宥り、CRFはかなりい圭鬚縫▲哀譽奪轡屬Pいていそうだという湖じでした。 また、そもそも10嵐旦の嚠yマスクのうち、念スライドでB初した箭のようにの何蛍にぽっかり僭が_いている並は寇しく、ほとんどの`りが廠順原除にFれていることが圻咀だったので 富なくともCRF參翌の圭隈を瘁I尖に聞うべきでした。
  14. あとはこの繁は朔I尖に薦を秘れていて、嚠霞マスクの概糟囃をまず奮して、概糟囃坪で僭が腎いてしまった何蛍を毘いで俐屎ということをしています。ただ採も深えずに畠ての僭を毘いでしまうと、タイヤホイ`ルの僭の何蛍も毘いでしまうので、概糟囃の廠順からの鉦宣で毘ぐか毘がないかを畳めるという垢健をしています。
  15. threshold
  16. ^鋒蓄とランキングはトレ`ドオフ ̄ by onodera (Instacart 2nd Place Solution)