この文書は、IBM Watson® Knowledge Studio 上の IBM Cloud® に関するものです。 以前のバージョンの Knowledge Studio on IBM Marketplace 向けの資料を参照するには、このリンクをクリックしてください。
機械学習モデルの改善
モデルで不具合がある領域を判別した後、モデルのパフォーマンスを改善するためのステップを実行します。
モデル・バージョンの作成
機械学習モデルを作成した後、スナップショットを取って現行リソースのバックアップ・バージョンを保管することにより、将来の反復でそれらのリソースをリストアしたくなる場合に備えることができます。
このタスクについて
F1 スコアは、モデルの品質を表す指標です。 モデルのパフォーマンス結果が良好な場合は、リソースのいずれかを変更する前に、コンポーネントの 1 つのバージョンを保管することをお勧めします。 変更を行ったために品質が低下した場合、保管しておいたバージョンに戻すことができます。 古いバージョンに戻すと、すべてのアノテーション・タスクはもう有効ではなくなるため、アーカイブされます。
1 つのワークスペースに対して最大 10 バージョンを保有できます。 この限度に達した場合、新しいバージョンを作成する前に、古いバージョンまたは不要になったバージョンを削除します。
新しいバージョンを作成するときには、以下のリソースが取り込まれます。
- タイプ・システム
- コーパス
- グランド・トゥルース
- 機械学習モデル
- 機械学習モデルの評価結果
以下のリソースは除外されます。
- アノテーション・タスク (一時的という仕様であり、グランド・トゥルースを決定するためにのみ使用されるため)
- 辞書 (辞書は大規模になることがあり、さまざまなタイプの辞書がさまざまな方法で管理されるため)
手順
機械学習モデル・バージョンを作成およびリストアするには、次のようにします。
-
Knowledge Studio 管理者またはプロジェクト管理者としてログインし、ワークスペースを選択します。
-
「機械学習モデル」 > **「パフォーマンス」**を選択します。 バージョン 1.0 というラベルが付いた、現行バージョンについてのパフォーマンス統計情報が表示されます。
-
現行バージョンのスナップショットを取得するため、「機械学習モデル (Machine Learning Model)」>**「バージョン (Versions)」をクリックしてから、「スナップショットの取得 (Take Snapshot)」**をクリックします。 バージョン 1.0 のリソースは凍結され、1.1 というラベルの付いた新しいバージョンが現行バージョンになります。 新バージョンを作成するたびに、マイナー・バージョン番号が増分されます。例えば、1.0 は 1.1 になり、その次には 1.2 になります。
-
ワークスペースのリソースを必要に応じて修正し、再トレーニングを行って、モデルを再評価します。
-
パフォーマンス結果が満足できるものであり、将来の変更を行う前にこの新バージョンを保管したい場合、別のバージョンを作成します。 必要に応じてリソースの修正とモデルの再トレーニングを行い、保持したい反復ごとに新しいバージョンを作成することを続けます。
-
パフォーマンス結果が悪く、それ以上テストをする前に前のバージョンに戻したい場合は、次のようにします。
- 「アセット (Assets)」>**「辞書 (Dictionaries)」**ページを開き、リストアされたモデルで再使用する辞書をすべてダウンロードします。
- 「機械学習モデル (Machine Learning Model)」>**「バージョン (Versions)」をクリックし、リストアするバージョンに対して「プロモート (Promote)」**をクリックします。 プロモートするバージョンが現行バージョンになり、バージョン番号が 2.0 に変わります。 バージョンをプロモートすると、メジャー・バージョン番号が増分され、マイナー・バージョン番号は 0 になります。例えば、1.1 が 2.0 になります。
- **「辞書 (Dictionaries)」**ページを開き、ダウンロードしておいた辞書をアップロードします。
- 新バージョンのテストのためにグランド・トゥルースへの変更が必要な場合は、「機械学習モデル (Machine Learning Model)」 > **「アノテーション (Annotations)」**ページを開きます。 **「アノテーション・タスク (Annotation Tasks)」**タブをクリックして、新規アノテーション・タスクを作成します。
ヒューマン・アノテーションを失わずにタイプ・システムを変更する
パフォーマンス統計情報に基づいて、モデルのトレーニング中に修正が必要になることがあります。 しかし、一般的には、大規模なアノテーション・タスクを開始する前に、タイプ・システムをできるだけ最終的なものに近づけておくことが推奨されます。 ヒューマン・アノテーターが作業を開始した後にタイプ・システムを変更した場合、ユーザーはアノテーションが付けられた文書を再確認する必要があります。 タイプ・システムの変更の適用可能性を評価する必要があります。
このタスクについて
このプロセスは、現行のタイプ・システム、グランド・トゥルース・エディターのキーボード・ショートカット、およびカラー設定を、1 つのタスク内のすべての文書セットに伝搬します。
手順
ヒューマン・アノテーターが行った作業を失わずにタイプ・システムを変更するには、次のようにします。
-
タイプ・システムを変更します。 例えば、エンティティー・タイプまたは関係タイプを追加または削除できます。
-
変更を既存のヒューマン・アノテーション・タスクに伝搬するかどうかを決定します。
-
「機械学習モデル (Machine Learning Model)」 > **「アノテーション (Annotations)」ページを開き、「アノテーション・タスク (Annotation Tasks)」タブをクリックします。 更新する各タスクを開き、「タイプ・システム更新の適用 (Apply Type System Updates)」**をクリックします。
タイプ・システムからエンティティー・タイプまたは関係タイプを削除した場合、それらのタイプのすべての出現箇所が文書中でグレー表示されます。 これらの無効タイプは機械学習モデルでは無視されます。 文書セットのサブミットや承認が妨げられるわけではありません。
-
ヒューマン・アノテーターに、タイプ・システムの変更内容の詳細を知らせます。
-
ヒューマン・アノテーターに、担当の文書を更新してタイプ・システムの変更を反映させるように依頼します。 例えば、新しいエンティティー・タイプまたは関係タイプが追加された場合、ヒューマン・アノテーターは、担当の文書を検討して、適切にアノテーションを付ける必要があります。
**注:**タスクに完了した文書が含まれている場合、ヒューマン・アノテーターは、編集可能な状態に戻るまで、それらの文書を変更してタイプ・システムの変更を評価することはできません。 編集可能にするには、ヒューマン・アノテーターに文書セットをサブミットするよう依頼して、文書セットを拒否できるようにします。
文書セット管理
適切な時期に、正しいデータ・セットを使用して、モデルのテストおよびトレーニングを行います。
機械学習モデルを作成する際、システムに追加する文書を、以下のシステム・レベルのデータ・セットに割り振る必要があります。
-
トレーニング・セット
事前アノテーションを通してまたはヒューマン・アノテーターによってアノテーションが付けられた、モデルをトレーニングするために使用される文書の集合。 トレーニング・セットの目的は、機械学習モデルに正しいアノテーションについて教えることであり、それには、アノテーションが付けられなかったテキストを通してモデルを教育することも含まれます。
-
テスト・セット
トレーニングされたモデルをテストするために使用される、アノテーションが付けられた文書の集合。 テスト・セットでテストを実行した後、結果に関して診断目的の詳細な誤り分析を実行します。 綿密な分析は、現行モデル内の対処可能な弱点を見つけるのに役立ちます。
-
ブラインド・セット
テストと改善の反復が数回行われた後にシステムによる定期的テストのために取っておいて使用される、アノテーションが付けられた文書の集合。 正確度が (例えば、既知の文書内のアノテーションのみに基づいて変更を行うことによって) 損なわれないようにするため、ブラインド・データは、モデルの作成に関与したユーザーが前に見たことのないデータである必要があります。 ブラインド・データで実行されたテストからのみの結果が報告される必要があります。 ブラインド・セットでテストを実行した後、大まかなレベルのスコア (全体のメンションおよび関係の F1 スコアなど) のみを確認してください。 パフォーマンスに関する詳細をあまり多く調べないことをお勧めします。それを行うことがモデル改善内容の選択に影響する可能性があります。
Knowledge Studio の目標は、大きなチームが協力してモデルを構築できるようにすることです。 そのため、モデルを作成するチームには、ヒューマン・アノテーターたちのグループと、それとは別に、モデルの構築とテストを行って改善する 1 人または複数の人たちのグループが含まれていると想定されています。 この想定のため、当アプリケーションは、単一の文書セットから文書を均等にグループ化して、テスト・セット、トレーニング・セット、およびブラインド・セットにするように構成されます。 ただし、担当を分けていないチームの場合、例えば、アノテーションを付ける人が、モデルのテスト結果の詳細な検討も行う場合、これらのセットへの文書の割り当てを変えて、各セットで使用される文書をもっと明示的に分割することが必要になることがあります。
ブラインド・セットが必要な理由
テスト・データを使用して正確度を詳細に査定するので、しばらく後になってから、文書および文書の特徴を理解するようになります。 例えば、文書中のエンティティー・タイプ、関係タイプ、およびテキスト・タイプのうち、機械学習モデルが最も良く理解するはどれなのか、そうでないのはどれなのかといったことが分かり始めます。 この情報は、正しい改善 (例えば、タイプ・システムの改良、ギャップを埋めるためのトレーニング・データの補足、辞書の追加など) を行うことに集中するのに役立つので、とても重要です。 テスト文書は、モデルを改善するために繰り返し使用されるため、モデルのトレーニングに間接的に影響を及ぼし始めることがあります。 これが、文書のブラインド・セットが重要である理由です。
セットへの文書の割り振りを制御する方法
機械学習モデルを作成するときは、トレーニング・セット、テスト・セット、またはブラインド・セットに割り振る、セット内の文書の比率を指定する必要があります。Knowledge Studioは、機械学習モデルの作成に使用する文書セットに対して70/23/7の比率を自動的に適用します。 これらの値を変更することができます。
- ヒューマン・アノテーターによってアノテーションが付けられたセットをトレーニング・セットに追加するには、比率明細 100/0/0 を指定します。
- トレーニングに使用したセットを、その後でテストに使用できます。 テストのためだけに文書セットを使用するには、比率明細 0/100/0 を指定します。
- トレーニングにもテストにも使用されたことのない文書セットのみをブラインド・セットに追加します。 これを行うには、文書セットに対して比率明細 0/0/100 を指定します。
反復を数回行った後にブラインド・セットの使用を停止するよう計画してください。 ブラインド・セットは、使用する回数が多くなるほど、「ブラインド」ではなくなります。 テスト・データについても同じです。 これらのセットを破棄するのではなく、別の目的に使用するためにマイグレーションできます。 以下のフローに従ってマイグレーションしてください。
blind --> test --> train
これらのセットがマイグレーションされると、まだ見られていない新しい文書を、ブラインド・データとして、そしてテスト・データとして、追加できます。 ただし、複数のモデル・バージョンにまたがって正確度を評価する方法を保持するように注意してください。 ベースラインを確立する 1 つの方法は、新しい文書セットで、古いバージョンのモデルを実行することです。 この実行の結果は、同じセットでの新しいモデルの実行と比較するための基礎になります。