Snorkel Drybell:既存知識を活用して機械学習用ラベル付きデータを自動作成(1/3)

  • 2019.03.20
  • AI
Snorkel Drybell:既存知識を活用して機械学習用ラベル付きデータを自動作成(1/3)

1.Snorkel Drybell:既存知識を活用して機械学習用ラベル付きデータを自動作成(1/3)まとめ

・既存の知識を活用して機械学習用のラベル付きデータを自動で作成する手法が発表
・手動でラベル付けした何万ものデータと同等の有用性を持つデータセットが作成可能
・例えば固有表現抽出テクニックを利用すれば有名人を含むコンテンツを大ざっぱにラベル付けできる

2.Snorkel Drybellとは?

以下、ai.googleblog.comより「Harnessing Organizational Knowledge for Machine Learning」の意訳です。元記事の投稿は2019年3月14日、Alex RatnerさんとCassandra Xiaさんによる投稿です。

機械学習(ML)アプリケーションの開発における最大のボトルネックの1つは、最新のMLモデルをトレーニングするためには、沢山のラベル付きデータが必要になる事です。これらのデータセットに作成にはかなりの時間と費用の投資、及び正しい専門知識を持つラベル付け作業者が必要になります。更に実際のアプリケーションの進化に伴い、ラベル付きデータセットは破棄されるかラベル内容を更新する必要になる事も度々発生します。

私達はスタンフォード大学およびブラウン大学と共同で、「Snorkel Drybell: A Case Study in Deploying Weak Supervision at Industrial Scale」を発表しました。本論文では、既存の知識を、よりノイズの多いより高次元の教師(higher-level supervision:しばしばweak supervisionとも呼ばれます)として使用し、大規模なトレーニングデータセットにすばやくラベルを付ける方法を探ります。

この研究では、私たちは実験的なシステムであるSnorkel Drybellを使います。これはオープンソースのSnorkelフレームワークを多様な組織的な知識資源、例えば、内部モデル、オントロジー、レガシールール、知識グラフなどを使って、Webスケール(巨大な)で機械学習モデルのトレーニングデータを生成するように適応させます。

訳注:
Snorkelは、トレーニングデータを迅速に作成、モデル化、および管理するためのオープンソースソフトウェアです。蛸がシュノーケルを付けてるロゴで、Snorkelは水中で呼吸するための器具のシュノーケルです。Drybellは造語なのか、楽器メーカーなのかちょっと判断がつかないです。

私達はこのアプローチが何万ものデータポイントを手動でラベル付けする事と同等の有用性を持つことを見出しました。以下で機械学習モデルのための訓練データセットが実際にどのように作成できるかについてのいくつかの主要なレッスンを明らかにします。

Snorkel DryBellでは、トレーニングデータを手作業でラベル付けするのではなく、プログラムでトレーニングデータにラベルを付けるラベリング関数を記述できます。

この研究では、エンジニアの知識を使って、これらのラベリング関数で既存のリソースを「weak supervisionのためのヒューリスティックなラベル付きデータ(大体合ってるラベル付きデータ)」として活用する方法を調査しました。

一例として、私たちの目標が有名人に関連するコンテンツを識別することであるとします。既存の固有表現抽出(NER:Named entity recognition)テクニックを利用すれば、人物を含まないコンテンツには、著名人とは関係ないものとしてラベルを付ける事ができます。これは、既存の知識リソース(この場合はNERとしてトレーニング済みのモデル)を、トレーニングデータにラベルを付けるための単純なプログラムロジックと組み合わせた事を意味しています。

また、このラベリング関数はNoneを返すことにも注意してください。 None、つまり棄権。多くの場合、データのごく一部にラベルを付けるだけです。 私たちの最終的な目標は、これらのラベルを使って新しいデータに一般化できる近代的な機械学習モデルを訓練することです。


ラベル付け関数の例では、データポイント(1)を手でラベル付けするのではなく、既存の知識リソース(この場合はNERモデル(2))を、コード(3)で表される単純なロジックと共に使用します。このようにしてデータにヒューリスティックにラベルを付けます。

 

3.Snorkel Drybell:既存知識を活用して機械学習用ラベル付きデータを自動作成(1/3)関連リンク

1)ai.googleblog.com
Harnessing Organizational Knowledge for Machine Learning

2)hazyresearch.github.io
Snorkel: A System for Fast Training Data Creation