画像分類コンペに、初学者が参加してみた#機械学習
せっかく半年の #データサイエンティスト 修行(データミックスさんのデータサイエンティスト養成講座を卒業)したものの。業務でガチの機械学習つかわない。ので、知識が落ちる前に、 #機械学習 コンペにエントリーぐらいしてみよう、と。そんなときでした。日本企業開催コンペの情報が!
日本絵画に描かれた人物の顔分類に機械学習で挑戦!https://www.nishika.com/competitions/5/summary
コンペ応募期間終わったので、エントリー雑日記こころのこえ。
(設定どこかえたとかはまた暇見て。。書くのか?!)
日本画に書かれた人物とか妖怪の属性をみわけてみなよYOUって問題。
酒天童子、妖怪判定むりでしょ?! 人になるでしょ?! とか思いつつ、初学者過ぎて、そんな悩み以前の状態でしたけど。
なんというか、そもそもの学習用画像の設定がうまくできず、いらいらいらいらしちゃいました。初学者あるあるだと先輩にはげまされましたが……。
GDのマウントの仕方がわかったのはいいが、ディレクトリ指定部分で、ここはどこ?! わたしは誰? みたいな状態。時間食ったなあ……。(あ、わたしがアホなだけ疑惑はのこります)
Zipまま解凍パターンもやってみたんですが。
なんか、チュートリコードに合わせたフォルダ構造がわからなくなってで。もうアナログ的にフォルダ構成つくってみたよね。。。アップに1時間近くかかってさ。わかってる、わかってるの非効率だって。わたしがアホだって。
もう、このあたりで心折れましたよね。
学校だと用意していただいた素材にアクセスして学習させるから、あんまり悩まなかったんですよね。データセット部分。
先生側としては、理論部分でそれどころじゃないから、すっ飛ばしな気持ちはよく分かる。が、意外と教えてほしい部分かも。
さあ、涙を拭いて。
転移学習利用で、モデルチェンジぐらいはしてみようじゃないか!
チュートリはVGG16とSGDのセットでした。
わたしの中では、成績がいいResnet50とSGDのセットに変更で、やんややってみる。
あ、Pythorch使いました。モデルが簡単にセットできるって画期的なんだなーとあらためて。授業のときは必死で、ありがたさにも気づきませんでしたけど。
だが、しかし、まだ、初学者には難!!!ってなりますけどね!!!!
転移学習で特徴量の入力値をかえないと使えなくなるのオレ知ってる。なんで、Resnet50の中身出力して、特徴量の数、確認して該当部分を変更。
なんとか乗り切り、SGDのままでPython走らせたらエラー。なんか、オプティマイザーの学習率をログとるところでひっかかってる。。
丁寧なチュートリに感謝しつつでしたが、初学者には、細やかさがすぎる設定みたいで。転移学習まんまで最後のレイヤー変更ぐらいで収めたかったんですが、3箇所学習ポイントが設定できるみたいな設定で。
何をチューニングして何をやっているのかわからないまま、レイヤー名を変更指定するという、始末。はい、適当に設定しました。さーせん。
で、ま、動いたんでよし!と。今回は、エントリーが目的だから。
ちなみに、オプティマイザーの変更ぐらいもやってみようとAdamに変えたらエラー。。。。くうう。赤い、赤い文字がたくさん!!
先輩に泣き入れて聞く。Adamは、モーメンタム設定いらないらしい。。
モーメンタムは、探索時の加速度のことみたいでさ。物理の世界じゃんコレ。
お休みの趣味時間をついやして、
EfficientNet-PyTorchの設定ぐらいまではがんばりました。
Epochもっと回したら行くかなーという組み合わせもありましたが、もう、設定で心折れて、いやエントリーできたことに満足して終わった笑。
アレコレしてる間に、コラボラトリーにおまえ使いすぎじゃボケとか言われちゃったんで。
F値0.857とかでした。ど真ん中下って感じですかね。
いや、とりあえず、モデルチェンジしてエントリーが目的だったから、目標達成な!!基礎力はあがった!(と思う)
しかし、エンジニアは無理っすオレ。まじでそんけー対象。とか、と改めておもいつつ。データサイエンティストってここまできんとだめななのかなーーーとか、不安にはなりましたね。
ま、ともかく、半年のお勉強でこういうのもちょろくできるようになるのかもなんてのは、夢でした!!! そのうちツールができて悩んだところとか全然悩む必要もなくなるんじゃないかと夢見ますけれど。
AIの民主化はよ、すすんで。