Human-in-the-Loopってなに?
TL;DR
近年話題のHuman-in-the-Loopの概念についてまとめました。詳しくはこちらの書籍を参照してください。
私たちの研究室(NISLab)
アドベントカレンダー 20日目~
Human-in-the-Loopとは
簡単にいうと機械学習と人間を組み合わせることでより高度なシステムを実現しようといったアプローチです。機械学習と人間が協力することで機械学習のみのシステムよりは高精度に、人間のみのシステムよりはその実装コストを抑えることができます。以下にHuman-in-the-Loop機械学習の一般的なプロセスを示します。
図において、能動学習・アノテーションは人間が行うタスク、学習・デプロイは機械学習モデルが行うタスクです。要するに、人間の高度な認知能力によってデータが選択され、そのデータを機械学習モデルが学習するといったループになっているわけですね!
アノテーション
人間がデータにラベル付けをするプロセスです。ラベル付けを行うことで、そのデータを機械学習モデルの学習に使用することができます。アノテーションを行う人材のことをアノテーターといい、以下の3種類があります。
- 社内ワーカー
モデルを構築した人間と同じ組織で働くワーカー
アノテーションの対象データに対する専門性が高い一方、人員の拡大縮小が困難
イメージとしてはアノテーション分野の専門家 - アウトソーシングワーカー
アウトソーシング会社に所属するワーカー
時給単位で報酬が支払われる
専門性をある程度確保しつつ人員の拡大縮小に対する柔軟性もある
イメージとしてはアノテーションの専門家 - クラウドワーカー
クラウドソーシングにおけるワーカー
タスク単位で報酬が支払われる
専門性が低い一方、人員の拡大縮小が容易
各アノテーターにはそれぞれ特徴があるため、アノテーションタスクの種類・規模に応じて適切なアノテーターを選択することが大切です。
能動学習
人間がアノテーションする価値があるデータをサンプリングするプロセスです。アノテーションする価値があるデータとは、モデルを混乱させているデータやモデルにとって未知なデータなどが挙げられます。こういったデータを優先的にモデルに学習させることで精度の向上が見込めます。そのためのサンプリング戦略は以下の通りです。
- ランダムサンプリング
- 不確実サンプリング: 決定境界付近でラベル付けされていないデータを選択
- 多様性サンプリング: 未知 or 稀なデータを選択
モデルの精度を高めるには、能動学習によって精度向上に寄与するデータを適切に選択し、そのデータに正しくアノテーションを行うことが重要になります。一つのサンプリング戦略だけでなく、複数の戦略を組み合わせることも検討してください
まとめ
本記事では、Human-in-the-Loopについて紹介しました。機械学習と人間を組み合わせることで今までにない新たな価値が生まれることをご理解いただけたと思います。これからはAIと人間が協力して働く時代になるかもしれませんね!
Discussion