Slide 1

Slide 1 text

機械学習の肝 「教師データ」 を量産! SageMaker Ground Truthは どう使うべきか? 2018-12-12 TATSUNO Yasuhiro JAWS-UG名古屋支部 re:Invent振り返りLT大会

Slide 2

Slide 2 text

自己紹介 TATSUNO Yasuhiro 所属 twitter.com/smogami github.com/exoego 最近うれしかったこと: AWS向け新機能追加PRが マージされました

Slide 3

Slide 3 text

おことわり • 所属先で教師データ作成の製品開発をしています • 他社製品への根拠ないFUDはしないつもりです。…が、 全機能を使い切ってませんし、触った範囲も誤解して 間違いがあるかもしれません。ご容赦ください • Ground Truthの長所と短所が伝わるように、試しただけ の中立的紹介ではなく、教師データ作成に携わる者ならで はの見解を盛り込みました

Slide 4

Slide 4 text

自然言語処理 機械学習向けAWSとGround Truthの位置付け 文書分析 メール、サービスチケット、 製品レビュー、 SNSなど チャットボット 自然言語理解や 音声認識 リアルな読み上げ 多言語対応 ニューラル翻訳 音声の自動文字起こし 複数話者の識別 プログラマブルな 開発者向けビデオカメラ 深層学習+IoT TensorFlow, MXNet, Chainer, PyTorch など主要機械学習 FW導入済AMI。EC2で使える 画像&動画分析 シーン認識、オブジェクト検出、文字認識、 顔検出、表情分析、同一人物判定、有名 人認識、危険/不適切コンテンツ認識など 機械学習の開発・ 実験環境+推論モ デルのエンドポイント 研究者・開発者支援ツール コンピュータービジョン Ground Truth 教師データ作成+ MTurkへの作業依頼 モデルを鍛える 教師データ提供 Textract: スケーラブルなOCR re:Invent2018 Forecast: 時系列 Personalize: 推薦 re:Invent2018 カスタム用語辞書 予測 re:Invent2018 re:Invent2018

Slide 5

Slide 5 text

“Ground truth”とは もともとの語源 • 「航空機や人工衛星から地上を遠隔測定して得られたデータ」に対し、 「地表 (ground)での現地調査に基づく真実(truth)のデータ」 • つまり、遠隔測定データを検証するための正解データ 転じて機械学習において、推論モデル(いわゆるAI)に学習させたり、推 論結果を評価するための正解データ=教師データ、アノテーションとも 教師データは基本的に人間が作成(タグ付け、アノテーション) ぼやき)業界専門用語を製品名にしちゃうのは…検索ノイズになって、 ちょっと困りますよね(AWS Lambdaとか)

Slide 6

Slide 6 text

機械学習で教師データはなぜ重要? •教師データの質、量、多様性が性能改善に直結 •教師データは推論モデルを定量評価する土台 https://www.slideshare.net/youheiyamaguchi/annotation-meetup-20180705

Slide 7

Slide 7 text

機械学習では教師データが肝。 ついにAWSも乗り出してきた

Slide 8

Slide 8 text

あれ、教師データといえば… どこかで…

Slide 9

Slide 9 text

またAWSと同じもの作っちゃったよ 2018 2017 サービスイン → Ground Truth リリース オンプレ/クラウド両対応の大規模機械学習実験スケジューラ KCI Ahab お客様に提供開始 → Amazon SageMakerリリース 高度・高品質なアノテーションの量産を支援する工夫が盛りだくさん

Slide 10

Slide 10 text

いやいや、結構ちがうんです すみわけできそうでホッ

Slide 11

Slide 11 text

ということで SageMaker Ground Truth をざっと見ていきます

Slide 12

Slide 12 text

ココ SageMakerコンソール

Slide 13

Slide 13 text

教師データ作成の流れ① ラベリングジョブ=作業依頼

Slide 14

Slide 14 text

ラベリングジョブ= 教師データ作成してもらう作業依頼の作成 ココ

Slide 15

Slide 15 text

今回は、オブジェクト検出で 一般的に使われる 長方形(Bounding Box)を つけるジョブにします

Slide 16

Slide 16 text

教師データをつけたい画像やテキス トのS3オブジェクトキーを羅列した 『マニフェストファイル』を指定 教師データ格納場所を指定

Slide 17

Slide 17 text

マニフェストファイルの 自動作成機能あり

Slide 18

Slide 18 text

つづいて『誰に作業を依頼するか』を指定 同じ画像/テキストへの教師データを複数人に作成させることで、 「作業が雑な人」「ウソをつく人」や「個人の判断の違い」の影響 を軽減させる戦略。最大9人まで指定できる 全世界へクラウドソーシ ングできちゃう! 24時間毎日、50万人のクラウド ワーカー(Mechanical Turk)

Slide 19

Slide 19 text

AWSマーケットプレイス経由で アノテーションベンダーに依頼 AWSマーケットプレイス経由で アノテーションベンダーに依頼 もできる(MTurkより割高)

Slide 20

Slide 20 text

今回は自分たちでやるので Privateにする メールアドレスで作業者を招待 作業者が問い合わせするための プロジェクトの責任者(自分) のメールアドレス

Slide 21

Slide 21 text

さきほど作った Private 作業チームや 依頼先ベンダーなどの「労働力」はこちらで管理 ココ

Slide 22

Slide 22 text

いよいよ『どんな教師データ』 をつけてもらうかを指定 作業指示を書けるのはGood 今のところ ・1ジョブ=1ラベル ・追加属性は一切なし これは良し悪し S3バケットへのアクセス権限を 「ジョブを依頼する労働力/Workforce」 に適切に設定する必要あり。 手を抜いて PUBLIC に公開するとヤバイ

Slide 23

Slide 23 text

SageMakerのリージョンと S3のリージョンは一致させる必要あり より詳細な作業指示も 書けるのはGood

Slide 24

Slide 24 text

ラベリングジョブが完成!

Slide 25

Slide 25 text

できあがったジョブのメタデータ閲覧ページ。 1度作ったジョブは修正できず、停止のみ。 間違えたら作り直し

Slide 26

Slide 26 text

教師データ作成の流れ② 実際の教師データ作成作業

Slide 27

Slide 27 text

作業者にはこんなメールが届きます 「Workforce/労働力」 ごとに固有URL

Slide 28

Slide 28 text

どの顧客(AWSアカウント)からの依頼か ジョブ一覧画面

Slide 29

Slide 29 text

さきほど作成したジョブの作業指示 入力支援機能は最低限。 その分、クラウドワーカーが 誰でもすぐ使えていいかも?

Slide 30

Slide 30 text

こんな感じで Bounding-Box をつける

Slide 31

Slide 31 text

作業完了すると次の作業一覧へ。 自分の作業生産性の把握とかは なさそう?

Slide 32

Slide 32 text

教師データ作成の流れ③ できあがった成果物の確認

Slide 33

Slide 33 text

{ "source-ref": "s3://xxxxxx/6899657615_e7b7ba9cee_b.jpg", "jawsug-beer-labeling": { "annotations": [ {"class_id": 0, "width": 124, "top": 135, "height": 492, "left": 238}, {"class_id": 0, "width": 123.5, "top": 130, "height": 498.5, "left": 363.5}, {"class_id": 0, "width": 117, "top": 137.5, "height": 484.5, "left": 492}, {"class_id": 0, "width": 158, "top": 362, "height": 287, "left": 83}, {"class_id": 0, "width": 136, "top": 91, "height": 527, "left": 877}, {"class_id": 0, "width": 116, "top": 150, "height": 455, "left": 741}, {"class_id": 0, "width": 113, "top": 137, "height": 475, "left": 616} ], "image_size": [{"width": 1024, "depth": 3, "height": 768}] }, "jawsug-beer-labeling-metadata": { "job-name": "labeling-job/jawsug-beer-labeling", "class-map": { "0": "BeerBottle" }, "human-annotated": "yes", "objects": [ {"confidence": 0.28}, {"confidence": 0.28}, {"confidence": 0.26}, {"confidence": 0.09}, {"confidence": 0.09}, {"confidence": 0.09}, {"confidence": 0.09} ], "creation-date": "2018-12-11T11:43:23.567454", "type": "groundtruth/object-detection" } } Bounding-Boxの座標とサイズ 確信度。同じ画像を複数人にやらせたら、重なりから 自動計算される。BBoxも自動で共通部分になる模様。 1人1人ががんばって品質を高めるのではなく、 複数人の多数決/IoUで品質を保証する!!

Slide 34

Slide 34 text

気になるお値段は…

Slide 35

Slide 35 text

Mechania Turkでの1画像=5人にやらせる場合 10万 B-Box=24,000ドル ⇨ 0.24ドル/B-Box 5人にやらせて精度高めてこれなら、結構安い。 (計算間違ってなかったら)

Slide 36

Slide 36 text

まとめ • 教師データ作成ツールとしては簡素、低機能 • 「品質検査」を省く代わりに、安価で互いに独立した労働力に やらせて「多数決」で精度をそこそこ保証する思い切りがすごい • 高度なアノテーション(豊富なメタデータ、ポリゴン…)の作り 込みよりは、単純なアノテーションの量産に向いてそう • Ground Truthはいわば『大衆向けMechanical Turk』。従来使うのが 難しかったM-Turkに、典型的なアノテーションツールと管理UIを つけて、敷居をグッと下げた感じ

Slide 37

Slide 37 text

宣伝)弊社製品とのすみ分け 少 教師データ の情報量 多 生産量 少 多 SageMaker Ground Truth 利用 料金 SageMaker Ground Truth 基本料金 ¥0 S3料金 + 作業依頼料金