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

クラウドソーシングによる学習データ作成と品質管理(セキュリティキャンプ2024全国大会D2講義資料)

 クラウドソーシングによる学習データ作成と品質管理(セキュリティキャンプ2024全国大会D2講義資料)

セキュリティキャンプ2024全国大会 D2講義「クラウドソーシングによる学習データ作成と品質管理」の講義資料です.

IPA公式サイトの講義説明 - https://www.ipa.go.jp/jinzai/security-camp/2024/camp/zenkoku/program/d.html#d2

※グループワークを行った部分など,一部のスライドを抜いています.

Takumi TAMURA

August 13, 2024
Tweet

More Decks by Takumi TAMURA

Other Decks in Research

Transcript

  1. 目次 • はじめに • 講師自己紹介 • 講義の進め方説明 • イントロダクション:AIは人間でできている •

    第1部「タスクの設計と割り当て」 • 復習:クラウドソーシングとは何か • 実際のクラウドソーシングプラットフォーム:mTurkの紹介 • タスク設計と割り当て,ワークフロー • 第2部「結果集約」 • ワーカ間一致率 • 潜在クラスモデルによるタスク集約 • 第3部「能動学習とHuman-in-the-loop」 • 能動学習の紹介 • おわりに • 講義のまとめ,質疑応答 3
  2. 講師自己紹介 田村 匠 (Takumi TAMURA) https://takumi1001.github.io/takumi1001/ 2001年10月01日生まれ 筑波大学大学院 人間総合科学学術院 情報学学位プログラム

    博士前期1年 融合知能デザイン研究室(森嶋・伊藤研)所属 (https://fusioncomplab.org/) • クラウドソーシングの品質管理を題材に人間とAIの協調について研究している • 推薦システムや,自然言語処理にも興味あり,研究も少しだけやってます セキュリティキャンプとの関わり・・・今年で3年目 • セキュリティキャンプ全国大会2022 AIセキュリティクラス 修了生 • セキュリティキャンプ全国大会2023 AIセキュリティクラス チューター 4 GitHub: takumi1001 Discord: takumi1001 26卒として就活中 企業の皆さん,雇ってください!
  3. AIはアフリカ人でできている? 9 OpenAI Used Kenyan Workers on Less Than $2

    Per Hour: Exclusive | TIME - https://time.com/6247678/openai-chatgpt-kenya-workers/ TechScape: How cheap, outsourced labour in Africa is shaping AI English | Technology | The Guardian - https://www.theguardian.com/technology/2024/apr/16/techscape-ai-gadgest-humane-ai-pin-chatgpt 【Sama社によるChatGPTのデータクリーニングの事例】 • OpenAI社はChatGPTが有害な出力をしないように,学習データのクリーニングを行った • この作業はSama社という会社が受託し,Sama社はケニア人の労働者に作業させた • ポルノや暴力描写のあるテキストを学習データから除く作業で,労働者への精神的負担は大きかった • にもかかわらず,労働者には時給2ドル未満の給与しか支払われなかった 【RLHFとアフリカ人】 • LLMには RLHF (Reinforcement Learning with Human Feedback) という,人間からのフィードバッ クをもとにLLMの性能を改善する手法がある • 多くのアフリカ人がこのRLHFの作業に参加しているのではないかといわれている • “delve”の問題は,単純にアフリカ人の英語話者が多いだけでなく,RLHFの作業をアフリカ人が担っ ているからかも? 学習データの作成には倫理的問題や作業者の多様性など, 様々な考慮すべき要因がある
  4. AIには「学習データ」が不可欠:教師あり機械学習の概要 10 モデル訓練 学習データ ・・・ 金魚 金魚 金魚 カエル カエル

    機械学習アルゴリズムが金魚とカエル を分類するためのパターンを見つける 分類モデル モデル運用 分類モデル これは金魚です 未知データに対して,金魚かカエルか 分類できるようになる 学習データには「教師ラベル」が必要 ※画像はTiny Imagenetより
  5. もし,学習データが間違っていたら? 11 モデル訓練 学習データ ・・・ 金魚 カエル カエル カエル カエル

    分類モデル モデル運用 分類モデル これはカエルです 品質の高いAIには品質の高い学習データが不可欠 「ゴミからはゴミしか生まれない(Garbage In, Garbage Out)」 ※画像はTiny Imagenetより
  6. Model-Centric AI から Data-Centric AI へ 近年では機械学習モデルやアルゴリズムの改良にによってAIの精度向上を目指す, 従来のModel-Centricなアプローチから,データの品質を向上させることでAIの精 度向上を目指すData-Centricなアプローチが注目されている. 12

    Model-Centric AI (従来) Data-Centric AI (近年注目) データ 精度:低 モデル1 データ 精度:高 モデル2 モデルを変えて精度を向上させる Garbage In, Garbage Out原則を考慮していない ↑ データは同じ ↓ 悪いデータ 精度:低 モデル1 良いデータ 精度:高 モデル1 モデルでは無く,データを変えることで, AIモデルの性能を向上させる データを変える
  7. キミでもなれる,クラウドワーカ! ~どこでも,誰でも,どんな時でも~ 日本では以下のようなクラウドソーシングプラットフォームがある • Yahoo! クラウドソーシング • https://crowdsourcing.yahoo.co.jp/ • CrowdWorks

    • https://crowdworks.jp/ • ランサーズ • https://www.lancers.jp/ クラウドワーカとして報酬を簡単にもらうことができるので,ぜひ試してみよう • おすすめは銀行口座等の登録が要らないYahoo! クラウドソーシング • 未成年の場合は不可等の条件がある場合が多い点に注意 • 児童労働は倫理的に大きな問題になります 17
  8. 参考書籍 本講義の内容は以下の書籍の内容と関係しています. • 森嶋 厚行(著/文), 喜連川 優(解説), “クラウドソーシングが不可能を可能にする -小さな 力を集めて大きな力に変える科学と方法-”,

    共立スマートセレクション, 共立出版(2020), https://www.hanmoto.com/bd/isbn/9784320009325 • 鹿島 久嗣 (著/文), 小山 聡 (著/文), 馬場 雪乃 (著/文), “ヒューマンコンピュテーションと クラウドソーシング”, 機械学習プロフェッショナルシリーズ(MLP), 講談社(2016), https://www.hanmoto.com/bd/isbn/9784061529137 • Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共 立出版(2023), https://www.hanmoto.com/bd/isbn/9784320125742 19 こちらもおすすめ 日本データベース学会最強DB講義シリーズ クラウドソーシングとデータベース by 森嶋厚行教授(筑波大学) https://youtube.com/playlist?list=PL_VdUcCLzEklLPL5NgQA1WdzBM1z9T3qh&feature=shared
  9. AAAI Conference on Human Computation and Crowdsourcing : HCOMP 21

    今年のテーマはResponsible Crowd Work for Better AI. https://www.humancomputation.com/
  10. 本講義で用いるクラウドソーシングの用語 24 ワーカ (worker) クラウドソーシングに参加し, 作業を行ってくれる人 それぞれのワーカにはワーカIDが 割り当てられることが多い タスク (task)

    クラウドソーシングで ワーカに依頼する仕事 それぞれのタスクにはタスクIDが 割り当てられることが多い 回答 (response) ワーカがタスクに対して, 回答した結果 クラウドソーシングを実施すると, (ワーカID, タスクID, 回答)のタプルを要素に持つ集合が結果として得られる
  11. クラウドソーシングの3分類 25 マイクロタスク型 比較的簡単な仕事を行うもの • ワーカがタスク依頼者の許可無くタ スクに取り組める • 依頼者とワーカは基本的にコミュニ ケーションを取らない

    例)アノテーション,アンケート調査 Yahoo! クラウドソーシングや, Amazon Mechanical Turkなどは マイクロタスク型を専門にしている プロジェクト型 比較的長期にわたる仕事を行うもの • 依頼者はワーカを選考することが多い • 依頼者とワーカは密にコミュニケー ションを取り,共に仕事を進める • オープンコールな業務委託 例)アプリ開発,Webデザイン 「ギグエコノミー」という言葉も あるように最近はプロジェクト型が 注目されている コンペティション型 コンペティション形式で行うもの • ワーカは自由に作品を提出できるが, 報酬を貰えるのは依頼者が選んだワー カのみ,という形式 • デザインコンペなど伝統的な形式だが, ワーカを搾取しがち 例)デザインコンペ,Kaggle Kaggleは実はクラウドソーシングとみな せるということ,知ってましたか? 今回はマイクロタスク型の話 森嶋 厚行(著/文), 喜連川 優(解説), “クラウドソーシングが不可能を可能にする”, 共立スマートセレクション, 共立出版(2020), p 11.
  12. 機械仕掛けのトルコ人 (Mechanical Turk) • 18世紀後半にヨーロッパやアメリカで話 題になった機械 • トルコ人の人形(ロボット)がチェスの 相手になってくれるという機械 •

    しかもめちゃくちゃ強い • 実際は中に人が入っており,人間が人形 を動かしていた • 現代のAIも実際には人間のアノテーショ ンによってできている・・・ということを 示唆している 27 画像引用: https://ja.wikipedia.org/wiki/トルコ人_(人形)
  13. mTurkでのタスク発行方法(簡易版) ※実演します 1. タスクテンプレートを選ぶ • 様々なテンプレートが用意されている • https://requester.mturk.com/create/projects/new • ログインせずに見られるので覗いてみよう

    2. タスクテンプレートを編集する • Crowd HTMLというもので編集できる 3. データを用意する • 分類対象のテキストや,バウンディングボックスをつけたい画像をアップロード 4. タスクの報酬等を設定して発行する • 報酬は最低賃金を下回らないように • 様々な設定項目がある,品質管理に関わるものも多い AWSのアカウントがあれば利用可能 以下の記事も参考にどうぞ Amazon Mechanical Turk (mTurk) の始め方と3つの大きな落とし穴 - https://zenn.dev/takumi1001/articles/065162600b9211 28
  14. タスク設計は簡単そうで難しい→知恵のだしどころ 【大切なこと】 ①適切なタスクテンプレートを選択すること • 作りたいAIモデルに合わせてテンプレートを選ぶ • 複数選択できるのか,1つしか選べないのか・・・など ②タスクの説明を丁寧にすること • 詳しく伝える(例:犬猫以外が写っている場合は「わからない」を押してください)

    • 目的を伝えるのも大切(例:視覚障害者向けにタグ付けをしています) • 例を提示する ③誤ったデータが含まれる場合を考慮すること • 依頼者が自分の目でデータを確認するのも大事 ④人間の認知特性を考慮すること • 「リンゴを青線で囲ってください」は認知負荷が高い • 「リンゴを赤線で囲ってください」ならOK ⑤やってみないとわからない • 少数のデータでタスクを試しに発行し,その結果を分析することが大切 35
  15. タスク設計における工夫例:タスクを分割する 36 目的 建物がある部分だけを この衛星画像から取り出したい 分割 建物が写っていますか? 建物が写っていますか? 分割 タスクを分割し

    並列してワーカに依頼 集約 集約 ワーカからの回答を集約し 元の衛星画像に戻す 衛星画像はPlanet Explorerより Joseph M. Hellerstein and David L. Tennenhouse. 2011. Searching for Jim Gray: a technical overview. Commun. ACM 54, 7 (July 2011), 77–87. https://doi.org/10.1145/1965724.1965744 分割し並列してタスクを行うことで,コストを削減し品質を向上させる 2007年に著名なデータベース研究者のジム・グレイがヨットで遭難した際.mTurkを用いて衛星画像から の捜索が試みられたことが有名(しかし,残念ながら見つからなかった)
  16. タスク割り当て手法の例 ①過去の実績を参考に能力の高いワーカを採用する • 過去の実績が得られる場合は有効 • プラットフォームが提供してくれる場合もあるが,信頼できるかは不透明 • 得意不得意はタスクの種類ごとに違うかも? • 新規ワーカにとっては辛い→人をたくさん集め,早くタスクを終わらせるのが難しくなる

    ②始めにテストを行い,テスト合格者のみをアノテーション作業に採用する • 良い方法の1つ • テスト受験時にも報酬を払う必要があるのでやや高コスト ③適切なワーカ集団にタスクを発注する • 年齢や性別,居住地などでフィルターを行う,倫理面には注意 • アメリカ人は日本語の感情分析ができるだろうか? • ワーカの多様性を確保することが精度向上につながることも • PCでタスクを解くのか,スマホでタスクを解くのか,デバイスを指定する 39
  17. 誰がワーカなのか? 2014年の研究ではインド人が最も多かった(近年は傾向が異なり米国人が多い?) 40 Ellie Pavlick, Matt Post, Ann Irvine, Dmitry

    Kachaev, and Chris Callison-Burch. 2014. The Language Demographics of Amazon Mechanical Turk. Transactions of the Association for Computational Linguistics, 2:79–92. (図を引用)
  18. ワークフローの例:Find-Fix-Verify クラウドソーシングで文章改善をするために提案されたワークフロー Find ・・・ 修正すべき箇所を見つけるタスク Fix ・・・ 複数人で修正案を出すタスク Verify ・・・

    修正案の中から良いものを選ぶタスク 43 私が秋葉原に行きました. 秋葉原につくばエクスプレス 乗りました. つくば駅 着いたまでに45分かかりました. 社内からはいっぱいの田んぼが見えます. Michael S. Bernstein, Greg Little, Robert C. Miller, Björn Hartmann, Mark S. Ackerman, David R. Karger, David Crowell, and Katrina Panovich. 2015. Soylent: a word processor with a crowd inside. Commun. ACM 58, 8 (August 2015), 85–94. https://doi.org/10.1145/2791285 私は秋葉原に行きました. 秋葉原でつくばエクスプレスに乗りました. つくば駅に着くまでに45分かかりました. 車内からはたくさんの田んぼが見えました. Find 社内→車内 私が→僕は Fix 私が→僕は は変えすぎでは? Verify 修正案を選択する
  19. ワークフローの例:Partition-Map-Reduce クラウドソーシングでニューヨークについて紹介する記事を作成する 44 ① ② ③ ① Partition…記事の見出しを考えてもらうタスク ② Map…見出しに対する内容のテキストを考えてもらう

    タスク(複数人に割り当てる) ③ Reduce…②で作成されたテキストを要約するタスク (見出しに対する文が完成) ④ Final…②③は見出しごとに行われるので,最後に各見 出しの文を集約する ④ Aniket Kittur, Boris Smus, Susheel Khamkar, and Robert E. Kraut. 2011. CrowdForge: crowdsourcing complex work. In Proceedings of the 24th annual ACM symposium on User interface software and technology (UIST '11). Association for Computing Machinery, New York, NY, USA, 43–52. https://doi.org/10.1145/2047196.2047202
  20. タスク設計・割り当てにおける倫理問題 【報酬】 • タスクに対する報酬が最低賃金を下回らないようにする • T秒で終わるタスクの報酬がE円の時,(E/T)*3600 円が時給 【データと結果】 • 性的/暴力的なコンテンツが対象データに含まれていないか

    • インターネットから収集したデータを処理する場合は注意 • mTurkなどではそういった画像が含まれる可能性があることを申告する必要がある • 特定属性の人間が不快になるコンテンツが含まれていないか? • 自由入力タスクではワーカが差別的な内容を入力することがある 【プラットフォーム固有の問題】 • 報酬が支払われない場合がある際は,その条件を明確に記述しておく • mTrukではワーカの回答を受理/拒否できる 45
  21. 同一のタスクを複数人に割り当てて品質向上を目指す 51 この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ クラゲ クラゲ

    イカ クラゲ 集約アルゴリズム 同じタスクを重複して出題 何倍に重複して出題するかは,コストと品質のトレードオフの関係にある ワーカ 正しい結果 ※画像はTiny Imagenetより
  22. 正解がない中でどのように正解を見つけるか?:集合知 (Wisdom of the Crowd) アノテーションの品質管理には難しい問題がある 集合知 (Wisdom of the

    Crowd) の考えを仮定する 「良いワーカの回答は一致するはずだ」 あるいは, 「皆と同じような回答をしているワーカは良い」 52 アノテーションしたいデータ (正解がわからない) クラゲ クラゲ イカ ワーカの回答 (誰が正解がわからない)
  23. 集約における2つの観点 53 この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ クラゲ クラゲ

    イカ クラゲ 集約アルゴリズム ワーカ ワーカの回答はどの程度一致しているか? ワーカ間一致率による評価 どのように回答を集約するか? 潜在クラスモデルを用いた集約
  24. 集約における2つの観点 54 この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ クラゲ クラゲ

    イカ クラゲ 集約アルゴリズム ワーカ ワーカの回答はどの程度一致しているか? ワーカ間一致率による評価 どのように回答を集約するか? 潜在クラスモデルを用いた集約
  25. ワーカ間一致率(Inter-Rater Agreement) :ワーカの回答はどの程度一致しているか? 全てのワーカの回答が全体としてどの程度一致しているかを計測する 一致度が低い場合,タスク設計や割り当てに問題があった可能性がある • タスク設計や割り当てを変更した際に,改善しているかを測る指標になる • ただし,一致率が低い=多様性が高い,ということでもあるので注意 55

    タスク1 タスク2 タスク3 タスク4 タスク5 タスク6 タスク7 ワーカA クラゲ クラゲ イカ イカ タコ ワーカB クラゲ クラゲ イカ クラゲ クラゲ ワーカC クラゲ タコ クラゲ タコ タコ クラゲ タスク1 タスク2 タスク3 タスク4 タスク5 タスク6 タスク7 ワーカA’ イカ クラゲ イカ タコ イカ タコ ワーカB’ クラゲ タコ イカ タコ イカ クラゲ ワーカC’ クラゲ イカ クラゲ クラゲ 一致度:高 一致度:低 ワーカ間一致率の全体像についてはこの資料がわかりやすい(英語): https://dkpro.github.io/dkpro-statistics/inter-rater-agreement-tutorial.pdf Cohen’s κなどの著名な一致率との違いや,なぜそれらではダメなのかが説明されている
  26. 代表的なワーカ間一致率:クリッペンドルフのα (Krippendorff’s α) −1 ≤ 𝛼 ≤ 1の範囲を取る 統計学の領域で考え出された手法で以下のような特徴を持つ •

    「偶然の一致」の可能性を補正できる (chance-corrected agreementの1つである) • 3人以上の複数人のワーカにも対応している • ワーカが全てのタスクに回答しなくても良い • クラス分類だけでなく,順序付き回帰問題,回帰問題にも適用できる • 順序付き回帰:Very Positive / Positive / Neutral / Negative / Very Negative のような選択肢の問題 • 計算方法が複雑で面倒 • 理解するには統計学の知識が必要 56 -1.0 完全な不一致 0.0 ランダムな分布 0.67 0.8 1.0 完全な一致 結果は信頼できない 結果は信頼できる 十分ではない 一般的には0以上の値を取る (ランダムより一致しない) 基準値の根拠や解釈についてはこちらの資料を参照: https://dkpro.github.io/dkpro-statistics/inter-rater-agreement-tutorial.pdf
  27. クリッペンドルフのα:計算方法(1/3)(クラス分類の場合) 3人のワーカが,7つのタスクについて,3クラス分類に取り組んでいる ここで,各タスクごとに一致行列を構成する 57 タスク1 タスク2 タスク3 タスク4 タスク5 タスク6

    タスク7 ワーカA クラゲ クラゲ イカ イカ タコ ワーカB クラゲ クラゲ イカ クラゲ クラゲ ワーカC クラゲ タコ クラゲ タコ タコ クラゲ 一致度:高 クラゲ イカ タコ クラゲ 1 イカ 1 1 タコ タスク4 あるタスクに対する回答を2つ選ぶ際の組み合わせを考える (タスク4には3つの回答がある=3・2=6通り) 1つ目と2つ目の回答のクラスを固定して場合分けする (イカ,イカ)である回答ペアの組み合わせ:2P2 = 2 通り (イカ,クラゲ)である回答ペアの組み合わせ:2・1 = 2 通り (クラゲ,イカ)でる回答ペアの組み合わせ:1・2 = 2 通り Krippendorff, K.(2004). Content analysis : An introduction to its methodology (2nd ed.). Sage. pp 221-236. に基づく 一致行列のA行B列の値は,(タスクへの回答数) (A,B)である回答ペアの組み合わせ数 タスクへの回答数(タスクへの回答数−1) 総組み合わせのうち(A,B)である組み合わせの割合 割合に対して回答数をかけると, 一致行列合計を回答数と等しくできる
  28. クリッペンドルフのα:計算方法(2/3)(クラス分類の場合) すべてのタスクで一致行列を計算し,足し合わせる 58 タスク1 タスク2 タスク3 タスク4 タスク5 タスク6 タスク7

    ワーカA クラゲ クラゲ イカ イカ タコ ワーカB クラゲ クラゲ イカ クラゲ クラゲ ワーカC クラゲ タコ クラゲ タコ タコ クラゲ 一致度:高 クラゲ イカ タコ クラゲ 3 イカ タコ タスク1 クラゲ イカ タコ クラゲ 2 イカ タコ タスク2 クラゲ イカ タコ クラゲ 1 イカ 1 1 タコ タスク4 クラゲ イカ タコ クラゲ 1 イカ タコ 1 タスク5 クラゲ イカ タコ クラゲ イカ 1 タコ 1 タスク3 クラゲ イカ タコ クラゲ イカ タコ 2 タスク6 クラゲ イカ タコ クラゲ 2 イカ タコ タスク7 クラゲ イカ タコ クラゲ 7 1 1 イカ 1 1 1 タコ 1 1 2 合計 Krippendorff, K.(2004). Content analysis : An introduction to its methodology (2nd ed.). Sage. pp 221-236. に基づく
  29. クリッペンドルフのα:計算方法(3/3)(クラス分類の場合) 59 クラゲ イカ タコ 計 クラゲ 7 1 1

    9 イカ 1 1 1 3 タコ 1 1 2 4 計 9 3 4 16 一致行列(合計) タスク1 タスク2 タスク3 タスク4 タスク5 タスク6 タスク7 ワーカA クラゲ クラゲ イカ イカ タコ ワーカB クラゲ クラゲ イカ クラゲ クラゲ ワーカC クラゲ タコ クラゲ タコ タコ クラゲ 一致度:高 次に,一致行列の各行・各列の和を計算する. これは,各クラスへの総回答数に等しくなる. ここで,クリッペンドルフのαは, 𝛼 = 1 − 𝐷0 𝐷𝑒 = 1 − タスクごとの不一致率の平均 全体の不一致率の平均 として定義される. 𝐷0 = 全回答数 − 一致行列の対角要素の和 全回答数 = 16 − (7 + 1 + 2) 16 𝐷𝑒 = 全回答数2 − 各クラスへの総回答数2の和 全回答数(全回答数 − 1) = 162 − (92 + 32 + 42) 16・(16 − 1) 𝛼 = 1 − 𝐷0 𝐷𝑒 = 1 − 16 − 1 16 − 7 + 1 + 2 162 − 92 + 32 + 42 = 1 − 15 ⋅ 6 150 = 𝟎. 𝟒𝟎 Krippendorff, K.(2004). Content analysis : An introduction to its methodology (2nd ed.). Sage. pp 221-236. に基づく
  30. クリッペンドルフのα:別の結果でも計算してみよう 60 クラゲ イカ タコ 計 クラゲ 3 2.5 0.5

    6 イカ 2.5 0 3.5 6 タコ 0.5 3.5 0 4 計 6 6 4 16 一致行列(合計) 𝐷0 = 全回答数 − 一致行列の対角要素の和 全回答数 = 16 − (3 + 0 + 0) 16 𝐷𝑒 = 全回答数2 − 各クラスへの総回答数2の和 全回答数(全回答数 − 1) = 162 − (62 + 62 + 42) 16・(16 − 1) 𝛼 = 1 − 𝐷0 𝐷𝑒 = 1 − 16 − 1 16 − 3 + 0 + 0 162 − 62 + 62 + 42 = 1 − 15 ⋅ 13 168 = −𝟎. 𝟏𝟔 タスク1 タスク2 タスク3 タスク4 タスク5 タスク6 タスク7 ワーカA’ イカ クラゲ イカ タコ イカ タコ ワーカB’ クラゲ タコ イカ タコ イカ クラゲ ワーカC’ クラゲ イカ クラゲ クラゲ 一致度:低 Krippendorff, K.(2004). Content analysis : An introduction to its methodology (2nd ed.). Sage. pp 221-236. に基づく
  31. (補足)物体検出におけるワーカ間一致度:IoU (Intersection over Union) バウンディングボックスなどの物体検出のアノテーションではクリッペンドルフの αを計算できない 62 猫を長方形で囲んでください ワーカA ワーカC

    ワーカB IoU = バウンディングボックスの積集合 バウンディングボックスの和集合 物体検出のアノテーションについては「Human-in-the-loop機械学習」10章2節に詳しい
  32. 集約における2つの観点 63 この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ クラゲ クラゲ

    イカ クラゲ 集約アルゴリズム ワーカ ワーカの回答はどの程度一致しているか? ワーカ間一致率による評価 どのように回答を集約するか? 潜在クラスモデルを用いた集約
  33. ワーカに重みをつけて多数決することで,品質向上を目指す 66 クラゲ イカ イカ クラゲ 重み付き多数決 事前にワーカの能力がわかっている場合は ワーカごとに重み付けした多数決が有効 しかし,ワーカの能力は不明であることが多い

    正しい結果 能力:低 能力:低 能力:高 A B C この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ 重み: 0.8 重み: 0.3 重み: 0.1 クラゲ=1*0.8=0.8 イカ=1*0.3+1*0.1=0.4
  34. 潜在クラスモデルはワーカの能力を推定し,重みを学習して集約する 教師無し機械学習を用いて,ワーカの能力を推定しながら集約を行う方法 潜在クラスモデル (Latent Class Model) カテゴリカルな観測変数から潜在変数を推測するモデル 67 ワーカ タスク

    回答 ワーカA タスク1 クラゲ ワーカA タスク3 イカ ワーカA タスク7 タコ ワーカB タスク1 イカ ワーカB タスク7 タコ ワーカC タスク1 クラゲ ・・・ 入力(観測変数) ワーカの回答結果 モデル (教師無し機械学習) 出力(潜在変数) ワーカの能力と それをもとにした集約結果 ワーカ 能力 ワーカA 高 ワーカB 低 ワーカC 低 タスク ラベル タスク1 クラゲ タスク2 イカ タスク3 イカ タスク4 タコ タスク5 クラゲ タスク6 クラゲ ・・・ ・・・ 集合知の考え方に基づき, 教師データなしで推定を行う 他の潜在変数を推定することも多い
  35. 代表的な集約アルゴリズム: Dawid-Skene 法 69 クラゲ イカ タコ クラゲ 0.33 0.33

    0.33 イカ 0.33 0.33 0.33 タコ 0.33 0.33 0.33 この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ クラゲ イカ イカ クラゲ 正しい結果を 推定できる 能力:? 能力:? 能力:? A B C E-Step ワーカの能力を加味し,各タスクの真のラベルを予測 この画像は? クラゲ: 80% イカ: 17% タコ: 3% M-Step 各ワーカの能力(混同行列)とクラスの周辺分布を推定 能力:低 C クラゲ イカ タコ クラゲ 0.9 0.08 0.02 イカ 0.1 0.9 0.1 タコ 0.03 0.02 0.95 能力:高 A クラゲ イカ タコ クラゲ 0.6 0.2 0.2 イカ 0.3 0.5 0.2 タコ 0.2 0.4 0.4 能力:低 B 真のラベルが「イカ」で あるときに「クラゲ」と 回答する確率を意味する EMアルゴリズム E-stepとM-stepを繰り返す 入力 出力 Dawid,A.P.; Skene,A.M. Maximum Likelihood Estimation of Observer Error-Rates Using the EM Algorithm. Applied Statistics. vol. 28, no. 1, p. 20-28, 1979.
  36. Dawid-Skene法の仕組み(1/4):文字の定義 70 ワーカ集合 𝐊 例: 𝐊 = {ワーカ𝑨, ワーカ𝑩, ワーカC}

    タスク集合 𝐈 例: I= {タスク𝟏, タスク𝟐, タスク𝟑} クラス集合 𝐉 例: J= {クラゲ, イカ, タコ} 観測変数 𝑛 𝑖𝑗 𝑘 ワーカkがタスクiにクラスjと回答した回数(0 or 1 が普通) = ワーカの回答結果 潜在変数 𝐸𝑖𝑗 タスクiの真のクラスがjである場合に1, そうでない場合に0となる期待値,最終的に欲しいもの 潜在変数 𝜋 𝑗𝑙 𝑘 ワーカkが真のクラスがjであるタスクにlと回答する確率 =ワーカkの混同行列の各セルを表す 潜在変数 クラスjの周辺確率 =真のクラスがクラスjであるタスクの割合 𝑝𝑗 クラゲ イカ タコ クラゲ 0.9 0.08 0.02 イカ 0.1 0.9 0.1 タコ 0.03 0.02 0.95 能力:高 A 真のラベルが「イカ」で あるときに「クラゲ」と 回答する確率を意味する ワーカ タスク 回答 ワーカA タスク1 クラゲ ワーカA タスク3 イカ ワーカA タスク7 タコ ワーカB タスク1 イカ ワーカB タスク7 タコ ワーカC タスク1 クラゲ ・・・
  37. Dawid-Skene法の仕組み(2/4):E-step 真のクラスの期待値を計算 71 𝐸𝑖𝑗 = 𝑝𝑗 ς𝑙∈J ς𝑘∈K 𝜋 𝑗𝑙

    𝑘 𝑛 𝑖𝑙 𝑘 ς 𝑞∈J 𝑝𝑞 ς 𝑙∈J ς 𝑘∈K 𝜋 𝑞𝑙 𝑘 𝑛 𝑖𝑙 𝑘 ワーカkの重みつき1票 全ワーカでのタスクiがjであるという同時確率 分子をすべてのクラスについて計算した同時確率 クラスjである確率/すべてのクラスでの確率 で期待値を計算
  38. Dawid-Skene法の仕組み(3/4):M-step ワーカの能力と周辺確率を推定 72 𝑝𝑗 = σ𝑖∈𝐼 𝐸𝑖𝑗 |I| 𝜋 𝑗𝑙

    𝑘 = σ𝑖∈𝐼 𝐸𝑖𝑗 𝑛 𝑖𝑗 𝑘 σ 𝑚∈J σ 𝑖∈𝐼 𝐸𝑖𝑗 𝑛 𝑖𝑚 𝑘 真のクラスがクラスjであるタスクの割合を計算している ←総タスク数 タスクの真のクラスの期待値を用いて,混同行列を計算する クラスjに関する場合のみを分子に すべてのクラスでの和を分母にする クラゲ イカ タコ クラゲ 0.9 0.08 0.02 イカ 0.1 0.9 0.1 タコ 0.03 0.02 0.95 能力:高 A 真のラベルが「イカ」で あるときに「クラゲ」と 回答する確率を意味する 混同行列
  39. Dawid-Skene法の仕組み(4/4):初期化とEMアルゴリズムの実行 E-stepを以下のように初期化し,EMアルゴリズムを実行する E-step (初期化) → M-step → E-step → M-step

    → E-step → M-step → E-step・・・ と繰り返すことで集約を行う. 【終了条件】 • 最大ループ回数に達したら終了する • 損失(loss)が一定の値以下になったら終了する 73 𝐸𝑖𝑗 = σ𝑘∈K 𝑛 𝑖𝑗 𝑘 σ 𝑙∈J σ 𝑘∈K 𝑛 𝑖𝑙 𝑘 やっていることはとても単純 3人のワーカが(クラゲ,クラゲ,タコ)と回答した場合 クラゲ66%,タコ33%に初期化される 教師無し学習でなぜ損失が計算できるのかについては,EMアルゴリズムの理論を参照(非常に難しい...). C.M.ビショップ『パターン認識と機械学習(PRML)』の第9章「混合モデルとEM」などに説明されている.
  40. (補足)クラス分類以外での集約アルゴリズム 【順序付き回帰問題・回帰問題】 • 平均値が使われることが多い • 潜在クラスモデルを用いた方法も提案されている (Raykar et al. 2010)

    • 実用されているかは微妙,実装も入手しづらい 【テキスト自由入力タスク】 • 原理的に難しい,集約というよりは「どれが一番良いか」を選ぶ問題になる • 埋め込み(Embedding)技術を利用した手法が提案されている • Crowd-Kitからも利用できる:https://crowd-kit.readthedocs.io/en/stable/texts/ • 万能な方法ではないので,仕組みを理解した上で使用する必要がある • ワークフローの考えを使い,クラス分類に変換するのも手 • 「自由入力タスク」→「関連性確認タスク」 【物体検出(画像セグメンテーションなど)】 • ピクセル単位で多数決や潜在クラスモデルを適用することができる • 「はい/いいえ」のクラス分類に問題を変換する • Crowd-Kitからも利用可能:https://crowd-kit.readthedocs.io/en/stable/segmentation/ 75 Vikas C. Raykar, Shipeng Yu, Linda H. Zhao, Gerardo Hermosillo Valadez, Charles Florin, Luca Bogoni, and Linda Moy. 2010. Learning From Crowds. J. Mach. Learn. Res. 11 (3/1/2010), 1297–1322.
  41. 集約プロセスにおける倫理上の注意 • 安易に特定のワーカを「スパム」や「能力が低い」と断定しない • タスク設計の問題であるかもしれない • ワーカとタスク依頼者のバックグラウンドが違うために起こる問題かもしれない • ワーカは色覚異常を持っているかもしれない •

    ワーカの住んでいる地域では,同じ単語でも意味が違うかもしれない • タスク説明の英語がおかしかったのかもしれない(日本人にありがち?) • 潜在クラスモデルによる能力推定には根拠がない • ワーカの能力は,正解データが存在するタスクを解いてもらうことでしか測れない • ワーカ間一致率や集約アルゴリズムは多様性を減らしてしまうことに注意 • 少数派の意見がデータセットに反映されづらくなる • 少数派の意見を反映させるための手法も検討されてきている (Davani et al. 2022) • 近年,クラウドワーカが裏でChatGPTを使っているのでは?という疑惑がある(Veselovsky et al. 2023) • そのような場合,集約は意味をなさないかもしれない • もちろん,安易にワーカをChatGPT認定してはいけない • ワーカ間一致率を「p値ハックキング」しない • ワーカ間一致率は統計検定におけるp値のようなもの • 一致率を向上させることは有効だが,間違った方法で向上させないこと 76 Davani , A., Diaz, M., Vinodkumar P. (2022). Dealing with Disagreements: Looking Beyond the Majority Vote in Subjective Annotations. Transactions of the Association for Computational Linguistics, 10, pp. 92–110. Veselovsky, V., Ribeiro, M.H., & West, R. (2023). Artificial Artificial Artificial Intelligence: Crowd Workers Widely Use Large Language Models for Text Production Tasks. ArXiv, abs/2306.07899. Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp240-241.
  42. (再掲)AIには「学習データ」が不可欠:教師あり機械学習の概要 79 モデル訓練 学習データ ・・・ 金魚 金魚 金魚 カエル カエル

    機械学習アルゴリズムが金魚とカエル を分類するためのパターンを見つける 分類モデル モデル運用 分類モデル これは金魚です 未知データに対して,金魚かカエルか 分類できるようになる ※画像はTiny Imagenetより
  43. AIは間違えてしまうこともある 80 モデル訓練 学習データ ・・・ 金魚 金魚 金魚 カエル カエル

    機械学習アルゴリズムが金魚とカエル を分類するためのパターンを見つける 分類モデル モデル運用 分類モデル これはカエルです 間違えてしまうこともある ※画像はTiny Imagenetより 背景が緑で遠目だとカエルっぽい→ 一般に学習データが多いほど精度は良くなるが,多くのデータをアノテーションするのは困難
  44. 能動学習 (Active Learning): AIモデルが能動的に学習する 81 AIモデル このデータの分類自信ない んだけど,正解教えて? 人間 それは金魚だよ

    AIモデル ありがとう! 学習するね! モデルが能動的に教師ラベルのないデータのラベルを人間に問い合わせ 優先的に有用なデータを学習する仕組み
  45. 能動学習によるHuman-in-the-loop 82 AIモデル 人間によるアノテーション AIモデル 未知のデータの ラベルを予測 人間によるアノテーション ラベリングされたデータ 学習したいデータ

    大半のデータは予測して終了 予測の過程でAIが追加で学習すべき 一部のデータをサンプリングする 追加学習データ 金魚 金魚 ? ? 学習 どのようにして, 学習すべきデータを サンプリングするか?
  46. 能動学習のサンプリング手法 1. 不確実性サンプリング • 不確実性の高い予測を伴うデータを優先的にサンプリングする • 「AIが自信の無いデータを人間に依頼する」 2. 多様性サンプリング •

    学習データの多様性が高まるようにサンプリングする • 「AIが今まで見たことがないデータを人間に依頼する」 3. ランダムサンプリング • ランダムにサンプリングする 複数の手法を組み合わせることもできる 83
  47. 不確実性サンプリング:AIモデルの不確実性 (Uncertainty) 84 1.クラゲ : 0.80 2.イカ : 0.15 3.タコ

    : 0.05 1.クラゲ : 0.40 2.イカ : 0.45 3.タコ : 0.05 0 1 確率 1 2 3 0 1 確率 1 2 3 Uncertainty : Low Uncertainty : High 多くの分類モデルは 各クラスである確率分布を 予測している(Softmax関数) この確率分布は不確実性と見なせる この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ
  48. 不確実性サンプリング:不確実性の測り方 不確実性の計測方法には主に4つの方法がある 0~1の範囲の値で大きいほど不確実性が高い,という指標であるとうれしい 1. 最小確信度 2. 確信度マージン 3. 確信度比率 4.

    エントロピー 確信度とは各クラスごとに予測された確率値のこと 86 1.クラゲ : 0.40 2.イカ : 0.45 3.タコ : 0.05 0 1 確率 1 2 3 縦軸が確信度 Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 57-66.
  49. 不確実性の測り方:最小確信度 最も高い確信度と100%確信度との差を不確実性とみなす.0~1の値を取る. 87 1.クラゲ : 0.80 2.イカ : 0.15 3.タコ

    : 0.05 0 1 確率 1 2 3 クラス数(1 − 最大確信度) クラス数 − 1 = 3(1 − 0.8) 3 − 1 = 𝟎. 𝟑 1.クラゲ : 0.40 2.イカ : 0.45 3.タコ : 0.05 0 1 確率 1 2 3 クラス数(1 − 最大確信度) クラス数 − 1 = 3(1 − 0.45) 3 − 1 = 𝟎. 𝟖𝟐𝟓 補足 最大確信度の最小値は 1 クラス数 になる. この際,最小確信度による不確実性は, クラス数( クラス数−1 クラス数 ) クラス数−1 で1になる. ゆえに,このような式の形を取ると, 最大値1,最小値0の不確実性になる. Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 57-66.
  50. 不確実性の測り方:確信度マージン 88 最も高い確信度と2番目に高い確信度の差を不確実性とみなす.0~1の値を取る. 1.クラゲ : 0.80 2.イカ : 0.15 3.タコ

    : 0.05 0 1 確率 1 2 3 1 − 1番高い確信度 − 2番目の確信度 = 1 − 0.8 − 0.15 = 𝟎. 𝟑𝟓 1.クラゲ : 0.40 2.イカ : 0.45 3.タコ : 0.05 0 1 確率 1 2 3 1 − 1番高い確信度 − 2番目の確信度 = 1 − 0.45 − 0.40 = 𝟎. 𝟗𝟓 Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 57-66.
  51. 不確実性の測り方:確信度比率 89 上位2つの比率を不確実性とみなす.0~1の値を取る. 1.クラゲ : 0.80 2.イカ : 0.15 3.タコ

    : 0.05 0 1 確率 1 2 3 2番目の確信度 1番高い確信度 = 0.15 0.8 = 𝟎. 𝟏𝟖𝟕𝟓 1.クラゲ : 0.40 2.イカ : 0.45 3.タコ : 0.05 0 1 確率 1 2 3 2番目の確信度 1番高い確信度 = 0.40 0.45 = 𝟎. 𝟖𝟖𝟖𝟗 Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 57-66.
  52. 不確実性の測り方:エントロピー シャノンのエントロピーを不確実性に用いる 90 シャノンのエントロピー(情報量) 確率分布𝑃 = 𝑝1 , 𝑝2 ,

    … , 𝑝𝑛 について, そのエントロピー𝐻(𝑃)は 𝐻 𝑃 = − ෍ 𝑖=1 𝑛 𝑝𝑖 log2 𝑝𝑖 ※ σ 𝑖=1 𝑛 𝑝𝑖 = 1 であることに注意 エントロピーは0以上の値を取り, また,確率分布Pが一様分布(𝑝1 = 𝑝2 = ⋯ = 𝑝𝑛 )のとき, 最大値log2 𝑛を取る. エントロピーを 「log2 クラス数」で割ることで, 0から1の範囲で不確実性を表せる. 1.クラゲ : 0.80 2.イカ : 0.15 3.タコ : 0.05 1.クラゲ : 0.40 2.イカ : 0.45 3.タコ : 0.05 𝐻(𝑃) log2 3 = 0.884 1.585 = 𝟎. 𝟓𝟓𝟖 𝐻(𝑃) log2 3 = 1.263 1.585 = 𝟎. 𝟕𝟗𝟕 Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 57-66.
  53. 不確実性サンプリングと多様性サンプリングの違い 91 AIモデル このデータの分類自信ない んだけど,正解教えて? AIモデル 自分赤色の金魚しか見たこ とないんだけど,黒い金魚 もいるって本当? ちょっと見せてよ?

    不確実性サンプリング 「既知の未知」に対処する AIモデルが認識している不確実さを修正 ソクラテスの「無知の知」 多様性サンプリング 「未知の未知」に対処する AIモデルが認識できていない問題を修正する わからないことも知らない状況に知識を導入する Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), p 21.
  54. 多様性サンプリングの手法 モデルベースの外れ値サンプリング • 今まで学習していたデータとは異なるデータ(外れ値)を検出し,サンプリング対象にする • ニューラルネットワークのニューロン活性度等から,外れ値をモデルベースで発見する クラスタベースのサンプリング • 能動学習対象のモデルとは独立した方法でデータをグルーピングする •

    各グループからバランス良く学習する,グループの代表値や外れ値を発見し学習する 代表点サンプリング • 現在の学習データの分布を本来のデータ分と布一致させるようなデータをサンプリングする • 不確実性サンプリングなどと併用することが多い 実世界の多様性を考慮したサンプリング • 実世界の知識を活用して多様性サンプリングを行う • 例:異なる言語のデータを同数確保するなど 93 Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 85-124.
  55. 多様性サンプリング:モデルベースの外れ値サンプリング モデルが学習したデータに類似しないデータはニューロン活性度が低くなる 94 Softmax関数 入力データ 出力(不確実性) ニューロン活性度 (出力値)を得る (※他の層でも良いが最終層に近い方が良い) 学習したデータと類似しないデータは

    外れ値である可能性が高い ↓ 未知データを入力した際の 特定層の各ニューロン活性度を計測 ↓ 各ニューロンの活性度の平均値等で 未知データを並べ替える ↓ 平均活性度が低い順にサンプリング Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 85-124.
  56. 多様性サンプリング:代表点サンプリング 学習データの分布が本来のデータ分布に一致するようにサンプリングする ※あるサンプルが母集団の特性をよく表していることを「代表性がある」という 96 クラゲ イカ タコ イカ タコ 学習データの分布

    クラゲ 本来の分布 代表点 Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 85-124.
  57. (再掲) 能動学習によるHuman-in-the-loop 97 AIモデル 人間によるアノテーション AIモデル 未知のデータの ラベルを予測 人間によるアノテーション ラベリングされたデータ

    学習したいデータ 大半のデータは予測して終了 予測の過程でAIが追加で学習すべき 一部のデータをサンプリングする 追加学習データ 金魚 金魚 ? ? 学習 不確実性サンプリング 多様性サンプリング
  58. 本講義のまとめ AIは人間でできている • AIの裏側には必ず人間がいる • 人間が作るデータの品質を向上させることがAIの品質向上には必要 • クラウドソーシングは短時間で多くの人に仕事を依頼できる タスク設計とワークフロー •

    タスク設計は品質管理の重要な要素で,とても工夫しがいがある • 複数のタスクを組み合わせるワークフローは有力な手法 結果集約 • ワーカ間一致率(クリッペンドルフのα)を計算することで品質を把握できる • 潜在クラスモデルによる集約(Dawid-Skene法など)は品質向上をもたらす 能動学習とHuman-in-the-loop • 能動学習によってHuman-in-the-loopによるAI開発が可能になる • 不確実性サンプリングと多様性サンプリングで追加で学習すべきデータを発見できる 99