Open takapy0210 opened 4 years ago
転移学習なしのCV: 0.017415179912406254 転移学習ありのCV: 0.017443502003782124
https://www.kaggle.com/takanobu0210/tf-resnet-transfer-label0-9995?scriptVersionId=46427142
for layer in model.layers:
layer.trainable=False
Tawaraさんのこれを試してみるのは筋が良さそうなので試す https://github.com/team90s/kaggle-MoA/issues/88
転移学習ありのCV: 0.0162244526057720(https://www.kaggle.com/takanobu0210/tf-resnet-gauss-label0-9995-10seed?scriptVersionId=45813441) 転移学習なしのCV: 0.01631410100184313(https://www.kaggle.com/takanobu0210/tf-resnet-transfer-label0-9995?scriptVersionId=46436260)
CV改善したのでsubしてみる
コードの例
if SELECT_NONSCORE:
sel_num = 207
nonscore_select_col = ['sig_id']
nonscore_select_col.extend(train_targets_nonscored.iloc[:,1:].sum().sort_values(ascending=False)[:sel_num].index.tolist())
train_targets_nonscored = train_targets_nonscored[nonscore_select_col]
バグを仕込んでいることに気づいた(pre trainのCV分割が予期せぬものになっていた)ので、バグを修正する汗
お、僕のコードですかね?
あ、自分のコードですwww
https://www.kaggle.com/takanobu0210/tf-resnet-transfercolselect-label0-9995?scriptVersionId=46533215 今回CV:0.01623009889872894 元々CV:0.016233816023871413(全カラムをtargetとしてpretrainした結果)
若干CV改善した
label が all 0 の行を消して実行
https://www.kaggle.com/takanobu0210/tf-resnet-transfersampleselect-label0-9995?scriptVersionId=46535269 今回CV:0.016313887726749406 元々CV:0.016233816023871413(全カラムをtargetとしてpretrainした結果)
若干CV悪化した pretrainのlossがもうちょい下がりそうなので、もう少しepoch増やしても良いのかもしれない(現在10でやっている)
31/31 - 0s - loss: 0.0243 - binary_crossentropy: 0.0232 - val_loss: 0.0231 - val_binary_crossentropy: 0.0219
Epoch 7/10
31/31 - 0s - loss: 0.0219 - binary_crossentropy: 0.0207 - val_loss: 0.0213 - val_binary_crossentropy: 0.0200
Epoch 8/10
31/31 - 0s - loss: 0.0205 - binary_crossentropy: 0.0193 - val_loss: 0.0204 - val_binary_crossentropy: 0.0191
Epoch 9/10
31/31 - 1s - loss: 0.0196 - binary_crossentropy: 0.0183 - val_loss: 0.0198 - val_binary_crossentropy: 0.0185
Epoch 10/10
31/31 - 0s - loss: 0.0189 - binary_crossentropy: 0.0176 - val_loss: 0.0193 - val_binary_crossentropy: 0.0179
https://www.kaggle.com/takanobu0210/tf-resnet-transferselectsample-col-label0-9995?scriptVersionId=46543987 今回CV:0.016234341409016754 元々CV:0.016233816023871413(全カラムをtargetとしてpretrainした結果)
若干CV悪化した
https://www.kaggle.com/takanobu0210/tf-resnet-6lfixed-transferselectsample-col?scriptVersionId=46551870 今回CV:0.016260283624924987 元々CV:0.016233816023871413(全カラムをtargetとしてpretrainした結果)
若干CV悪化
ちょっとお聞きしたいんですけど、
最終3層:ネットワーク図での dense_7, BN_8, dense_8
最終6層:ネットワーク図での BN_6, dense_6, BN_7, dense_7, BN_8, dense_8
という理解であってますか?そのうえで、
重みのロード \ 重みの固定 | 最終3層以外 | 最終6層以外 |
---|---|---|
最終3層以外 | 0.01623 (https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724436974) | まだ |
最終6層以外 | - | 0.016260 (https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724626340 ) |
ってことでしょうか。 0.016260 の方が pretrain した重みを使う層が少ないので損している気がしますし、実際 CV もちょい悪いですね。 また、重みもあまり固定しない(または input に近い数層だけ固定する) 方が良さそうな感じがします。(多分これから試そうとされてたと思いますが。)
個人的には 画像モデルとかでよくやるみたいに 最終層(ここでの dense_8 ) 以外をロードしてかつ重みを固定しない奴の性能がどうなるかが気になります。
最終3層:ネットワーク図での dense_7, BN_8, dense_8 最終6層:ネットワーク図での BN_6, dense_6, BN_7, dense_7, BN_8, dense_8
あってます!
最終層(ここでの dense_8 ) 以外をロードしてかつ重みを固定しない奴の性能がどうなるかが気になります。
たしかに、これを試すのを完全に失念してました ちょっと試してみます!
ちなみに重みはどれも固定していない状態です!
重みのロード | CV | memo |
---|---|---|
無し | 0.016202 | kernel |
最終1層以外 | 0.016248 | https://www.kaggle.com/takanobu0210/tf-resnet-1lfix-transfer-selsample-col100-ls9995?scriptVersionId=46665843 |
最終3層以外 | 0.016234 | (https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724436974) |
最終6層以外 | 0.016260 | (https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724626340 ) |
あ、確かに load したあとに全ての層に対して trainable を True にしてるところありますね! 実験名から固定してると勘違いしてました笑
入力に近い層から固定していくのも余裕があったらやりたいですね。
今1層以外ロードするverを実行してみているところです💪
重みのロード | CV | memo |
---|---|---|
無し | 0.016202 | kernel |
最終1層以外 | 0.016248 | https://www.kaggle.com/takanobu0210/tf-resnet-1lfix-transfer-selsample-col100-ls9995?scriptVersionId=46665843 |
最終3層以外 | 0.016234 | (https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724436974) |
最終6層以外 | 0.016260 | (https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724626340 ) |
あとは固定の件と、sinchir0 さんの方の実験( https://github.com/team90s/kaggle-MoA/issues/94#issuecomment-725475266 ) で言ってたハイパラの件とかですかね? CV に関しては元よりは良くなると予想してたので意外でした。
概要
参考
https://github.com/team90s/kaggle-MoA/issues/84
submitしてみるnotebook list
[x] オリジナル https://www.kaggle.com/takanobu0210/tf-resnet-transfer-org?scriptVersionId=46574716
[x] pos sample top100のみtargetとして使用したpretrainを実施 https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724281722
[x] label が all 0 の行を消してpretrainを実施 https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724352822
[x] pos sample top100のみtarget & label が all 0 の行を消して実行 https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-724436974
[x] 最終1層以外に重みをロード https://github.com/team90s/kaggle-MoA/issues/85#issuecomment-725502246