Coda

メモ Snorkel: Rapid Traning Data Creation with Weak Supervision

September 21, 2019

概要

表題の論文は、Weak supervisionの一種であるSnorkelを学習データの収集効率と予測性能についての既存手法や教師あり学習と比べた評価をまとめてる。

Weak supervisionは、不正確なラベルを許容した上で半手動で大量の教師データを生成する手法をさす。 Snorkelは、データを受け取りラベルの予測値か予測不可能であることを示す値を返す関数を使って、データにラベルを与えてゆく。 このラベル付けする関数は、ラベリング関数と呼ばれ、データとともにSnorkelに与えられる。 Snorkelは、入力された複数のラベリング関数をデータに適用し、データ件数xラベリング関数の個数をサイズとするラベルの予測値の行列を作る。その後、真のラベルを予測するモデルを行列にあてはめ、サンプルにラベルごとの真のラベルについての確信度を出力する。 出力された確信度つきのデータを教師データとしたモデルと教師ありデータで学習したモデルの予測性能を比較する実験を4件実施したところ、Snorkelによるラベルは全実験において教師ありデータの指標との差が4%以内であった。教師データとして使われたデータは人手で収集すると数週間から数ヶ月かかる量であるとあった。

ラベリング関数は、引数にデータとり、返り値に予測不可能であることを示す値かラベルのいずれかを返せばよく、予測の判断材料に制限はない。論文では、判断材料としてテキストのパターンマッチや弱い学習器、外部の知識データベースが例示されている。

SnorkelのAPIは、インターネット上に公開されている。 ただし、予測ラベルを要素とする行列から真のラベルを予測する手法は、本論文とは異なる。 本論文ではラベルを予測するモデルには、ギブスサンプリングとSGDを組み合わせた手法を採用しているとあるが、 こちらにあるように、 Snorkel 0.9では行列補完を応用した手法が採用されている。

最後に、Snorkelと教師あり学習を比較した実験の情報を以下にまとめる。

Task # LFs % Pos. # Candidates
CDR 33 24.6 8272
Spouses 11 8.3 22,195
Radiology 18 36.0 3,851
Crowd 102 36.0 505

Posは正例の割合を示す。

Task # Train. % Dev. # Test
CDR 8,272 888 4,620
Spouses 22,195 2,796 2,697
Radiology 3,851 38 5 385
Crowd 505 63 64

Snorkelの評価結果

Task Precision Recall F1 AUC ACC
CDR 38.8 54.3 45.3 N/A N/A
Spouses 48.4 61.6 54.2 N/A N/A
Radiology N/A N/A N/A 72.0 N/A
Crowd N/A N/A N/A N/A 65.6

Hand supervisionの評価結果

Task Precision Recall F1 AUC ACC
CDR 39.9 58.1 47.3 N/A N/A
Spouses 47.8 62.5 54.2 N/A N/A
Radiology N/A N/A N/A 76.2 N/A
Crowd N/A N/A N/A N/A 68.8

感想