Amazon SageMaker Ground Truthとは
データラベリングのつらみ
やりたいこと
画像の準備
画像のダウンロード
S3バケットの作成
S3バケットへ画像をアップロードする
画像のラベリング
ワークフォースの作成
ラベリングジョブの作成
ラベリングの実施
ラベリング結果の確認
Amazon SageMaker Ground Truthとは
💡
簡単に解説
- 機械学習のためのデータ作成を手助けするサービス
- データのラベリングや注釈付けを簡単に行えるため、トレーニングデータの作成が効率的に行える
- 高品質なトレーニングデータの作成をサポート
データラベリングのつらみ
-
ラベリングの主観性
- 主観的な判断に基づいて行われることがある
- 異なるラベラー間での主観的な解釈の違いが生じることがあり、一貫性を確保することが難しい場合がある
-
時間とコスト
- 大規模なデータセットのラベリングは、時間とコストがかかる
- 高品質なラベルを必要とするタスクや、複数のラベルを付ける必要がある複雑なタスクでは、膨大な労力が必要となる
- データの増加に伴い、ラベリングのプロセスはスケーラビリティの問題を引き起こすことがある
-
ラベルの不確実性
- データには不確実性が存在し、特に境界の曖昧なインスタンスや困難なケースでは、正しいラベルを付けることが難しくなる
- ラベル付けのプロセス自体にヒューマンエラーが含まれることもあり、正確なラベルを得ることが困難な場合もある
- モデルの学習が困難になったり、予測の信頼性が低下する可能性がある
やりたいこと
- 機械学習モデルを学習させる前に、トレーニング用データの準備をする
- Amazon SageMaker Ground Truthを使って、画像に写っている犬種が何なのかを手動で特定し、データにラベルを付けていく
画像の準備
画像のダウンロード
- 以下をクリックし、zipファイルをダウンロードし、ローカルで展開
S3バケットの作成
- Amazon S3のコンソール画面に行き、バケットを作成をクリック
- バケット名を指定して、作成(名前はなんでも良いです)
S3バケットへ画像をアップロードする
- 作成したS3バケットをクリックすると、以下のような画面が表示されるので、アップロードをクリック
- 以下のような画面に遷移する。ここに、先ほどダウンロードしたdogsフォルダをドラッグ&ドロップする
- ファイルが追加されていることを確認したら、アップロードをクリック
- S3バケットのページに戻ってみると、アップロードされていることが確認できる
画像のラベリング
ワークフォースの作成
- Amazon SageMakerのページを開く
- 左側のメニューから「Ground Truth」を展開し、「ラベリングワークフォース」をクリック
- 「プライベート」をクリックし、「プライベートチームを作成」をクリック
-
プライベートチームを作成する
- AWS Cognitoでプライベートチームを作成する
- チーム名: ml-classifier
- Eメールによる新しいワーカーの招待
- Eメールアドレス: xxxx.yyyy@nifty.co.jp
- 組織名: team-ml
- 連絡先Eメール: xxxx.yyyy@nifty.co.jp
- 全ての入力が終わったら、「プライベートチームを作成」をクリック
- プライベートチーム、ワーカーが作成されていることを確認する
ラベリングジョブの作成
- Amazon SageMakerのページを開く
- 左側のメニューから「Ground Truth」を展開し、「ラベリングジョブ」をクリック
- 「ラベリングジョブの作成」をクリック
-
以下のように設定する(以下に書かれていないものはデフォルトのままでOK)
- ジョブ名: dog-labeling
-
入力データセットのS3バケットの場所: S3 URI というボックスに、
s3://<最初に作成したS3バケット名>/dogs/
を入力- 「S3の参照」をクリックして、検索しても良い
- 出力データセットのS3バケットの場所: 入力データセットと同じ場所
- データタイプ: 画像
-
IAMロール: create new role
- 任意のS3バケット
- 「完全なデータセットアップ」をクリック
- タスクカテゴリ: 画像
- タスクの選択: ImageClassification(単一ラベル)
- 全ての入力が終わったら、「次へ」をクリック
-
続いて、ワーカーの選択とツールの設定ページ
- ワーカータイプ: プライベート
- プライベートチーム: ml-classifier
-
画像分類 (単一ラベル) ラベル付けツール
- ポメラニアン(pome)かトイプードル(toy)のどちらの犬が映っているかを選択してください
-
オプションを選択
- pome
- toy
- 全ての入力が終わったら、「作成」をクリック
これでラベリングジョブが作成され、作業者が指定したラベルを付けることができる
ラベリングが完了したら、指定したアウトプットディレクトリに結果が自動的に保存される
ラベリングの実施
-
ラベリングジョブの作成が完了すると、ワーカーに以下のようなメールが届く
URLをクリックし、ラベリングツールにアクセスする -
URLをクリックすると、サインイン画面が表示される
メールに記載されたユーザー名とパスワードを入力して、サインインする
初回のみパスワードの変更を求められるので、パスワードを変更する - サインインすると、ラベリングジョブ一覧画面が表示されるので、先ほど作成したラベリングジョブを選択し、「Start working」をクリック
-
ブラウザに以下のような画面が表示されるので、表示された画像に対するラベルを右側のリストから選択し、右下の「Submit」をクリックする
全ての画像に対してラベリングが完了するまでラベリングする
ラベリング結果の確認
- ラベリングジョブ一覧画面から、作成したラベリングジョブのステータスが「進行中」から「完了」に変わっていることを確認する
-
ラベリングジョブをクリックし、詳細画面に遷移する
入力データセットや出力データセット(ラベリング結果)の保存場所を確認することができる
また、下にスクロールするとラベリング結果の確認をすることができる次のページ