まだタイトルない

アウトプット用です

【Kaggle】2回目のコンペ感想【小麦コンペ】

はじめに

本記事では、テーブルコンペ(時系列データ)に1回だけ参加したことがある機械学習初心者が小麦コンペに約2週間だけ取り組んだことについて色々書きます。

結果としてはnotebookをそのままsubmitしてプライベート上位50%です。

kaggleをやったことない人、これからやってみようとしてる人にむけて「素人が2週間取り組むとこんな感じだよ」という雰囲気になると思います。

コンペ中にとったメモをもとに書きますが、正しい認識をもとににかけてるとも限らないので、信じすぎないよう、指摘等お願いします。

参加登録を7/24にした

もうこの時点で2週間きっているのですが、主目的としては画像コンペってどういうことをしているのか?を少しでも学ぶことです。

Object Detectionという分野だった

色々概要を読んでわかったのですがコードコンペかつObject Detectionという物体検証タスク種類で、CIFER-10のような画像分類とは違ったものでした。

今回のコンペでは小麦の頭の部分(なんていうかわからん)を矩形で囲みなさいというタスクです。
f:id:teyoblog:20200805212425p:plain:w400

インターネットoffのnotebookの提出

大まかな流れとしては

  1. インターネットonのnotebookで学習して重みのファイルを作る。
  2. 重みをインプットデータに使って、予測をする(インターネットoffの)notebookを作成して提出。

という流れで、"training-efficientdet"と"inference-efficientdet"のように2つで1つのノートブックが公開されている。

EDAのnotebookを読んだメモ

www.kaggle.com

  • 実際に画像と矩形を出力
  • 矩形の数/画像のヒストグラムを作成
  • 矩形の面積の最大最小、ヒストグラムの作成
    • 矩形の面積が異常に大きい画像を実際に見ることで信用度の低いアノテーションが存在することがわかる

このnotebookの中で大きい矩形のアノテーションは削除してトレーニングしたほうが良いと分析されていましたが、今回は自分で試すことが出来ませんでした。結果に影響が出せるのか気になります。

pytorchが多い

個人的には今後kerasを勉強していこうと思っているのですがpytorchの勢いが良いように感じてます。実際に小麦コンペの公開notebookを見てもpytorchが多かったのでpytorch学ぶか?となってます。

今回はpytorchのお作法を学ぶまでは余裕がなかったです。

知らないアルゴリズムが多い

さらっとnotebookを見たり、調べたりした所下記アルゴリズムを発見

  • CenterNet
  • FasterRCNN
  • RetinaNet
  • YOLOv3
  • EfficientDet
  • YOLOV5
    • 最新ですごいけど本コンペでは使用は違反とのこと

ここらへんのアルゴリズムの歴史とか特徴も抑えていかなければいけませんね...

テクニック

学習時間

画像ということでしっかりかかるようで数日かかると書いてあるものも確認。

まとめ

今回は時間の少なさと要領の悪さからコードの写経までできず実装部分の勉強はできませんでした。画像タスクにおける大まかな流れにしか触れられなかったので、基礎力の低さも感じました。
次のコンペはもう少し時間をかけてやることになるのでしっかり学びたいと思います。

なかなか上位者の開放とか見ても理解に至れない部分が多いですが今後色々発信されてくると思うので楽しみです。