Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Snorkel入門 大量の知識をプログラム化し、ラベル付けを高度化する

Snorkel入門 大量の知識をプログラム化し、ラベル付けを高度化する

社内勉強会用の資料です。

Yoshiyuki Ishida

October 09, 2019
Tweet

More Decks by Yoshiyuki Ishida

Other Decks in Technology

Transcript

  1. 教師あり学習 4 訓練データ + 正解ラベル 訓練データ + 正解ラベル 訓練データ +

    正解ラベル ・ ・ ・ 投入 学習器/分類器 生成 学習モデル EX)••社のサービスに関するツイート ••社のサービス、ヒドイ。 ••社のサービス、UIがかっこいい。 ••社のコールセンター親切。 + + + ネガティブ ポジティブ ポジティブ 機械学習でモデルを作るには、 各データに対する正解ラベルが必要。
  2. 課題: Labelerには、適切な専門知識が必要。 • 例) 胸部X線画像から腫瘍があるかを判定 • 専門知識がないと、判断が難しい。(誤り率が大きく異なる) • より熟練度が高いと、当然人材難/高コストになる。 8

    誤り率 Labeler(タスクを実行した人) 15% 医学的なバックグラウンドを持たない人 10% 新米ドクター 5% 熟練ドクター 2% 各画像について議論を行う小さなドクターチーム
  3. 課題: Labelerが人間であることによるノイズとバイアス 1. ノイズ • 環境や体調によって、判断がブレる可能性がある。 2. バイアス • 人によって、判断がブレる可能性がある。

    9 わいは、 ポジティブな ツイートだと思う わいは、 ニュートラルな ツイートだと思う 恋人に 振られた メガネを 忘れた 今日は 熱がある 寝不足 梅雨で ジメジメ 久しぶりの 職場復帰
  4. Snorkelは、手作業によって行っていた大規模なトレーニングデータ作成 作業を、数週間/数カ月→数時間/数日に短縮可能 “Snorkel is a system for build and manage

    training data programmatically without manual labeling.” =「手作業ではなく、プログラマティックに ラベルを作成し管理する」 11
  5. YouTubeコメントがSPAMか判定する様々な知識の例 • 多くのSPAMコメントは自分たちのWebサイトに誘導しようとする。 • SPAMコメントは、「check out my video」、「check it out」・・・等のコメントを残す。

    • Non-SPAMコメントは、「cool video!」「Nice video」・・・など、しばしばコメントが短い。 • ポジティブな内容のコメントは、SPAMである可能性が低い。 14
  6. YouTubeコメントがSPAMか判定する様々な知識の例 • 多くのSPAMコメントは自分たちのWebサイトに誘導しようとする。 → 「http」というキーワードが入っていると、SPAMの確率が高い。 • SPAMコメントは、「check out my video」、「check

    it out」・・・等のコメントを残す。 → 「check * out」という正規表現だと、SPAMの確率が高い。 • Non-SPAMコメントは、「cool video!」「Nice video」・・・など、しばしばコメントが短い。 → 経験則的に、5単語以下だと、SPAMではない確率が高い。 • ポジティブな内容のコメントは、SPAMである可能性が低い。 →ポジネガ判定するサードパーティモデルがポジティブと判定した場合、SPAMでない確率が高い。 15
  7. Snorkel が目指す考え方 1. Data Labeling • 各知識をプログラマティックに定義し、ラベル付けに活用する。 2. Weak Supervision

    • 様々な形式の知識を、精度や相関、対立、網羅性を考慮しながら統合 し、精度が高い単一のラベル付けを行う。 17
  8. Snorkelでのラベル付けステップ • STEP1 • 知識を定義していく。 • Labeling Function(LF)という機能を利用し、知識をプログラムで記述する。 • STEP2

    • 知識を統合して、単一のラベル化にする。 • LabelModelを利用し、単一ラベルに統合するためのモデリングを行う。 18
  9. LFへの定義: パターンマッチ • SPAM判定の知識 • SPAMコメントは、「check out my video」、「check it

    out」・・・等のコメントを残す。 • LFへの定義 • 正規表現で「check .*out」にマッチしたら、SPAMである。 • それ以外は、ABSTAIN(棄権) 22
  10. LabelModelを利用して、単一ラベルを予測する。 33 Labeling Functionに 定義した各知識 モ デ リ ン グ

    ・ 統 合 MajorityModel の結果 LableModel の結果 検証データでの精度の結果 79.2% 81.7%