atmaブログ

atma株式会社の公式ブログです。

AutoML Tablesを使ってKagglerを倒せなかった話 #atmaCup

はじめに

弊社が主催するデータコンペのatmaCupに、
普段はサーバーサイドエンジニアで機械学習ほぼ未経験の私が、
AutoML Tablesを使って参加し、
数多のKaggler犇めく中で31チーム中8位になりました。
f:id:atma_inc:20190816192927j:plain 本記事はAutoML Tablesを実際のデータコンペに投入してみた結果と感想です。

結論

  • AutoML Tablesはかなりの運ゲー
  • 1時間程でそれなりの結果が出るAutoML Tablesはすごい
  • AutoML TablesよりKagglerはすごい

概要

対象者

本記事の対象者は、機械学習初心者の方や、AutoML Tablesって聞いたことあるけど実際どうなの?という方向けです。

自己紹介

atma株式会社でサーバーサイド及びフロントエンドエンジニアをしている田中です。
機械学習はほぼ未経験です。
最近はFirebase+Vue.jsを使用したアプリケーションをよく作っています。

atmaCupとは?

atmaCupとは、データ解析・アルゴリズムソリューション・システム開発を行うベンチャー企業atma株式会社が主催するオンサイトデータコンペティションです。
実際に参加者が会場に集まりチームでデータ解析を実施し、得た学びを共有します。 f:id:atma_inc:20190819175539p:plain 今回は、2回目(https://atma.connpass.com/event/138332/)の開催で、
Kaggle MasterやGrandMasterも参戦し、関西では過去最大のオンサイトコンペとなりました。 コンペの内容については細かくは言えないのですが、時系列データの予測を行いました。

AutoML Tablesとは?

AutoML Tablesとは、Google社が提供している教師付きの学習サービスです。
構造化データを使用して、機械学習モデルが新しいデータについて予測を行うようトレーニングします。
2019年8月現時点ではベータ版です。

もっと詳しく知りたい方は初心者ガイド(https://cloud.google.com/automl-tables/docs/beginners-guide?hl=ja)がわかりやすいと思います。

本題

AutoML Tablesはかなりの運ゲー

今回のデータコンペでは計5回、AutoML Tablesでトレーニングしました。
結果として毎回かなりCV値がブレていました。

実際に結果を見ていただくのがわかりやすいかと思います。
f:id:atma_inc:20190816195515p:plain 本コンペの評価指標は「MSLE」で、AutoML Tablesは「MSLE」が選べないので「RMSLE」を評価指標としています。 *1

この結果より、かなりブレていることがわかります。

さらに、AutoML Tables上のCVとコンペサイト上のLBの値が乖離していました。
f:id:atma_inc:20190816200741p:plain LBは「MSLE」なのでRoot取らないと行けないのでちょっと分かりづらいですが、
明らかに数値が異なります、CV上の値がそのまま出れば余裕で1位でした。(笑)
過学習が発生していると考えられます。

なお、かかった金額は、
レーニングデータの行数が1万件だったので、トレーニング時間は最小の1ノード時間で終わり、1回約2,000円でした。
(大体10万行までは1~3ノード時間で終わります。)
5回実行したので約1万円です。
裏で動いているマシン数などから考えると安いのですが、かなり結果にブレがあると結構ショックを受けます。
ソシャゲの10連ガチャを回してる気分になります。(笑)

1時間程でそれなりの結果が出るAutoML Tablesはすごい

ただ、運ゲーといえども、やっぱり92台のマシンが並列で処理するのは強いです。(いわゆる札束で殴るスタイル)
さすがにKagglerでも1時間では敵わないので、超短期決戦では勝てると思います。

また、解析の目安、リークのチェックに向いてるのではないかと思います。

AutoML TablesよりKagglerはすごい

AutoMLはチューニングのし所がほぼ無く、これ以上のスコアを出すにはガチャを回すかのようにトレーニングを回すしかありません。
今回の結果を見るに、1日あればKagglerに追い抜かれてしまい、その後どんどんKagglerはスコアを上げて行けます。

つまり、やっぱりKagglerはすごい。

まとめ

AutoML Tablesは現状ではKagglerを倒すことは難しかったです。
ただし、現状はまだベータ版で今後も性能が向上していくことが予想されます。
継続的にAutoML Tablesを試していき、その成長を見守っていきます。

また、次回のオンサイトデータコンペの開催も予定されており、私もAutoML Tablesで参加する予定です。

以下、connpassの「メンバーになる」をクリックすることでイベント開催時にメールが届きます。
https://atma.connpass.com/

AutoML Tablesを倒してみたい!というKagglerの皆様の参加をお待ちしています!!

*1:「RMSLE」は「MSLE」にRootついてるだけなので評価は同じになります。