情報α課題2: CIFAR10でCNNを訓練
from 東大1S情報α 情報α課題2: CIFAR10でCNNを訓練
- とりあえず5層くらいで
- .375
- 12層に増やした
- .325
- あれ、悪くなった
- 5層で、パラメータの数60に増やした
- .410
- 良くなった
- このままパラメータ馬鹿でかくするとどうだろう?
- 120とかにした
- おお、trainは上がったけど汎化性能は微妙
- まあそりゃそうか、パラメータ増やせばそりゃ表現できることは増える
- ここからどう汎化させるかが問題
- 120とかにした
- 最後の方のレイヤーはパラメータの数絞ってみた
- そうすれば最後の方では汎化する圧がかかる?
- あんまり変わらず
- Convolutionもっとするか
- あんまりaccuracyは良くないけど、trainとvalidateが大体同じグラフになった
- つまり、汎化はクリアしているのでモデルの表現力を高めればいい
- Denseを連打してみる
- ダメだった
- .35あたりで止まってしまう
- Convも連打してみる
- うーん、上手くいかん
- activation functionいじってもあまり変わらん
- Convのfilter数が1なのが問題なのでは
convのパラメータや出力がこれだと少ない
きた
- これだ
やっぱConvのパラメータが増えないことには表現できるものも増えないってことか
その上でdense連打
- 予想通り二つが乖離する
- だんだんわかってきた
- だんだんわかってきた
色々試したけど、0.7の壁を越えられないな
- 表現力高めればtrainの方はほぼ1まで近づくけど、validateの方は0.7が天井
レイヤー減らしてみる?
- 多少良くなったのと、終わるのはめっちゃ速くなった
LeakyReLUにしたら多少改善
https://qiita.com/koshian2/items/e66a7ee9bf60ca24c940
- カーネルサイズはだんだん大きくしていく方がよいらしい
- 確かに、考えたらそうだわ
- 細部の特徴を得た後に、大きい特徴を得るべき
- でもあんまり改善せず
- カーネルサイズはだんだん大きくしていく方がよいらしい
VGG16を一部真似してみる
- convメインな感じの構造なのね、最後にバカでかdenseを二つ持ってくる感じ
- ↑で、画像の縦横次元を圧縮して一次元にするみたいなイメージを思い出した
- ↑で、画像の縦横次元を圧縮して一次元にするみたいなイメージを思い出した
- 結構明らかに0.7を越えれた
_
- 結構明らかに0.7を越えれた
|
|
- Dense(2000)を三つにしたり、Convレイヤーの数やフィルタ数を増やしたら、↓が起きる様になった
- 
- 授業でやったやつだ
- 色々いじったけど情報α課題2: CIFAR10でCNNを訓練より良いのは見つからず
- バッチサイズ調整
- [batch_sizeの調整](https://teratail.com/questions/246310)
- ええ、バッチサイズ減らすとむしろ時間かかるのか
- 1024とかにしたら多少良くなった
- なぜだろう?
- 汎化しづらくなるのではと思ったけど
- 
- 1000: 安定して.75 validate届く
- 
- ただそれ以上には行かない、という感じ
- 汎化させたいならData Aug.とかDropoutとかやってみれば良いのかな
- DropOut
- .2を三箇所
- 
- おお、良さげ
- もっと増やしてみる
- .77あたで止まっている
- DropOut増やして汎化性能高めたなら、同時にパラメータやレイヤー数も増やして良いのかも?
_
|
|
- これで.8タッチくらい
- Data Augmentation
- rotationとflipを入れてみた
- 
- おお、trainとvalidateが同じ伸びになった
- 良い<img src='https://scrapbox.io/api/pages/blu3mo-public/blu3mo/icon' alt='blu3mo.icon' height="19.5"/><img src='https://scrapbox.io/api/pages/blu3mo-public/blu3mo/icon' alt='blu3mo.icon' height="19.5"/>
- あとはこのepoch数上げたり表現力高めれば
- data augmentation、上下flipは不要かも?
- [https://www.cs.toronto.edu/~kriz/cifar.html](https://www.cs.toronto.edu/~kriz/cifar.html) をみている感じ
- 
- あまり変わらず
- 
- ずっと続けるとこんな感じ
- batch数をさらに上げてみる、2000
- あんまり変わらん
- RandomRotationをなくしてみたら、さらに上がった
- 
- ただtrainに追いつかないのも少しある
- rotationの仕方が悪かったとか?<img src='https://scrapbox.io/api/pages/blu3mo-public/blu3mo/icon' alt='blu3mo.icon' height="19.5"/>
- 
- 多分この黒い部分がよくなかったのだと思う
- 治した✅
- カーネルサイズをだんだん大きくする
- 
- うぉ、60回回したらこんな形に
- これは線形的な伸びをこの後も期待できる?
- いや、でも普通に悪化している気もするな