Edited at

End-to-End Machine Learning with TensorFlow on GCPを受講した話


3行で

https://www.coursera.org/learn/end-to-end-ml-tensorflow-gcp?specialization=advanced-machine-learning-tensorflow-gcp

Advanced Machine Learning with TensorFlow on Google Cloud Platform Specializationという一連のコースの1番目

GCPを使った基本的な機械学習プロジェクトの進め方を一通りさらえる


どんな人におすすめか

必須

・英語字幕で動画が理解できる

・クラウドサービスと機械学習に興味がある(触ったことがなくてもOK)

推奨

・SQLを触った事がある(SELECT, WHERE, GROUP BYの意味ぐらいわかればいい)

・オンプレの計算資源に依存しない機械学習システムを構築したい問題意識がある

・GCPの基本的な機能を使える

(不足を感じたらGoogle Cloud Platform Fundamentals: Core Infrastructureを受講するぐらいで大丈夫そう)

不適

・クラウドサービスを完全に理解しているマン

・どうしてもAWSしか使いたくないマン

・機械学習のモデリング部分にしか興味がない人

・機械学習の実際のプロジェクトを何度も回したことがある人


どんなコースか

GCPを使った基本的な機械学習プロジェクトの進め方を一通りさらう内容になっています。

公開されてる出産時の妊婦と新生児のデータを使って、出産前に新生児の体重を予測するサービスを構築する仮想のプロジェクトをベースに、

・どんな特徴量をつかうか

・どうやって(ごくごく単純に)モデルを構築するか

・構築したモデルをスケールアウトするには

・機械学習モデルをwebサービスとして提供するには

のような流れになっています。

6つ(+1つのオプション)のQwikLab実習があって実際にコードを書きながら学習することができます。

Specializationのあとに続くコースの基礎になっています。

あとに続くコースはより「質の高い」機械学習システムを構築する上で覚えるべきことが続きます。


感想など

実習も結構おんぶにだっこ感はあるけど、完全にお膳立てされてるわけでもなく、自分の裁量で考えてすすめる余地のあるものだった点は面白かった。

例えば、どんな特徴量をモデルに入れるべきか探索する実習では、一応お膳立てされた正解はあるものの、自分であれこれの特徴量を試すことができる。

あえて指示から脱線して自由に遊んでみるとより面白いし学べるんじゃないだろうか。

受講者の負担は時間とcourseraの受講料だけで、GCPの利用料が追加でかかるわけじゃないし、実習は何度も再受講可能だしね。

機械学習を実際のビジネスとして運用するまでに必要なことのうち、モデリングが占める割合なんてめちゃくちゃ少ないなとは常々思っていたけども、ここまで受講してようやく一通りさらえた感じがある。

コースの実習で使う素材はgithubで公開されているし、自分で機械学習プロジェクトを遂行する際にも大いに参照できる。

https://github.com/GoogleCloudPlatform/training-data-analyst

クラウドサービスを使うからまあ当たり前だけど、自分で環境構築せずに開発をはじめられるのはめちゃくちゃよい。

環境つくるのって時間の無駄な上に時間食うんだよな・・・。

このコースはGCP上のAI platformでJupyterLabを使って進められる。予めtensorflowを始めとしたパッケージが入ってる環境なので環境構築をすっとばして機械学習に集中できる。

これまでTensorFlowってDNNの計算ライブラリだと思ってたんですけど、それだけじゃないんですね。

機械学習のモデリングと、モデリングのすぐ近くにあるところまでカバーされてるんだね。

GCPのDataFlowからデータ受け取るとか、GCPで分散コンピューティングしてもらうとか。


次は

Advanced Machine Learning with TensorFlow on Google Cloud Platform Specializationを一通り受講したい。