Skip to content

【福岡開催】AWS Solution Seminarで機械学習に入門してきた

Posted on:November 19, 2019 at 04:01 AM

これまで AWS のイベントは結構スルーしてたんですが、個人として AWS 完全に雰囲気で触ってる感を脱却したいとか、そろそろ機械学習の一歩を踏み出したいとか色んな思いが入り乱れたので、参加してきました。

※今の業務が結構自分でコントロールできる系のやつなので、業務的に参加しやすくなったってのもあります。

参加したセッションは以下の 3 セッションです。

  • DeepRacer ワークショップ
  • Amazon SageMaker の基礎
  • Amazon Forecast&Personalize ハンズオン

割合的には座学半分、ハンズオン半分って感じでした。ハンズオンは学習の待ち時間が結構多かったので、そこまでドタバタ感はなく、ちょうどいいペースで進めることが出来ました。

本日の資料は後ほど送られてくるそうなので、公開して良さげな雰囲気だったら追記しておきます。

DeepRacer ワークショップ

AWS DeepRacer ワークショップでは、前半で強化学習や DeepRacer の基礎的な内容を紹介し、後半は DeepRacer の強化学習をコンソール上のハンズオン形式で体験いただきます。

DeepRacer、出た当時は結構興奮した記憶がありますが、あれよあれよと時は過ぎ、本日のハンズオンで初めて触れました。

DeepRacer は前方に搭載されたカメラ画像を使って強化学習をしていくようですね。高専の頃にやったマイコンカーは車体下にセンサー積んでたりしたので、もっと色んなセンサー値をとってるのかと思っていましたが、どうやら違うっぽい。

ハンズオン資料は GitHub に公開されているこちらを使いました。

aws-deepracer-workshops/Readme-Japanese.md at master · aws-samples/aws-deepracer-workshops

チューニングポイントとしては、Action space と報酬関数をメインにチューニングしていくことになりそうです。

Action space では Maximum speed(最大速度)、Speed granularity(速度分割数)、Maximum steering angle(最大ステアリング角度)、Steering granularity(ステアリング分割数)をチューニングしていきます。それぞれに granularity の設定をするのは、連続値ではなく離散値を使用するからだそうです。

報酬関数はチューニングの一番の肝で、どういう時に報酬を増やしてどういう時に報酬を減らすのかをコーディングしていきます。結構色んなパラメータが取れるようなので、なかなか奥が深そうです。

また、DeepRacer の裏側では結構色んなサービスが動いています。

AWS DeepRacer では、Amazon SageMaker、AWS RoboMaker、Amazon S3、Amazon Kinesis Video Streams、AWS Lambda、Amazon CloudWatch を使用しています。

例えば RoboMaker の Gazebo を見ると、今シミュレーションしている映像を見れたりします。見れるんですが、注意点があって、ここでの操作はシミュレーションそのものに影響する模様。

ここで加えた変更は即座にシミュレーションに反映されてしまうのでご注意ください。うっかり車や環境をドラッグしたり回転したりすると、トレーニングジョブに良くない影響を与えることがあります。

僕はここで触ったのがいけなかったのか、サンプルコードそのまま学習させたのに見事コースアウトで完走すらできませんでした。無念。

でもこれ結構楽しいので、お金がジャブジャブあればジャブジャブ溶かしてしまいそうな勢いです。ドキュメント1によると 2 時間回して 8.98 ドル程度とのことなので、まぁ…僕のお小遣いではぶん回すのはちょっときついかも…。

あとネットにもちらちら情報ありましたが、実機とシミュレータだとやっぱり結構違うっぽいので、ガチで勝ちに行くにはそれ相応のコストは必須って感じですね。

Amazon SageMaker の基礎

機械学習マネージドサービスである Amazon SageMaker によって、機械学習の開発・学習・運用がどのように効率化されるのかを紹介します。またお客様の事例として、株式会社シフトセブンコンサルティング 小田原様より、Amazon SageMaker を利用した納税関連書類における画像分類の事例についてご紹介いただきます。

座学の方では、SageMaker を使うことで、開発環境構築、機械学習モデルの学習、運用を楽にしていきましょうねっていう感じの説明がありました。まぁサービスの概略については追っていてある程度は知っていたので、そこまで大きな発見はなく。

改めて思ったのは、Jupyter Notebook も内包している(使うか使わないかは自分で選択できる)ので、サッとビジネスドメインに注力できるってのは、やっぱりマネージドサービスの強みだなぁと。

いざ自前で環境整えるってなると、結構面倒だったりしますしね。エンジニア寄りのデータサイエンティストで構成されたチームならいいですが、アナリスト寄りのチームだと、意外にここがネックになる可能性も否めないのでそういった部分をマネージドサービスに投げれると導入障壁も低くすみそうです。

導入事例は、もしかして結構バリバリなデータサイエンスの話か?!と身構えていたのですが、全くそんなことはなく、SageMaker のサンプルコードレベルの画像分類器を前処理に使ってシステム構築をした、という話でした。完全に「俺たちは雰囲気で SageMaker を使っている」って感じでしたね。

サンプルコードレベルでも、結構実用レベルになる(それだけビルトインのモデルが優秀だということの裏返しですが)んだなぁというのは大きな発見でした。

難しく見えるだけで簡単!だそうです。

Amazon Forecast&Personalize ハンズオン

蓄積された顧客データ・購買データ等をどのように時系列予測やレコメンデーションにつなげていくか Amazon Forecast / Amazon Personalize の特徴・機能・使い方を習得いただくワークショップです。

Forecast はこちらの資料、

harunobukameda/Amazon-Forecast

Personalize はこちらの資料を使いました。

harunobukameda/Amazon-Personalize-Handson

このハンズオンに関しては特に座学はなく、資料に沿って上から順にやっていく、という感じでした。Forecast は電力使用量の予測、Personalize は映画のレコメンデーションをそれぞれ作成します。

どちらもコーディングレスで、データを突っ込んでちょろちょろっと設定すれば出来てしまいました。待ち時間はまぁまぁありますが、多分スタートアップレベルで必要とされる精度は十分カバー出来るんじゃないだろうか…。

これを超えるってことは純粋に AWS の上を行くモデルを作るってことになるんで、そもそもかなりハイスキルだし費用対効果を考えるとサービスそのものも相当スケールしてないと見合わないよなぁとか思ったり。

Personalize の方は個人で作るネタに組み込めそうなイメージは湧きませんでしたが、Forecast の方はロト 6 とか競馬とか競輪の予測に当てれないか…?という楽しいことを思いついたので、近々チャレンジしてみようと思います。

P.S.

個人の意志で色々キャッチアップしようと思うとなかなか進まないので、こういうワークショップ、ハンズオンで強制的にインプット出来るってのは、非常にいい体験ですね(あと堂々と業務として参加できる)。今後も積極的に業務時間中に参加したいです。

あと、最近はデータサイエンティスト不要論みたいな話があって、そんなわけないだろって話なんですが、専門知識なくてもカジュアルに推論をプロダクションに組み込める時代にはなっていて、軽い衝撃を受けました。

総括すると、相当楽しめたし機械学習のはじめの一歩(コーディングしてないけど)としてはかなりいいワークショップでした。

今回はオフラインのワークショップでしたが、オンラインのワークショップもあるみたいです。会場では Serverless2のオンラインワークショップがアナウンスされていたので、こちらも受けてみようと思います。

Footnotes

  1. 料金 - AWS DeepRacer | AWS

  2. サーバーレスを始めよう