- API ドキュメント
- CLI
- 連携ガイド
- ブログ
- 機械が単語を理解する方法:NLPに埋め込むためのガイド
- トランスフォーマーによるプロンプトベースの学習
- 効率的な変圧器II:知識蒸留と微調整
- 効率的な変圧器I:注意メカニズム
- 階層的な教師なしインテントモデリング:トレーニングデータなしで価値を得る
- Communications Mining による注釈バイアスの修正
- アクティブ ラーニング: より優れた ML モデルを短時間で実現
- それはすべて数字にあります-メトリックを使用してモデルのパフォーマンスを評価します
- モデルの検証が重要な理由
- 会話型データ インテリジェンスのための Communications Mining と Google AutoML の比較
アクティブ ラーニング: より優れた ML モデルを短時間で実現
機械学習モデルをゼロからトレーニングすることは困難です。 モデル自体の構築がモデルのトレーニングの最も難しい部分であるという誤解はよくあることです。 実際には、データ収集と注釈のプロセスは、人々が想定しているよりもはるかに困難です。
モデルが学習すべき概念の決定、データの収集、対象分野の専門家 (SME) による注釈付け、注釈の品質を確保するために一貫性があることを確認することはすべて、時間がかかり、複数のチームと利害関係者間のコラボレーションを必要とするプロセスです。
この大幅な時間シンクは、機械学習から得られるはずの価値実現までの時間を遅らせます。 さらに、そもそも分析と自動化を通じて ML 主導の価値を使用する上での障壁となることがよくあります。 データアノテーションの認識された難易度と実際の難易度の違いは、時間の制約を誤って見積もったために ML プロジェクトが失敗することにつながります。 機械学習の使用が旅である場合、これは地図なしで出発し、目的地に到着する前に道に迷ってあきらめるようなものです。
このブログ投稿では、これらの問題を軽減する 1 つの方法、つまり Communications Mining プラットフォームの中心にあるアクティブ ラーニングについて説明します。
一言で言えばアクティブラーニング
基本的に、アクティブラーニングは、機械学習モデルのトレーニングに必要なデータ量を減らすことを目的とした一連の方法です。 これは、人間のアノテーターとモデルが協力して作業する反復プロセスです。 基本的な考え方は、すべてのデータポイントが等しく有益であるとは限らないということです。 直感的には、優れた家庭教師は、教科書全体に取り組むのではなく、学生に最適なカリキュラムを構築できます。
- 簡単な概念は、難しい概念よりも学習に必要なデータが少なくて済みます
- 同じアイデアを表現する方法が異なる場合は、同じ言い回しを複数回行うよりも、モデルにさまざまな例を示す方が価値があります
- モデルが概念を自信を持って理解したら、理解を深めるのに役立つより多くのデータを提供するよりも、他の概念でモデルをトレーニングする方がはるかに価値があります
アクティブラーニングには多くの具体的な方法がありますが、それらはすべて、モデルの 不確実性の概念を定義することに依存しており、モデルの予測の信頼性を定量化します。 modAL pythonライブラリでさまざまな一般的な不確実性メトリックの実装と説明を見つけるか、この調査ペーパーでアクティブラーニング研究について詳しく知ることができます。どちらもチェックすることをお勧めします。
従来のアクティブラーニングループは次のようになります。
しかし、それは十分な理論です、これを実践しましょう。
ロイターのデータセット
デモンストレーションの目的で、 NLTKが提供する公開されているロイターコーパスを使用します。 これは、90のカテゴリでタグ付けされた10,788のニュース記事のコレクションであり、どの記事にも1つ以上のタグを付けることができます。
grain
、 ship
、および wheat
のタグが付けられています。
フランスの輸出業者は中国への小麦販売の増加を見ています
フランスの輸出業者は、1986/87(7月/ 6月)の年に配達するために約60万トンのフランスの軟質小麦が中国に販売されたと推定しました。 1986年7月から今年2月までの間に約30万トンが中国に輸出されました。 さらに10万〜15万トンが今月中に出荷され、4月にはほぼ同じ量が出荷されるだろうと彼らは言った。 税関の統計によると、フランスは1985/86年に約25万トンの軟質小麦を中国に販売しました。 しかし、一部の輸出業者は、1月に輸出強化プログラムの下で100万トンの米国軟質小麦を提供され、そのイニシアチブの下でいくつかの購入を行った後、中国がフランスとの契約の一部を放棄する可能性があることを恐れています。
クリーニング/処理されたデータは ここにあります。 自分で試してみてください!
簡単なアクティブラーニングの比較
Communications Mining のアクティブ ラーニング戦略と、トレーニング セットからのランダム サンプリング (データ収集の標準ベースライン) を比較してみましょう。
すべての実験で、セットアップは次のとおりです。
- 最も一般的な20のタグを選択し、それらのみを学習します
- トレーニング/テスト分割では、データセットによって提供されるものを使用します
- 10回の実行の平均と標準偏差を報告します
- 基になる機械学習モデルはまったく同じですが、唯一の違いは注釈付け戦略です
どちらの方法も、ランダムに選択された同じ100の例、つまり初期セットから始まります。 アクティブラーニングでは、トレーニングプロセスのガイドに使用する前に、信頼性の高い不確実性の推定値を取得するために少量の初期データが必要です。 実際には、この初期セットは通常、Communications Mining の [ 検出 ] ページの [クラスター ] を使用して作成されますが、比較をできるだけ公平にするために、この投稿では両方のメソッドに同じランダムな初期セットを使用します。
アクティブ ラーニングについては、Communications Mining のアクティブ ラーニング戦略によって推定された、最も有益な 50 の例を繰り返し選択し、モデルを再トレーニングして繰り返します。 ベースラインでは、各反復で残りの注釈なしデータから 50 個の例をランダムにサンプリングします。
各時間ステップで、まったく同じテストセットで両方のモデルのパフォーマンスを比較し、 平均平均精度(MAP) を主要なメトリックとして使用します。
アクティブラーニングは明らかにランダムなベースラインを上回っています。 後者は3050例のトレーニング例で80%のMAPを達成しますが、アクティブラーニング主導のトレーニングはわずか1750例、つまり 1.7倍の削減でMAPを達成します。
アクティブラーニングが優れたモデルを生成するためのデータ要件を減らすことができることを経験的に示しましたが、それは本当に私たちが達成したいことですか?
アクティブラーニングの真の目的は、優れた機械学習モデルの作成にかかる時間を短縮することであるべきだと考えています。 この時間は、さまざまなチームの調整とスケジュールの管理、データサイエンティストによるモデルの開発とトレーニング、およびSMEによるデータ注釈に分割されます。
アカデミック・アクティブ・ラーニングにおける誤謬
ほとんどのアクティブラーニング研究は、モデルのデータ要件をさらに減らす方法を作成することを目的としています。 彼らは通常、実際の設定では必ずしも正しいとは限らない仮定を立てます。
アノテーターは、すべての入力にラベルを付けるのに同じ時間がかかるわけではありません
トレーニングポイントの数を減らすことだけを目指すことは、同じ人であっても、異なる入力に注釈を付ける時間が大幅に異なるという事実を無視します。 テキストが長い入力や、より複雑な言い回しの入力は、読み取りに時間がかかります。 より多くの概念を持つ入力は、テキストを読みながら多くの異なるテーマを追跡する必要があるため、注釈を付けるのに時間がかかります。
コンテキストの切り替えにもコストがかかります。 ラベラーに同じ概念に20回続けて注釈を付けるように依頼すると、注釈作成者は常に精神的なコンテキストを切り替える必要があり、適切な注釈フローに入ることができないため、20の異なる概念に注釈を付けるよりも高速になります。
注釈付きの例の数だけを見ると、誤解を招く可能性があります。 実際、入力の情報が半分であるが、注釈を付けるのが他の入力よりも10倍速い場合、注釈を付けることは、アクティブなSME時間の点でより良いトレードオフです。 最終的に、これは最小化すべき最も重要なメトリックです。
アノテーターがループにうまく統合されていない
アクティブラーニングの研究では、最新のトレーニング済みモデルによって表面化された入力にラベルを付けるようにアノテーターに依頼すると、瞬時に実行できることを前提としています。 この世界では、人間のアノテーターはアクティブラーニングループに緊密に統合されており、注釈マシンのように注釈を付けるための入力が与えられるのを待っています。
ただし、実際には、データに注釈を付けるSMEが、モデルトレーニングを制御するのと同じ人であることはめったにありません。 各イテレーションでは、SME とデータ サイエンティストの間で調整を行い、データをやり取りして新しいモデルにアクセスできるようにし、全員の忙しいカレンダーと同期する必要があります。
モデルの再トレーニングは瞬時には行われません
アクティブ ラーニングでは、モデルを最適に改善するために多くの反復処理が必要であるため、モデルの再トレーニングは瞬時に行われ、時間のかかるアクティビティはデータの注釈のみであるというのが一般的な前提です。 ただし、モデルの再トレーニングが別のデータ サイエンス チームによって制御されている場合、または Google AutoML などの最先端のクラウド ソリューションによって提供されている場合は、モデルの再トレーニングに要する時間が実際に長くなる可能性があります。 Google AutoML では、 モデルのトレーニングには 6 時間から 24 時間かかると推定されています。 これは基本的に迅速な反復と互換性がなく、中小企業がバッチにラベルを付けるたびに次のバッチが与えられるまで6時間待つ必要がある場合、モデルのトレーニングには数か月ではないにしても数週間かかります。
中小企業はいつトレーニングをやめるべきかわからない
ベンチマークを確立し、同等の研究を行うために、パフォーマンスは通常、明確に定義されたテストセットに対してベンチマークされます。 これは学術研究に必要ですが、現実の世界では、注釈付きデータをまったく持たない状態から始めるため、そのようなテストセットは存在しません。 モデルが本番環境で使用するのに十分なパフォーマンスに達した時期、つまり中小企業がより多くのデータに注釈を付けるのをやめて価値を獲得し始めることができる時期を知ることは困難な作業です。
アカデミックデータセットには、学習しようとしている既知のラベルのセットがあり、テストセットの精度は進捗状況の優れた指標になります。 現実の世界では、中小企業はデータ内にどのような概念が存在するかわからず、注釈を付けるときに新しい概念を発見することがよくあります。 優れた進捗レポートでは、この不確実性を考慮に入れる必要があります。
実社会のためのアクティブラーニング
Communications Miningでは、これらの仮定に挑戦し、複数の利害関係者と困難な要件があるビジネス環境で機械学習モデルをトレーニングする現実を考慮に入れた製品を構築しました。
Communications Mining UI は、SME ができるだけ早くデータに注釈を付けることができるように設計されています。 UI には、最新のモデル予測に基づいて提案されたラベルが表示されるため、ユーザーはラベル セット全体から選択しなくても、予測をすばやく割り当てたり無視したりできます。 モデルが改善されるにつれて、提案が改善され、アノテーターがより多くのデータをレビューすることがますます速くなります。
2 つ目の重要な要素は、Communications Mining モデルのトレーニングが高速で、平均で 2 分以内かかることです。 モデルはバックグラウンドで継続的にトレーニングされ、SME がデータに注釈を付けることによってトリガーされます。
通信マイニング モデルの評価
Communications Mining のアクティブ ラーニング戦略は、モデル評価によって推進されます。 その背後にある原動力となる考え方は、理解しやすい全体的な評価を提供し、モデルのパフォーマンスの概要と、モデルを改善するための最良の方法の両方を提供することです。
-
バランスは、モデルのトレーニング データがデータセット全体をどの程度適切に代表しているかを追跡します。
-
カバレッジは 、概念の分類がデータ内のすべての概念をどの程度正確にカバーしているかを追跡します
-
すべてのラベルは、すべてのラベルの予測パフォーマンスを追跡します
-
パフォーマンスの低いラベルは、パフォーマンスが最も低いラベルの予測パフォーマンスを追跡します。 完璧なデータセットでは、パフォーマンスが最も低いラベルでも十分なパフォーマンスが得られるはずです
最後の2つは、学界で使用されているテストセットのパフォーマンスと非常によく似ていますが、先験的な既知のテストセットではなく、利用可能なレビューデータから推定されるように変更されています。 最初の 2 つは、進化し続けるラベルのセットによる反復的な注釈の潜在的な落とし穴を軽減するのに役立つように設計されています。 興味のある読者は、バランスとカバレッジに関する今後のブログ投稿を読むことで、それらについて詳しく知ることができます。
これらすべての要素を単一のスコア、モデル評価に結合します。 これは、進行状況を追跡するために使用できる明確なスコアを提供することによって、トレーニングをいつ停止するかという質問に答えようとします。
中小企業にとっては、非常に難しい入力に注釈を付けることで精神的に疲れ果てて、ほんの数例でやめるよりも、少し情報量が少ない多くの入力に簡単に注釈を付ける方がよいでしょう。
アクションはグループ化されているため、SMEは1つのアクションを実行するときに、コンテキストの切り替え、労力、フラストレーション、注釈付けに費やす時間を最小限に抑えて、モデルの特定の領域を改善しようとしています。
ロイターのデータセットに戻りましょうが、以前の比較をデータポイントではなく人間の時間で再構成します。
どのくらいの速さで注釈を付けることができますか?
これを行うには、入力に平均して注釈を付けるのにかかる時間を決定する必要があります。 これを推定するためにプラットフォームを使用したユーザーの行動を調査したところ、アノテーションの速度を決定する主な2つの要因は、ラベルが予測されるかどうかと、タスクにコンテキストの切り替えが含まれるかどうかであることがわかりました。
Communications Mining プラットフォームでは、 シャッフル、 低信頼度、最近、 再調整 などの一部のトレーニング ビューに、特定のテーマ別にグループ化されていない入力の表示が含まれるため、コンテキストが頻繁に切り替えられます。 検出、ラベルを教える、特定のラベル確率による並べ替えなど、すべて関連する入力が表面化されるため、より焦点を絞ったエクスペリエンスにつながります。
次の表は、アノテーションあたりの推定時間の中央値をこれら 2 つの要因で分類したものです。
手動で割り当てる |
予測の確認 | |
---|---|---|
コンテキストの切り替え |
7.10 |
2.95 |
集中 |
5.56 |
2.66 |
予測の確認は、手動でラベルを割り当てるよりもはるかに高速であり、ツールを使用しないランダムな注釈付けは、専用ツールで予測を確認するよりも2.5倍以上遅くなる可能性があることがわかりました。 しかし、予測がなくても、焦点を絞ったタスクは、コンテキストの切り替えが必要なタスクよりも平均22%高速です。
このデータを深く掘り下げ、高速注釈エクスペリエンスの成否を明らかにするフォローアップブログ投稿にご期待ください。
このデータを使用して、優れたモデルを構築するために必要なアクティブな人的時間を見積もることができます。
アクティブな注釈付け時間によるストラテジの比較
最初の比較に戻りましょう。 さまざまな要因の影響を完全に理解するために、以前に比較した2つの方法に加えて、3つの追加のシナリオを検討します。
-
前回の比較で使用した Communications Mining の Active Learning です。 モデル評価に基づいて、各時間ステップで、モデルを再トレーニングする前に、上位 5 つの推奨アクションのそれぞれから最初の 10 個のサンプルにラベルを付けます。 実際には、Communications Mining のモデルは通常、50 個の新しい注釈が提供される前に再トレーニングを終了するため、実際には、モデルはシミュレーションよりも実際に最新になっています。
-
提案なしのアクティブ ラーニング: Communications Mining ストラテジを使用しますが、予測を表示することで注釈を高速化する専用の注釈 UI は使用しません。
-
提案なしのランダムサンプリングは、前回の比較のベースラインでした。 各時間ステップで、残りの注釈なし候補のうち 50 個をランダムにサンプリングし、専用の注釈 UI は使用しません。
-
提案によるランダム サンプリングは、前の戦略と同じですが、専用の注釈 UI で拡張されています。
-
ランダム バッチ学習 (SME がアクティブ ラーニング プロセスに緊密に統合されておらず、Communications Mining UI などの適切なツールにアクセスできない状況で予想される)。 この状況では、モデルのトレーニングは長いプロセスであるため、注釈付けはトレーニング時間を節約するために大きなバッチで行われると想定しています。 各時間ステップで、1000 個の新しい入力をランダムにサンプリングし、注釈を付けます。
まず、モデルトレーニングのためにコンピューターに座ってデータに注釈を付けているときに、アクティブなSME時間のみを調べた場合に何が起こるかを調べます。
専用の注釈ツールとアクティブラーニングは、どちらもランダムベースラインよりも大幅に改善されていることがわかります。 アクティブラーニングと優れたUXを組み合わせることで、データ効率の向上と各入力のラベル付けに必要な時間の短縮の両方が可能になり、両方のメリットが組み合わされ、さらに高速化されます。
ただし、中間シナリオはやや人工的です。 実際には、機械学習の活用を開始することを目指している企業は、両方の機能を備えたCommunications Miningなどのツールを購入するか、ランダムバッチシナリオにはるかに近い概念実証を社内で構築する可能性があります。 したがって、以降の比較では、 Communications Mining と ランダムバッチに焦点を当てます。
両方のシナリオ間の時間差分をベンチマークすると、80%のMAPに達するモデルが得られます。
Communications Miningは、ランダムバッチアノテーションと比較して 3.1倍 の高速化を実現し、中小企業は9時間25分ではなく3時間で必要なMAPを達成できます。 これが、ある朝と注釈付けに費やした1営業日半の違いです。
価値 実現までの時間の見積もり
以前の見積もりは、中小企業が積極的に注釈を付けている時間のみを調べているため、依然として比較的楽観的です。 アクティブなSME時間は考慮すべき重要な要素ですが、機械学習プロジェクトの価値実現までの時間は、実時間、つまりプロジェクトの開始から使用する価値のあるモデルの提供までの日数で測定されます。 ウォールタイムを考慮するときは、他の要因を考慮する必要があります。
前述のように、Google AutoML などのサードパーティのクラウド ソリューションによって提供される場合、トレーニング時間には最大 24 時間かかることがあります。 Communications Mining のモデルと AutoML の最近の比較では、400 から 5000 の例でのトレーニングには通常約 4 時間かかることがわかったため、これを推定値として使用します。
さらに、クラウド ML ソリューションを使用している場合でも、モデルのトレーニングは社内のデータ サイエンス チームがトリガーする必要があります。 この状況では、注釈の各ラウンドには次の手順が含まれます。
- アノテーションに関わるすべての中小企業からデータを収集
- データをデータ サイエンス チームに送信する
- データ サイエンティストは、新しいデータの形式が適切であることと、必要なすべてのフィールドに入力されていることを手動で確認します
- 中小企業にデータの問題を修正するよう依頼する可能性がある
- 既存のデータを新しく収集したセットとマージする
- 新しいモデルをトレーニングする
- 新しいモデルのパフォーマンスを検証し、トレーニングの実行が正常に終了したことを確認する
- 新しいモデルを使用して、SME によって注釈が付けられる注釈付けされていないデータの新しいバッチをフェッチします
- 注釈のためにデータを送信する
これらの手順はすべて、優先順位とスケジュールが異なる複数のチーム間で調整しながら行う必要があり、多くのダウンタイムにつながります。 パートナーとのやり取りから、各イテレーションには最低48時間かかると見積もっていますが、チームの優先順位が一致していない場合は数週間かかることがわかりました。
チーム間のコミュニケーションによる平均ダウンタイムとして 48 時間を使用すると、機械学習プロジェクトの価値実現までの時間の現実的な見積もりを生成できます。
このタスクは Communications Mining を使用して 3 時間で完了できますが、適切なツールを使用しないと、270 時間、つまり 89 倍遅くなる可能性があります。
1 人が関与する半日の作業の後に価値を引き出すか、複数のチームが関与する 2 週間以上にわたって価値を引き出すかの違いは、企業での機械学習の採用を左右し、提供できる価値を逃す可能性があります。
このブログ投稿ではいくつかのトピックについて説明しましたが、主なポイントは次のとおりです。
- アクティブ ラーニングは、優れた機械学習モデルのトレーニングに必要なデータ ポイントの数を減らすのに役立ちます
- アクティブラーニングの研究は、必ずしも現実的ではない仮定を立てます
- これらの仮定に立ち向かい、注釈付けプロセスに人間のアノテーターをより多く含めることで、機械学習プロジェクトの価値実現までの時間を大幅に短縮できます
- 人間の経験を優先することは、アクティブラーニング戦略を成功させるために不可欠です
Communications Mining を使用して、マシン ラーニングによる価値の採用を加速したい場合は、 UiPath までお問い合わせください。