Amazon Web Services ブログ

Amazon SageMaker Ground Truth でのラベリングジョブ用の優れた説明の作成

Amazon SageMaker Ground Truthは、機械学習 (ML) 用の高精度なトレーニングデータセットをすばやく構築するお手伝いをします。ご自身のワークフォース、データラベリングに特化したベンダー管理ワークフォースの選択、または Amazon Mechanical Turk が提供するパブリックワークフォースを使用して、人が生成するラベルを提供することができます。質の高いのラベルを取得するには、特にパブリックワークフォースを使用している場合、簡単かつ簡潔で明確な説明が必要です。良い説明が書ければ、アノテーションの品質を向上させることができます。正しく行えば、この作業に時間を費やす価値はあります。

このブログ記事では、パブリックワークフォースに効果的な説明を作成するためのベストプラクティスをご紹介します。ここで重要なポイントが 2 点あります。ワークフォースへの認知負荷をできるだけ減らすこと、そして説明を微調整して後で発生する問題を避けるためにもプロセスの早い段階で実験することです。たとえば実験で、データの一部に自分でラベルを付けたり、プロセス全体の中でも小規模なジョブをパブリックワークフォースに行ってもらうことができます。

以下のスクリーンショットは、ワーカーの観点から見て適切な説明のある Ground Truth のバウンディングボックスのラベリングタスク例を示しています。このタスク例では、Google Open Images Dataset から取得したイメージにある花の周りを囲む四角形の枠を描くようワーカーに伝えます。ワーカーがアノテーションを付けている作業中、イメージの左側にあるサイドバーには短い説明が表示されます。はっきりと要領を得た、かつタスクに特化した説明で、サンプルのイメージに焦点を当てています。

以下の図は、サイドバーにある [View full instructions] を選択すると表示される完全な説明のサンプルです。ワーカーが混乱しやすいあいまいな説明が、明確に表記されています。この投稿を最後まで読むと、ご自身のラベリングジョブで優れた説明を作成することができるでしょう。

推奨するワークフロー

Ground Truth が提供するツールを使用してデータの一部にアノテーションを付けるのが、適切な説明を作成する最も簡単な方法です。作成後、その結果を説明のサンプルとして使用できます。これを行うには、以下の手順を行います。

  1. データからサンプルをいくつか選択する。
  2. Ground Truth でプライベートジョブを実行し、選択したサンプルにラベルを付ける。
  3. 結果を使って、簡単な説明を作成する。サンプルイメージと少しのテキストに焦点を当てる。
  4. タスクのあいまいさを回避し明確にするため、完全な説明を作成する。
  5. 小さなパブリックジョブを実行し、説明をテストする。満足する結果が出るまで繰り返す。
  6. タスクの単純化を考慮し、正当な価格を設定する。

注: プライベートラベリングジョブを実行すると、1 サンプルにつき 0.08 USD の費用がかかります。料金の詳細については、Amazon SageMaker Ground Truth料金ページをご覧ください。

質の高い説明を作成したら、フルラベリングジョブをパブリックワークフォースに送信します。チェックリストの各ステップを見ていきましょう。

データからサンプルをいくつか選択する

データセットを閲覧して、データの多様性を捉えたサンプルを選択します。一般的なサンプルではなく、ラベルを付けたい項目からサンプルを選択すると、ご自身の特定のタスクについてアノテーターの理解が得られやすくなります。

ここでは、さまざまな形や大きさの花が異なる数で写っているイメージを選択します。これらのイメージにある一部の花は、他の花の後ろに隠れたり、フレームの端に触れたりしています。さまざまなケースを選択すると、説明を作成するのに良いサンプルを見つけやすくなります。また、ワーカーから見て難しいタスクについて、洞察や発見を得ることもできます。

Ground Truth でプライベートジョブを実行し、選択したサンプルにラベルを付けます。

前回のブログ投稿では、AWS マネジメントコンソールを使用してラベリングジョブを実行する方法について説明しました。その時に解説した方法に従って、前のセクションで選択したサンプルにラベルを付けます。選択したイメージをマニフェストファイルに追加し、自分の E メールアドレスを使用してプライベートワークチームを作成し、サンプルごとに 1 人のアノテーターを選択します。同じサンプルに何度もラベルを付ける必要はありません。

このプライベートジョブを実行すると、ラベリングジョブで何をしたいか、タスクの難しさ、そしてアノテーターが使用するツールについての観点が得られます。作業中は、難しいまたはあいまいなサンプルを記録しておきます。完全な説明を書くにあたって、後で必要となります。さらに、タスクにあたってワーカーにいくら払うべきかを推測するためにも、ご自身で時間を測るとよいでしょう。

左の図は、作業中のバウンディングボックスツールのプレビューです。イメージの左側の説明はまだ作成されていないことに注意してください。右の図は、プライベートラベリングジョブの結果を示しています。

結果を使って、簡単な説明を作成する

プライベートラベリングジョブの終了後、[Labeling jobs] に移動してジョブに付けた名前を選択すると、Amazon SageMaker コンソールで結果を見つけることができます。アノテーション付きのサンプルは、ページの下部にあります。イメージのラベリングタスクの場合、最も簡単に結果を抽出する方法は、これらのアノテーション付きイメージを拡大しスクリーンショットを撮ることです。

理想的には、結果を 1 つまたは 2 つの典型的な「良い」とされるインスタンスに絞り込んだ後、最も一般的な失敗の原因と予想されるさまざまな良くないアノテーションとともに、1 つまたは 2 つのイメージを作成します。プライベートラベリングジョブを再実行し、他のすべてのサンプルをスキップすることで、これを行うことができます。あるいは、良いアノテーションと悪いアノテーションのサンプルを 1 つのサンプルイメージにまとめて、ワーカーがタスクを素早く理解できるようにすることもできます。良いサンプルと悪いサンプルを交互に繰り返すアニメーション GIF で説明するなどは、画期的な方法でしょう。今回の花のラベリングの説明では、良いサンプルと悪いサンプルにそれぞれ以下のイメージを使用します。

サンプルのインスタンスを選択して結果を抽出したら、お気に入りの画像編集ソフトウェア (Google Drawings、GIMP、Keynote、PowerPoint など) を使用して、説明の図を最後まで仕上げます。たとえば、適切ではないアノテーションを表すイメージの上に X を配置するのもよいかもしれません。

イメージを Amazon S3 バケットにアップロードする

イメージを Amazon S3 バケットにアップロードし、イメージが一般公開されるようにオブジェクトのアクセス許可を設定します。S3 バケットにデフォルトのアクセス許可が設定されている場合は、最初にバケットのパブリックアクセス設定を変更してイメージを公開できるようにする必要があります。バケット全体を一般にアクセス可能にすることを強く推奨します。イメージを公開できるようにするには、Amazon S3 コンソールに移動してバケットを選択し、[Permissions] タブを選択します。以下のようなイメージが表示されます。

[Edit] を選択して、最初の 2 つのボックスのチェックを外します。[Save] を選択します。

確認ダイアログボックスが表示されます。該当するフィールドに「確認」と入力し、[Confirm] を選択してパブリックアクセス設定を更新します。

イメージのアップロードを終了するには、[Overview] を選択して S3 バケットの概要に戻ります。次に、[Upload] を選択し、ファイルをダイアログボックスにドラッグアンドドロップしてから、ダイアログボックスで [Upload] を選択します。最後に、S3 バケットの概要からイメージ名を選択し、[Make public] をクリックして、イメージをインターネットから一般公開するようにします。

バケットのアクセス許可が正しく設定されていれば、[Success] というメッセージが表示されます。

最後に、バケットのアクセス許可タブに戻って、最初のボックス [Block new public ACLs and uploading public objects] を再度確認することをお勧めします。これにより、将来別のオブジェクトを誤って公開してしまう事態を防ぐことができます。

説明作成ツールを使用して、説明の作成を完了する

最後に、Amazon SageMaker コンソールのジョブ作成セクションにある説明作成ツールに進み、説明を作成して、S3 バケットに集めたイメージにリンクします。作成ツールのイメージアイコンを選択してオブジェクト URL を入力することで、簡単な説明にイメージを配置できます。オブジェクト URL は、イメージ名を選択すれば、S3 バケットの概要で見つけることができます。

イメージを追加すると、説明作成ツールにサムネイルが表示されます。

前の図の右側にあるような壊れたイメージリンクを示すアイコンが表示される場合は、前のセクションの手順に従って、バケットとオブジェクトのアクセス許可が正しく設定されていることをもう一度確認します。

多くのワーカーは簡単な説明を読むだけなので、きちんと作業してもらいましょう。簡単な英語での説明テキストのあるサンプルイメージを取り上げます。短い文章にしてください。アノテーターは英語に堪能ではないことも多いので、あいまいな指示はあいまいな結果につながることを覚えておきましょう。シンプルに、かつできるだけ明確にすることを目指してください。

完全な説明を作成し、タスクのあいまいさを回避し明確にする

簡単な説明を書き終わったら、説明作成ツールにある [Additional instruction] を選択し、完全な説明の作業を開始します。ここで留意すべき点がいくつかあります。

  • 完全な説明は、タスクのあいまいさを回避し明確にします。多くの場合、アノテーターは混乱が生じる場合にのみ、これらを参照します。プライベートジョブでの自身の経験を利用して、混乱の原因を予想します。
  • 短い説明の繰り返しは避けます。
  • ページや説明のページがないようなエッジケースをすべて取り上げることは、通常正しいとはいえません。私たちの経験では、良いサンプルと悪いサンプルのペアを 2 つまたは 3 つ追加することで十分のはずですし、説明が増えて得なことはありません。

以下の図は、花のサンプルの最後の説明です。

小さなパブリックラベリングジョブを実行し、説明をテストします。

最初の説明のドラフトを完成させた後、小さなパブリックラベリングジョブを作成し、送信します。結果を調べて、現在のバージョンの説明では解決していない一般的な間違いを探します。ワーカーは、予想していないような間違いを犯すことがよくあります。大規模で高価なラベリングジョブを 2 度実行するよりも、プロセスの早い段階でこれらを把握することを推奨します。結果が満足できるものになるまで、このプロセスを繰り返します。

タスクの簡素化を検討し、正当な価格を設定する

説明が長すぎる、複雑すぎる、またはデータから難しいサンプルを見逃しているなどの場合は、タスクをいくつかの単純なものに分割する方法を検討します。私たちが選択したサンプルの中にあるこのイメージに気づいた人もいるかもしれません。

他のサンプルと同じ料金で、このようなイメージにラベリングするようワーカーに求めると失敗します。この場合は、最初にイメージの分類ジョブを実行してから、各イメージの花の数を推定します。これで、たくさんの花のイメージに戻り、これを細分できるようになるため、1 つのイメージの処理が難しすぎるようになることはありません。

別の例として、各イメージにある花、人、犬にラベルを付けるようワーカーに依頼するジョブを考えてみましょう。この場合、3 つのジョブをセットアップし、それぞれが単一のカテゴリに焦点を合わせることで、より良い結果が得られる可能性があります。これらのジョブを並行して、または順に実行した後、結果を組み合わせます。

説明を作成するプロセスの最後のステップとして、新たに獲得した経験に基づいてサンプルを自分でラベル付けし、タスクに妥当な価格を設定します。Amazon SageMaker コンソールのジョブ作成セクションでは、ドロップダウンメニューを使用して、ラベル付きのサンプルごとに支払いを選択できます。

メニューが提示する提案とともに、説明のラベリングジョブを完了するのにかかった合計時間の記録を使って、適切な報酬を選択します。

結論

ご自身のデータに特化した説明は、どんな場合でも一般化されたものより優れてます。それらを作成するには時間がかかるかもしれませんが、ワーカーはその努力を評価してくれるでしょう。ワーカーはできるだけ早く仕事を完了したいと考えています。彼らの仕事を楽にすれば、あなたの結果も改善するのです。

Ground Truth の詳細については、こちらにパブリックワークフォース用に説明を作成するためのリソースがいくつかあります。

Open Images Dataset V4 に関する情報開示

Open Images Dataset V4 は、Google Inc. が作成したものです。場合により、イメージまたは付随するアノテーションを修正しています。元のイメージとアノテーションをこちらより入手できます。アノテーションは、Google Inc. が CC BY 4.0 ライセンスの元に使用しています。イメージは、CC BY 2.0 ライセンスがあるものを使用しています。Open Images V4 について、データ収集とアノテーションからデータに関する詳細な統計およびそれについてトレーニングしたモデルの評価にいたるまで、以下の論文が詳しく説明しています。

A.Kuznetsova、H. Rom、N. Alldrin、J. Uijlings、I. Krasin、J. Pont-Tuset、S. Kamali、S. Popov、M. Malloci、T. Duerig および V. Ferrari。Open Images Dataset V4: 統一イメージ分類、オブジェクト検出、および大規模な視覚的関係性の検出 arXiv:1811.00982、2018 (PDF へのリンク)


著者について

Tristan McKinney は Amazon ML Solutions Lab の応用科学者で、有効場理論とその高温超伝導体への応用について研究したカリフォルニア工科大学で理論物理学の博士号を取得したばかりです。Tristan の父親は米国陸軍の軍人であったため、子供の頃はドイツとアルバニアを含むあらゆる場所に住んでいました。余暇にはスキーとサッカーを楽しんでいます。

 

 

Krzysztof Chalupka は Amazon ML Solutions Lab の応用科学者で、カリフォルニア工科大学から因果推論とコンピュータービジョンの博士号を得ています。Amazon では、コンピュータービジョンと深層学習が人の知能を高める方法を解明しています。仕事以外の時間は家族のために使っており、森、木工細工、そして本 (あらゆる形態の木) も大好きです。

 

 

 Fedor Zhdanov は Amazon の機械学習サイエンティストで、社内、そして社外のお客様のための機械学習アルゴリズムとツールの開発に携わっています。