ML Study Jams 初心者向けコースをやってみた感想
-
カテゴリ:
- サーバ
このゴールデンウイーク(GW)中に何か新しいことをしたいと思っていたところに、ちょうど「ML Study Jams」というものをネットで知ったので、試しにチャレンジしてみました。
GWも終盤をさしかかった現時点で、7つあるプログラムの内、4つまで完了させました。
時間があれば残りも終わらせたいのですが、最低4つ終わらせれば TensorFlowのロゴが入ったTシャツやパーカーがもらえるらしいので、取り急ぎやりたいプログラムを見繕って受講しましたw。
今回はその時の感想を簡単にメモ程度に書きたいと思います。詳細をどこまでブログに書いて良いか分からないし、正直全体の半分くらいしか理解していないので(汗)、簡単なものになりますがご了承ください。
ML Study Jamsとは
ML Study Jamsとは、Googleが提供しているGoogle Cloud Platformを利用して機械学習を学ぶことができるオンライン学習プログラムです。
Googleは他にも「Grow with Google」という取り組みの中で、未来に役立つデジタルスキルの習得をサポートするためのいろいろなトレーニング教材を提供しているようです。
個人・ビジネス・学生・教育者・スタートアップ・デベロッパーなど様々なニーズに合わせた教材があり、デベロッパー向けの教材がこの「ML Study Jams」ということになります。
Googleのアカウントがあればだれでも無料で体験することができます。申請をするとGmailにメールが届き、プログラムの受講に必要なクーポンが配布されます。そのクーポンを使ってGoogle Cloud Platformにアクセスし、タスクをこなしていく感じです。
流れとしては以下の通り。
2019/4/22(月) 申し込みの受付開始
2019/4/22(水) クーポン付メール送付+各自クエストを開始
2019/5/6(月) 自学習の方の申し込み終了
2019/5/22(水) プログラム終了
この記事が上がる頃なら、まだギリギリ申し込みは間に合いますね。
ML Study Jamsは大きく分けて 初心者向けと中級者向けの2種類があるのですが、自分は初心者向けを選択しました。
初心者向けのプログラムは全部で7つあります。
- BQML で分類モデルを使用して訪問者の購入を予測する(日本語)
- BigQuery ML 予測モデルによるタクシー運賃の予測(日本語)
- Google Cloud Speech API: Qwik Start(日本語)
- Cloud Natural Language API: Qwik Start(日本語)
- Speech to Text Transcription with the Cloud Speech API(英語)
- Entity and Sentiment Analysis with the Natural Language API(英語)
自分は上記のうち、上から順に4つ受講しました。その概要と感想をご紹介します。
プログラムの概要
BQML で分類モデルを使用して訪問者の購入を予測する
制限時間:1時間15分
BQMLはどうやらBigQueryMLの略称らしく、このプログラムではBigQueryを使って機械学習のモデル作成とトレーニング、評価、予測を体験します。
使うデータはGoogleアナリティクス関連の情報で数百万件もある大量データになります。
大まかな作業の流れとしては、
Google Cloud PlatformにアクセスしてBigQueryを立ち上げる
⇒ 大まかなBigQueryの使い方を学ぶ
⇒ SQLを発行して実際にデータを取り出す
⇒ バッチ予測に使用するトレーニング用と評価用のデータセットを作成する
⇒ 分類モデル(ロジスティクス回帰)を作成する
⇒ 作成したモデルを評価する
⇒ 実際に予測してみる
みたいなことをやっていきます。
実際の課題の一部は以下のようなものがありました。
- ウェブサイトを訪れた訪問者の何パーセントが実際に購入したか。
- ウェブサイトに再訪問して購入した訪問者は何人か。
- 売上上位 5 商品は何か。
- e コマースの利用者の多くが、閲覧するものの再訪問するまで購入しない理由は何か。
上記の内容だけ見ると敷居が高そうに感じるかもしれませんが、ちゃんと日本語の説明もあるし、その答えとそれに必要なSQLもすべて載っています。
自分はだたSQLをコピペして実際に実行し、結果を確認するだけなので、タスクをこなすだけなら簡単です。ただし内容を理解しながら進める場合は少し難しく感じました。とても制限時間内では終わりません。
BigQuery ML 予測モデルによるタクシー運賃の予測
制限時間:1時間
2つ目のプログラムも1つ目と同様に、BigQueryを使ったプログラムになります。
ただ扱うデータがタクシー関係のデータセットを使います。
しかも機械学習に関してい言うと、1回目は分類モデルだったのに対し、今回は予測モデル(線形回帰)になります。
課題の内容は以下の通りでした。
- 2015 年のイエロー タクシーの毎月の賃走回数は?
- 2015 年のイエロー タクシーの平均速度は?
Google Cloud Speech API: Qwik Start
制限時間:30分
3つ目のプログラムはGoogle Cloud Shellの使い方を学び、Google Cloud Speech API を使用するプログラムでした。
作業の流れは、
Google Cloud PlatformにアクセスしてGoogle Cloud Shellを立ち上げる
⇒ 大まかなGoogle Cloud Shellの使い方を学ぶ
⇒ APIキーを作成する
⇒ Speech API リクエストを作成する
⇒ Speech API を呼び出す
という感じでした。
Google Cloud ShellはLinuxなので、Linuxを使ったことないと少し戸惑うかもしれません。
自分は普段からLinuxを使っていたので、今回はサクサク進めることができました。
Cloud Natural Language API: Qwik Start
制限時間:40分
今回もGoogle Cloud Shellを使うプログラムになります。
さらにGoogle Cloud Natural Language API を使用して、ドキュメントやニュース記事、ブログ投稿に含まれる人、場所、イベントなどに関する情報を抽出していきます。
内容としては以下の通り。
Google Cloud PlatformにアクセスしてGoogle Cloud Shellを立ち上げる
⇒ 大まかなGoogle Cloud Shellの使い方を学ぶ
⇒ APIキーを作成する
⇒ エンティティ分析リクエストを行う
注意するポイント
ML Study Jamsを受講している際に、いくつかハマってしまう注意ポイントがあったのでご紹介します。
制限時間に注意
全てのプログラムには制限時間が設けられています。
受講開始時にあらかじめ送られていたクーポン(※1)を使ってログインするのですが、開始とともにカウントダウンが始まり、0になると強制終了となります。
一度使ったクーポンは再度使えないんので、時間切れになったりラボを自発的に終了させるなどして、意図せずクーポンを使いきらないように注意しましょう。
※1.クーポンはメールで送られ来ます。8桁のコードになっていて、全部で10個ほど配布されます。
複数アカウントに注意
クーポンを使う前にまず最初にQWIKLABSのサイトに自分のGoogleアカウントでアクセスする必要があります。
そこからクーポンを使うことで、ワンタイムのGoogleアカウントが発行されてそのアカウントでGoogle Cloud Platformにサインインすることになります。
つまりGoogle Cloud Platformにアクセスする際、ブラウザには2つのアカウントが存在することになり、意図せず自分のGoogleアカウントでサインインしてしまいエラーになることが何回かありました。
最悪インスタンスがうまく作成されずにクーポンを一つ無駄にしてしまったので、Google Cloud Platformにアクセスする直前で自分のアカウントはログアウトさせておくことをオススメします。
Google Cloud Platformの新UIに注意
今回は何もせずそのままGoogle Cloud Platformにアクセスすると新UIで立ち上がります。
しかし、各プロジェクトのマニュアルはすべて旧UIで説明されているのであまり参考になりません。
最初の説明で「従来のUIに移動」ボタンで従来のUIに戻すように促されますが、新UIがさらに一新されたのかそのようなボタンはありませんでした。
まとめ
今回、ML Study Jamsをやりその感想をご紹介しました。
課題を進めるだけならコピペだけなので簡単に進めることができます。
ただし、理解するには予備知識としてSQLや機械学習の初歩的な内容、Linuxの知識など必要になるので少し難しと思います。
しかし機械学習初級者の自分でもなんとか完了させることができたので、なんとかできるちょうどいいレベルなんだおと思います。
機械学習てやったことないと取っつきにくいし、何ができるのかイメージしずらいけど、このML Study Jamsではどういうデータから最終的に何ができるのかをBigQueryを使いながら体験できるので、仮に何も知らなくてもとりあえず実践してみて、体験することをオススメします。
やり終えるとなんか機械学習を分かった気になれますw(実際は半分も理解してないかもだけど)