製品
Superb AIのカスタムオートラベルの使い方の極意

Superb AI Japan
2021/10/20 | 8 min read

高速・高精度を実現するための高品質なグランドトゥルースと適切なトレーニングの反復
Superb AIのカスタムオートラベルは、データセットの構築と反復にかかる時間を劇的に短縮することができる強力なツールです。このようなインテリジェントな自動化により、大規模なデータセットを手動で準備することは過去のものとなるでしょう。
このガイドでは、最適化されたグランドトゥルースデータセットの構築と、効率性を確保するための推奨ワークフローについて説明します。
ラベル付けパラダイム(考え方)
データラベリングは、あらゆる機械学習(ML)プロジェクトに不可欠な要素です。現在の市場を支配している既存の教師あり学習モデルのデータハンギングな性質を考えると、高品質のラベル付きデータセットを構築するための体系的なアプローチは、MLモデルの開発と展開のための基本です。典型的なアプローチとしては、機械学習モデルのための学習データセットを構築する際に、手動と自動の2つのカテゴリに分類されます。
手動ラベリング技術は、直感的で実装が簡単です。特定のデータセットにラベルを付けるために、人間のドメイン知識(主題の専門知識)を取り入れることができます。ラベルを推論するために高度な推論が必要なシナリオ(医療記録、法律文書など)に適しています。
しかし、MLモデルの数が増えるにつれて、コストと時間がかかってしまいます。これは、ラベリングコストが画像の数に直線的に比例するためです。MLチームが概念実証の段階から本番の段階に移行するにつれ、モデル性能に対する精度要件が高まり、それによって指数関数的に多くのデータ(とラベル)が必要になります。
自動ラベリングは、ラベル付き学習データセットの作成をプログラムで効率化します。その結果、コストと時間の効率的な実装が可能となり、複雑なラベリング命令を必要としないシナリオでは効果的です。しかし、モデルのパフォーマンスを向上させるために不可欠なエッジケースを見逃すことがよくあります。例えば、サッカーの試合の画像では、自動ラベリング技術では個々の選手やオブジェクトには簡単にラベリングできますが、複数の選手が一緒になってゴールを祝福するような場面では、ラベリングがうまくいかないことがあります。このような場合、手動によるラベリング技術では、豊富なアノテーションを得ることができます。
オートラベルフレームワークに関する最初のブログ記事を読むと、手動と自動ラベリングの主な違いについて、より詳細な説明が得られます。
カスタムオートラベル入門
カスタムオートラベル(CAL)は、手動と自動の両方のラベリング技術の長所を組み合わせた製品です。その名が示すように、CALは、(1)手動ラベリングから得られる専門知識、(2)専門知識を自動化ソリューションに抽出する高度なML技術を活用します。
CALは、伝達学習、少数点学習、ベイズ型深層学習、自己教師付き学習などのML技術を駆使しています。
1 - 転送学習と少数点学習
移転学習は、ML実務者が、関連するタスクやドメインのラベル付きデータで学習された既存のモデルを活用することで、ラベリングの課題に対処することを可能にします。小数点学習は、自動ラベリングに対するもう一つの解決策です。従来の教師あり学習とは異なり、少数のラベル付きデータを用いてモデルを学習させます。
私たちのCALは、転移学習と少数点学習を組み合わせて、私たち独自のモデルをお客様の特定のアプリケーションドメインのデータに迅速に適応させ、調整します。
2 - ベイズ型ディープラーニング
ベイズ型深層学習は、ニューラルネットワークの設計にベイズアプローチを取り入れています - モデル予測の不確実性を定量化するために。このような認識論的不確実性を考慮することで、ML実務者は、キャリブレーションを改善し、予測分布の信頼性を高め、精度を向上させたモデルを開発することができるようになります。
CALは、モンテカルロ法と不確実性分布モデリングという2つの不確実性推定法を組み合わせることで、データに自動的にラベルを付けるだけでなく、モデル学習のために最も価値のある「ハードサンプル」をピックアップし、アクティブラーニングのワークフローを可能にします。その結果、CALのユーザーは、データセット全体を手動でラベル付けする代わりに、これらのハードサンプルのレビューと編集に集中することができます。この新しい機能の理論的な詳細については、ホワイトペーパーをご覧ください。
3 - 自己教師付き学習
自己教師付き学習は、MLの研究者に、データに付随するラベルを無料で利用する権限を与えます。ラベルのないデータセットを作成するのはコストがかかるので、ラベルのないデータの性質を利用して、自己教師付きタスクを設定し、データそのものから教師が得られるようにすることができます。自己教師付きタスクは、データから中間表現を学習するための教師付き損失関数に導きます。これらの表現は優れた意味的/構造的な意味を持ち、様々な実用的な下流タスクに利益をもたらします。
CALは、自己教師付き学習を利用して、コンピュータビジョンの一般的なアプリケーションシナリオでモデルを事前学習させます。例えば、顕微鏡画像やコンピュータグラフィックスなど、専門性の高い分野のニッチなデータセットを扱うとします。その場合、これらのアプリケーションシナリオで自己教師付き学習を行った事前学習済みモデルのリストから、あなたのドメインに適したモデルを選択することができます。
上記のような強力な機能を備えているため、お客様は小規模なグランドトゥルースデータセットを構築するだけでよいのです。残りのデータ準備作業は、私たちのCAL製品が行います(あなたのドメインがどんなに複雑でニッチなものであっても)。
グランドトゥルースデータセットを準備するためのベストプラクティス
1 - 基本ガイドライン
最低でも、オブジェクトクラスあたり2,000件のアノテーションを用意する必要があります。アノテーションの約80%はCALモデルの学習に使用され、20%はモデルのハイパーパラメータの調整とモデル性能の推定に使用されます。例えば、5つのクラスと各クラスに2つのアノテーションを持つデータセットに、最初に手動でラベル付けを行ったとします。1000枚の画像をモデル学習に使用する場合(クラスあたり2000枚のアノテーションに相当)、クラスあたり400枚のアノテーションがハイパーパラメータのチューニングとモデル性能の推定に使用されることになります。
CALモデルを十分なアノテーションで学習させないと、2つの問題が発生し、CALが正しく機能しなくなります。まず、学習データサイズが小さいため、モデルがアンダーフィットとなり、お粗末な性能となってしまいます。次に、ハイパーパラメータのチューニングと性能推定のステップが十分でない(クラススコアの閾値を設定できない、アノテーションを作成するかどうか判断できない、など)ため、偽陽性または偽陰性が多発することになります。この2つの問題は、データセットが非常に不均衡なクラスを持っている場合、より大きくなります。
2 - オブジェクトクラスの定義
オブジェクトクラスを正しく定義することは必須です。ここでは、そのための4つのポイントを紹介します。
**(全ての条件が同じ場合) 対象クラスの数が少ないほど,モデルの性能は向上します:**MLモデルの観点からは、オブジェクトのクラス数が多いと分類が難しくなります。クラス数が多い場合、サンプル数が少ないクラスや、(人間の目から見ても)難しい・曖昧なクラスは、1つのバケットにまとめることをお勧めします(例えば、20代と30代は年齢層、ミニバンとSUVは車として)。また、Suiteプラットフォーム内で手動で追加できるプロパティ(クラス属性とも呼ばれる)を使用して、クラスをさらに定義し、サブカテゴリー化することが理想的です(これらのプロパティはCALトレーニングには使用されません)。
**すべてのオブジェクトクラスでアノテーションの総数を一致させるようにする:**一般的なクラス("person "や "car "など)には、一般的ではないクラスよりもはるかに多くのアノテーションが常にあるため、すべてのクラスを完全に一致させることは実質的に不可能です。クラスの不均衡を解決するために、小さなサンプルクラスを他の類似のクラスとグループ化することが一つの方法となります。
**十分なアノテーションが得られるまでは、クラスをサブカテゴリーに分類しないでください。代わりに、まれなクラス(<1000アノテーション)を一緒にグループ化します。**以下にクラスのグループ化の例を示します。
• ガジェット:モニター、ノート型スマートフォン、小型家電など。
• アクセサリー:ネクタイ、時計、靴、帽子、ネックレス、ファッションアイテムなど。
• 自動車とトラック:セダンとSUVを "自動車" とし、ピックアップトラックとボックストラックを "トラック" とします。似たようなクラス(車やガジェットなど)をグループ化することで、物体検出の精度が向上し、CALモデルのパフォーマンスが向上します。
• その他: (1)他とグループ化しにくく、(2)オブジェクトの大きさが異なるクラスは、すべて "その他 "としてグループ化する方がよいでしょう。それはなぜでしょう?例えば、自転車のアノテーションが100個しかなく、それをオブジェクトクラスとして設定したとします。まず、サンプル数が少なく、オブジェクトの検出が難しいため、そのサンプルではCALモデルの学習が行われないでしょう。次に、これらのアノテーションはモデルのハイパーパラメータの調整やモデル性能の推定に使用される可能性があり、モデル全体の性能を低下させることになります。したがって、それらのクラスは完全にグループ化した方が良いということになります。
**すべてのオブジェクトクラスがラベルに均等に配置されているのが理想的です。**注釈が多すぎる画像は避けるべきでしょう。どうしてもそのような画像が必要な場合は、データセット全体でそのクラスのアノテーションを最低100個以上取得するようにしてください。
3 - グランドトゥルースのラベリング
画像や映像にラベルを付けると、それに対応するラベルが "グランドトゥルース" です。ラベリング・ポリシーは、グランド・トゥルースの品質を決定します。ラベリングポリシーは、グランドトゥルースのラベリング時に高品質なバーを確保するために、明確で一貫性のあるものでなければなりません。以下に、一般的な3つの物体形状に対するラベリング・ポリシーを示します。
**バウンディング・ボックス:**ボックスは、オブジェクトのエッジの周りをしっかりとカバーする必要があります。エッジは、(1) 見えるもの、(2) 実際のエッジを構成するもの(ただし、他のオブジェクトで覆われている可能性がある)のいずれかを定義することができます。いずれにせよ、そのオブジェクトの定義は、すべてのラベルに一貫して適用する必要があります。
**ポリゴン:**ポリゴン境界を明確に一貫して描画しないと、CALのポリゴン境界の出力がタイトでないため、ラベリング効率が上がらない可能性があります。そのため、ポリゴンを使ってどの程度正確にオブジェクトの境界を捉えるかというラベリングポリシーを設定する必要があります。
**キーポイント:**隠れていたり内包していたりするキーポイントにラベリングを行うかどうか、明確なラベリングポリシーが必要です。また、キーポイントの骨格を1本の水平(または垂直)線で定義することは避けるべきです(例えば、人間の骨格に対して「前頭部-首-胸部-尾骨」が1本の垂直線になっているキーポイントアノテーションは避けてください)。また、オブジェクトの他の部分(例えば、人体骨格の場合は左肩と右肩)も含める必要があり、キーポイント注釈の周りにバウンディングボックスを描かなければならない場合、そのボックスは狭い水平(または垂直)長方形にはならないようにします。
CALを利用した推奨ワークフロー
前述したグランドトゥルースデータセットの構築のベストプラクティスに従っていれば、最初の学習反復で質の高いCALモデルが得られる可能性は十分にあります。
1 - 最初の反復
満足できる検出率を持つオブジェクトクラスについては、そのクラスのグランドトゥルースラベルが十分に得られるまで、別のバッチを学習することは推奨されません。
満足できる検出率とは?CALモデルが特定のクラスを正確に検出しているかどうか、数枚のラベルを確認しただけですぐに分かるような率です。

この機能により、ユーザーは学習したCALが各クラスでどの程度のパフォーマンスを発揮するかを確認することができます。そして、どのクラスでCALを使うかを選択することができます。
あるオブジェクトクラスに対してCALモデルのパフォーマンスが満足できない場合、そのクラスに対してより多くのデータと手動アノテーションを追加することが一つの解決策となります。このような場合、まずCALプロジェクトのコンフィギュレーション設定でそれらのクラスを無効にし、不足しているオブジェクトクラスに対して手動でデータを追加してラベリングすることをお勧めします。もし、診断不可能な問題が発生した場合は、トラブルシューティングを行い、CALモデルを更新できるかどうか確認いたしますので、弊社までご連絡ください。
また、学習済みのCALがうまく動作しない理由として、データが高度に専門化したドメインに属していることが考えられます(例:医療画像、衛星画像など)。近い将来、自然画像、衛星画像、顕微鏡画像などの主要なドメインごとに、複数の事前学習済みモデルを自己教師付きで開発する予定です。CALの利用者は、CALを利用する際に、どの事前学習済みモデルから始めるかを選択することができます。これにより、事実上、対応するドメインやタスクにおいて、より良いモデル性能を得られる可能性が高まります。
CALの最初の学習が終わったら、次の未ラベルデータに対してCALを使い続ける必要があります。難易度の高いラベルの見直しに注力し、次のCAL学習の反復のためにそれらをエクスポートすることを忘れないでください。
2 - 今後のイテレーションについて
その後の学習では、生データの収集と、以前のCALモデルがうまく機能しなかったオブジェクトクラスへの手動ラベル付けに注力することをお勧めします。そうすることで、繰り返し学習する中で、それらのクラスに対するCALの性能向上を明確に確認・把握することができます。具体的には:
まず、Suiteのフィルタ機能を使って、それらのクラスを持つラベルをフィルタリングします(「Filter By -> Annotation -> Contains All Of -> Select An Object Class」)。

次に、次のバッチを作成する際にラベルタグを追加します。

最後に、新しいCALモデルをトレーニングする際には、必ず以前のバッチをエクスポートしてください。例えば、今回が3回目のCALの繰り返しであれば、1回目、2回目、3回目のバッチを一緒にエクスポートする必要があります。
はじめ方
カスタムオートラベルを始める準備が整いましたら、ぜひ私たちにご相談ください。営業担当までお気軽にお問い合わせください。自動ラベリングには検討すべきことがたくさんあり、まだこの機能を使う準備ができていないチームもあるかもしれません。私たちは売り込みをすることなく、できる限りお手伝いさせていただきます。

Superb AIについて
Superb AIは、エンタープライズ向けのAIトレーニングデータプラットフォームであり、ML(機械学習)チームが組織内でトレーニングデータをより効果的に管理・提供できるよう、データ管理の新しいアプローチを提案しています。2018年に発表されたSuperb AI Suiteは、自動化、コラボレーション、プラグアンドプレイモジュールのユニークな組み合わせを提供し、多くのチームが高品質なトレーニングデータセットを準備する時間を大幅に短縮する手助けをしています。この変革を体験したい方は、今すぐ無料でご登録ください。




