宙畑 Sorabatake

機械学習

世界的な機械学習プラットフォーム「Kaggle」の概要と衛星データコンペ事例まとめ

世界的な機械学習のコンペが行われる「Kaggle」では20回以上もの衛星データをテーマとしたコンペが実施済みのよう。Kaggleの簡単な紹介と、衛星データを取り扱ったコンペをまとめてみました。

加速する「オープン化」と「実用化」の波、衛星データ×機械学習でできること」では、衛星データと機械学習の相性について衛星データのプロと機械学習のプロに語り合っていただきましたが、その内容に違うことなく、世界的な機械学習のコンペが行われる「Kaggle」内でも20回以上もの衛星データをテーマとしたコンペが実施済みのようです。

本記事では、Kaggleの簡単な紹介と、衛星データを取り扱ったコンペのテーマをご紹介します。

(1)世界的な機械学習コンペを実施する「Kaggle」とは

Kaggleとは、企業や政府、研究機関から与えられるデータ分析の課題(タスク)に対して、世界中のデータ分析者や統計の専門家が、個人やチームで課題解決手法の精度等を競う「クラウドソーシング型のデータ分析プラットフォーム」です。Kaggleは2010年頃から開始されましたが、2017年にはGoogleによって買収されています。

課題を出す企業側は、自身の事業に関係する課題のベンチマークを社内の人的リソースを使わずに行うことが出来ることや、既に課題に取り組んでいる場合は課題解決のための新たな外部の知見を得ることが出来ます。

また参加者は検出精度等の優秀なスコアを残した場合等には賞金が与えられるほか、そのスコアに応じた称号(ランク)を得ることができます。
宙畑ではKaggleの上位ランカーに面白かったコンペと論文を聞いた「Kaggle上位ランカーの5人に聞いた、面白かったコンペ12選と論文7選」も公開していますのでぜひご覧ください。

Kaggleで社外の様々な課題に向き合い解決してきた能力が、社内でも活用することが出来るメリットや、「データ分析に強みを持つ組織である」というブランディングのため、Kaggleを採用に役立てる動きも出てきています。先日、AI人材が多く所属する日本企業「DeNA」でも、Kaggleのランクに応じて、業務時間内に「Kaggle」にチャレンジしてよい割合が決まる「DeNA Kaggle社内ランク制度」が話題になりました。

このように注目が集まり続ける「Kaggle」について、まずは次章でサイトの巡り方を簡単にご紹介します。

(2)Kaggleサイトの巡り方

トップページの上側にいくつかタブがありますので、それぞれ内容をみていきましょう。

ぜひ、Kaggleと本記事を並べながらご覧ください。

◆Competitions
コンペに関する情報確認するページです。現在開催中のコンペを確認出来ますし、過去に開催されたコンペも確認することが出来ます。なおコンペには幾つかカテゴリ分けがあります。
===
Featured:一番主要なカテゴリで、賞金のあるコンペ
Research:実験的要素の強いコンペ。賞金等はない
Getting Started:初心者向けで、期限がないコンペ
Playground:Getting Startedの一つ上のレベルという位置づけで、「楽しむ」ことに主眼を置いたコンペ。
Recruitment:コンペ後に希望者に対して採用プロセスのあるコンペ
Annual:年二回開催している大会
Limited Participation:マスターとグランドマスター以外参加出来ないコンペ
===

◆Datasets
Kaggleユーザー間でデータセットを共有するためのプラットフォームです。アカウントを持っていれば自分のデータセットを共有することも出来ますし、人のデータセットをダウンロードすることも出来ます。またデータセットごとのDiscussionやNotebooks(後述)もあります。

◆Notebooks
元々は(現在も呼ばれていますが)Kernelと呼ばれていた機能で、クラウド上で計算やデータの可視化を行うことが出来ます。制限はありますがGPU環境(NVIDIA Tesla P100)を扱えます。

また、Kernelユーザーが作成したNotebookを公開することも出来ます。公開されたNotebookは他のユーザーのVote(投票)によって評価され、Vote数によってメダルを獲得することも出来ます。初心者には熟練者の技術を学ぶ場にもなっています。さらにコンペ期間中には、コンペに関するデータの特性に関する発見等が共有されています。

実際にIdentifying Ships in Satellite ImagesのNotebookを例に見てみましょう。JupyterNotobookを普段から使っている方はすぐにわかると思います。左側にNotebookのアウトライン、中央にはコードと、その実行結果を確認することが出来ます。

さきほどのページではコードを実行出来ませんが、右上のEdit My Copyをクリックすると、自分のKaggle実行環境にNotebookごとコピーでき、コードを動かすことが出来ます。

さらにコピーは元データが呼び出せる形になっているので、基本的には自分でデータをアップロードしたりせずにすぐに他の人のコードの改変が出来ます。例として表示する船を変えてみました。

◆Discussion
分析コンペの内容について参加者同士でディスカッションする場です。初心者からの質問もありますし、評価方法等のコンペに関すること、Notebooksと同様に参加者がコンペのデータ等について発見したこと等が共有され、議論されています。

◆Courses
無料でデータサイエンスを学ぶコンテンツを提供しています。Kaggleというと敷居が高いですが、Pythonや機械学習を基礎から学ぶコースもありますので初心者がKaggleコンペにトライする最初の取っ掛かりにもなります。衛星データに近いところで言うと最近、「Geospatial Analysis」コースが追加されました。

◆NewsFeed
ログインするとトップページにtwitterやFacebookのような形でタイムラインが現れます。このタイムラインにはユーザーのフォローした情報や、ユーザーの趣向を学習してKaggle内の情報が流れてきます。

上記ではトップページからアクセスしましたが、各コンペページでも同様のタブがあります。上記以外には以下のタブがあります。

◆Rules
コンペのルールが記載されており、賞金の金額や期限などチーミング等の参加上のルールが記載されています。

◆Leaderboard
開催中コンペであれば、現在のユーザーごとのランキングと、評価指標ごとのスコアが公開されています。終了後のコンペでは、ランキングとスコアに加え、獲得メダルも確認できます。

Kaggleは非常にコンテンツが充実しています。機械学習に触れたことがない人でもCoursesで自分の興味のあるコースを受講して基礎から始めてKaggleデビューしてはいかがでしょうか。またコンペごとにNotebooksで多くの解析手法等が公開されているので、公開されたNotebookは非常に勉強になりますし、自分で作成したNotebookを公開して意見をもらうとさらに勉強になります。常に学び続けることが出来る場です。

(3)Kaggleの衛星データコンペについて

Kaggleではトップページの検索窓からキーワード検索で、開催中・終了コンペを調べることが出来ます。実際にどのようなコンペが行われていたのか、課題ごとに調べてみました。

調査した結果、ジャンルは様々ですが衛星データを扱ったコンペのみまとめると以下のようになりました。
※宙畑で任意にカテゴリを振り分けも行っています

どうやら「予測」「物体検出」「分類」が衛星データを扱ったKaggleコンペの課題としては多く出されているようです。

たとえば、「物体検出」では船舶、道路、綿作物の検出がテーマとなっていますが、船舶の検出ができることで違法漁船の多いエリアの特定ができるようになります。また、「分類」でテーマに上がった送電塔は、特定地域における電気がどこまで行き届いているかの推定などが可能になります。

今後さらに多様なコンペが行われることで、地球全球の任意の状態把握を可能にするアルゴリズムがどんどん生まれると考えるとワクワクしますね。

何かピンとくるものがあればぜひKaggleのコンペページもご覧ください。

【予測】
指定場所の降雨量予測
近赤外画像からの降雨状況予測
5日連続で撮影された衛星画像を時系列に並べる

【物体検出】
綿の検出
道路の検出
アマゾンにおける森林伐採の検出
船舶の検出

【分類・識別】
発電所種別の分類
送電塔もしくは送電線有無の分類
ソーラーパネル有無の分類
雲種別の分類
土地被覆分類
海氷・船舶の識別 ⇒ 宙畑で解説しました!「【Kaggleコンペ解説連載】衛星画像による海氷と船舶の識別

(4)日本版Kaggle「SIGNATE」でのTellusコンペについて

今回はKaggleについてご説明しましたが、コンペティション自体は他にも存在します。「10 Data Science Competitions for you to hone your skills for 2020」によると、Kaggleの他に、ロシアの国立研究大学高等経済学院(Higher School of Economics)とロシアの検索エンジンYandexが年次で開催しているInternational Data Analysis Olympiad (IDAHO)や、DrivenData社が行っているDrivenData等があります。

日本にも日本版Kaggleとも呼ばれている「SIGNATE」というクラウドソーシング型のデータ分析プラットフォームがあります。

例えばウェザーニューズ社が「Weather Challenge:雲画像予測」という未来の雲画像を予測するコンペを行っていましたし、産業技術総合研究所も「衛星画像分析コンテスト」でゴルフ場の検出コンペ等を行っていました。

「Tellus」でもSIGNATEでコンペを3回実施しており、第1回、第2回の内容や結果は以下の記事にそれぞれまとまっています。

そして、第3回のテーマは「海氷検知」となっており、2019年11月30日まで行っていました。現在結果発表待ちとなっており、後日その結果を公開予定です。

(5)まとめと「Tellus Trainer」について

以上、今回はKaggleの簡単な紹介と合わせて、衛星データ活用をテーマとしたコンペをまとめました。

機械学習を用いることで、リモセンのプロの目で識別することと匹敵する精度を叩きだしていると「加速する「オープン化」と「実用化」の波、衛星データ×機械学習でできること」でもあったように、今後、冒頭に紹介した衛星データx機械学習の事例を目にすることはきっと増えることでしょう。

衛星データx機械学習に興味を持たれた方は、ぜひ無料で衛星データを触れる「Tellus」にて、衛星データで遊んでみてください。

そしてKaggleやSIGNATEなど、コンペにもぜひチャレンジしてみてくださいね!

Kaggle関連記事