Slide 1

Slide 1 text

クラウドソーシングによる 学習データ作成と品質管理 セキュリティ・キャンプ 全国大会 2024 AIセキュリティクラス D2講義 筑波大学 人間総合科学学術院 博士前期課程 田村 匠 [email protected] 1

Slide 2

Slide 2 text

目次 • はじめに • 講師自己紹介 • 講義の進め方説明 • イントロダクション:AIは人間でできている • 第1部「タスクの設計と割り当て」 • 復習:クラウドソーシングとは何か • 実際のクラウドソーシングプラットフォーム:mTurkの紹介 • タスク設計と割り当て,ワークフロー • 第2部「結果集約」 • ワーカ間一致率 • 潜在クラスモデルによるタスク集約 • 第3部「能動学習とHuman-in-the-loop」 • 能動学習の紹介 • おわりに • 講義のまとめ,質疑応答 3

Slide 3

Slide 3 text

講師自己紹介 田村 匠 (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卒として就活中 企業の皆さん,雇ってください!

Slide 4

Slide 4 text

イントロダクション:AIは人間でできている 6

Slide 5

Slide 5 text

学習データはAIの品質に影響を与える 7 https://www.technologyreview.jp/s/336754/gpt-4os-chinese-token-training- data-is-polluted-by-spam-and-porn-websites/ https://arxiv.org/abs/2101.05783 応募課題ではいろいろ調べていただきました. 生成AI時代にこそ,データに着目するのが重要になるのでは?

Slide 6

Slide 6 text

AIは人間でできている 8 https://pshapira.net/2024/03/31/delving-into-delve/ ChatGPTは「delve」という単語を使う傾向が強い,なぜだろうか? 生成AIを使った証拠として扱ってよいだろうか? 「delve」は主にアフリカ英語で使われる表現で,特にナイジェリアにおいてよく使われる ナイジェリアは7,000万人以上の英語話者を有する(世界5位) データではなく 私達がバイアスを 持っていることもある

Slide 7

Slide 7 text

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の作業をアフリカ人が担っ ているからかも? 学習データの作成には倫理的問題や作業者の多様性など, 様々な考慮すべき要因がある

Slide 8

Slide 8 text

AIには「学習データ」が不可欠:教師あり機械学習の概要 10 モデル訓練 学習データ ・・・ 金魚 金魚 金魚 カエル カエル 機械学習アルゴリズムが金魚とカエル を分類するためのパターンを見つける 分類モデル モデル運用 分類モデル これは金魚です 未知データに対して,金魚かカエルか 分類できるようになる 学習データには「教師ラベル」が必要 ※画像はTiny Imagenetより

Slide 9

Slide 9 text

もし,学習データが間違っていたら? 11 モデル訓練 学習データ ・・・ 金魚 カエル カエル カエル カエル 分類モデル モデル運用 分類モデル これはカエルです 品質の高いAIには品質の高い学習データが不可欠 「ゴミからはゴミしか生まれない(Garbage In, Garbage Out)」 ※画像はTiny Imagenetより

Slide 10

Slide 10 text

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モデルの性能を向上させる データを変える

Slide 11

Slide 11 text

(補足)自己教師あり学習の場合(LLMなど) LLMなどの学習では「自己教師あり学習」が利用される. 自己教師あり学習では,問題と解答を自分で作成することで,教師ラベルの無い学習データからモデ ルを訓練できる. 学習データの品質が重要ということは自己教師あり学習でも変わらない ※本講義では簡単のために古典的な教師あり学習を題材にしています 13 • 私は本を読みます • 地球は青い • 夏は日照時間が長い • 私はを読みます • 地球は • は日照時間が長い • 本 • 青い • 夏 学習データ データ ラベル ※イメージ 穴埋め問題に変換

Slide 12

Slide 12 text

学習データはどう作る? 14 データに対して教師ラベルを付与しなければ学習データにできない →人間がデータにラべリングをする必要がある(この作業をアノテーションと呼ぶ)

Slide 13

Slide 13 text

アノテーションを誰が行うのか? 自分がエンジニアとしてAIを開発する場合を考えてみよう 1. 自分でアノテーションする メリット:すぐに始めることができる,お金がかからない(ように見える) デメリット:時間がかかる,精度が保証できない 2. 専門家にやってもらう メリット:精度が保証される,専門的なデータにも対応できる(ガンを見つける医療AIなど) デメリット:高コスト,人を集めるのが大変 3. 作業者を採用する メリット:比較的早くでき.低コスト デメリット:人を集めるのが大変,労働者保護制度に適合する必要がある 15 短時間で多くの人を集め,低コストで高精度に仕事をしてもらうことは難しい

Slide 14

Slide 14 text

クラウドソーシングによるアノテーション インターネットの発展により,どこでも,誰でも,どんな時でも,仕事ができるように クラウドソーシングを活用してアノテーションを行えば,短時間で多くの人に仕事をやってもらえる ↓ 学習データの作成にクラウドソーシングが用いられるようになった 16 クラウドソーシング (Crowdsourcing) 不特定多数の群衆 (Crowd) にタスクをアウトソーシングし問題を解決すること クラウドソーシング プラットフォーム (webサイト) 作業 報酬 クラウドワーカ 依頼者 結果 報酬

Slide 15

Slide 15 text

キミでもなれる,クラウドワーカ! ~どこでも,誰でも,どんな時でも~ 日本では以下のようなクラウドソーシングプラットフォームがある • Yahoo! クラウドソーシング • https://crowdsourcing.yahoo.co.jp/ • CrowdWorks • https://crowdworks.jp/ • ランサーズ • https://www.lancers.jp/ クラウドワーカとして報酬を簡単にもらうことができるので,ぜひ試してみよう • おすすめは銀行口座等の登録が要らないYahoo! クラウドソーシング • 未成年の場合は不可等の条件がある場合が多い点に注意 • 児童労働は倫理的に大きな問題になります 17

Slide 16

Slide 16 text

クラウドソーシングには2つの大きな問題がある 問題①「アノテーション品質が低い」 • 不特定多数の人間にアノテーションしてもらうので,ワーカの能力に幅がある • WEBサイト上でタスクを行うためBOTなどの問題もある 問題②「クラウドワーカを搾取してしまいがち」 • 労働者保護法制の影響下にないので,最低賃金以下で働かせることが可能 • 仕事のやりがいなども感じずらい • OpenAIとSama社の事例のようにワーカが精神的なダメージを負うことも... 18 ①クラウドソーシングの品質管理技術の基本を知る ②倫理面にも配慮しなくてはならないことを知る 本講義の目的

Slide 17

Slide 17 text

参考書籍 本講義の内容は以下の書籍の内容と関係しています. • 森嶋 厚行(著/文), 喜連川 優(解説), “クラウドソーシングが不可能を可能にする -小さな 力を集めて大きな力に変える科学と方法-”, 共立スマートセレクション, 共立出版(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

Slide 18

Slide 18 text

AI系の研究としてはどのあたりの分野か? 20 大体この辺 (広い!) クラウドソーシング を専門に扱う会議

Slide 19

Slide 19 text

AAAI Conference on Human Computation and Crowdsourcing : HCOMP 21 今年のテーマはResponsible Crowd Work for Better AI. https://www.humancomputation.com/

Slide 20

Slide 20 text

第1部「タスクの設計と割り当て」 復習:クラウドソーシングとは何か 実際のクラウドソーシングプラットフォーム:mTurkの紹介 タスク設計と割り当て,ワークフロー グループワーク:タスク設計をしてみよう 22

Slide 21

Slide 21 text

復習:クラウドソーシングによるアノテーション インターネットの発展により,どこでも,誰でも,どんな時でも,仕事ができるように クラウドソーシングを活用してアノテーションを行えば,短時間で多くの人に仕事をやってもらえる ↓ 学習データの作成にクラウドソーシングが用いられるようになった 23 クラウドソーシング (Crowdsourcing) 不特定多数の群衆 (Crowd) にタスクをアウトソーシングし問題を解決すること クラウドソーシング プラットフォーム (webサイト) 作業 報酬 クラウドワーカ 依頼者 結果 報酬

Slide 22

Slide 22 text

本講義で用いるクラウドソーシングの用語 24 ワーカ (worker) クラウドソーシングに参加し, 作業を行ってくれる人 それぞれのワーカにはワーカIDが 割り当てられることが多い タスク (task) クラウドソーシングで ワーカに依頼する仕事 それぞれのタスクにはタスクIDが 割り当てられることが多い 回答 (response) ワーカがタスクに対して, 回答した結果 クラウドソーシングを実施すると, (ワーカID, タスクID, 回答)のタプルを要素に持つ集合が結果として得られる

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

Amazon Mechanical Turk は最も有名なクラウドソーシングプラットフォームの1つ 26 https://www.mturk.com/ mTurkやAMTと略される

Slide 25

Slide 25 text

機械仕掛けのトルコ人 (Mechanical Turk) • 18世紀後半にヨーロッパやアメリカで話 題になった機械 • トルコ人の人形(ロボット)がチェスの 相手になってくれるという機械 • しかもめちゃくちゃ強い • 実際は中に人が入っており,人間が人形 を動かしていた • 現代のAIも実際には人間のアノテーショ ンによってできている・・・ということを 示唆している 27 画像引用: https://ja.wikipedia.org/wiki/トルコ人_(人形)

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

ワークフロー設計 クラウドソーシングの品質管理のためにやらなければならないこと 29 タスクの設計 タスクの割り当て ※講師の独自分類なのであまり過信しないでね 結果集約 タスク発行前にやること(第1部) タスク発行後にやること(第2部) 集約プロセスはタスクの 重複出題数に依存

Slide 28

Slide 28 text

ワークフロー設計 クラウドソーシングの品質管理のためにやらなければならないこと 30 タスクの設計 タスクの割り当て ※講師の独自分類なのであまり過信しないでね 結果集約 タスク発行前にやること(第1部) タスク発行後にやること(第2部) 集約プロセスはタスクの 重複出題数に依存

Slide 29

Slide 29 text

クイズ:このタスクにはどんな問題があると思いますか? 31 画像に写っている動物は何ですか? 犬と猫を分類するモデルを作るために,クラウドソーシングで学習データを作りたい

Slide 30

Slide 30 text

データがクリーニングされているとは限らない:違うものが写っているかも 32 画像に写っている動物は何ですか? どっちを選べば いいんだろう? こんなデータを 学習しても意味ないね クラウドソーシングしようとしていたデータに,テナガザルの画像が混入していたら?

Slide 31

Slide 31 text

データがクリーニングされているとは限らない:犬と猫だけでも問題は起きる 犬と猫が同時に写っている画像があったら? 33 画像に写っている動物は何ですか? どっちを選べば いいんだろう? こんなデータを 学習しても意味ないね

Slide 32

Slide 32 text

第3の選択肢を追加することは有効か?→デメリットも大きい 34 画像に写っている動物は何ですか? 悩まなくて済むね 「その他・わからない」の 回答が多くて,データが あまり集まらないなぁ 依頼者 ワーカ

Slide 33

Slide 33 text

タスク設計は簡単そうで難しい→知恵のだしどころ 【大切なこと】 ①適切なタスクテンプレートを選択すること • 作りたいAIモデルに合わせてテンプレートを選ぶ • 複数選択できるのか,1つしか選べないのか・・・など ②タスクの説明を丁寧にすること • 詳しく伝える(例:犬猫以外が写っている場合は「わからない」を押してください) • 目的を伝えるのも大切(例:視覚障害者向けにタグ付けをしています) • 例を提示する ③誤ったデータが含まれる場合を考慮すること • 依頼者が自分の目でデータを確認するのも大事 ④人間の認知特性を考慮すること • 「リンゴを青線で囲ってください」は認知負荷が高い • 「リンゴを赤線で囲ってください」ならOK ⑤やってみないとわからない • 少数のデータでタスクを試しに発行し,その結果を分析することが大切 35

Slide 34

Slide 34 text

タスク設計における工夫例:タスクを分割する 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を用いて衛星画像から の捜索が試みられたことが有名(しかし,残念ながら見つからなかった)

Slide 35

Slide 35 text

ワークフロー設計 クラウドソーシングの品質管理のためにやらなければならないこと 37 タスクの設計 タスクの割り当て ※講師の独自分類なのであまり過信しないでね 結果集約 タスク発行前にやること(第1部) タスク発行後にやること(第2部) 集約プロセスはタスクの 重複出題数に依存

Slide 36

Slide 36 text

タスク割り当て:タスクを誰にやってもらうか? クラウドソーシングは原則的にオープンコール(誰でも仕事に応募できる) しかし,誰にやってもらうか?は非常に重要! • クラウドワーカの能力には大きなばらつきがある • BOTや「スパムワーカ」の問題もある 学術的には様々な方法が提案されているが,どんなタスク割り当て手法が利用でき るかはプラットフォームに大きく依存してしまう現状がある. 38 クラウドソーシング プラットフォーム (webサイト) 作業 報酬 クラウドワーカ 依頼者 結果 報酬 誰にやってもらう?

Slide 37

Slide 37 text

タスク割り当て手法の例 ①過去の実績を参考に能力の高いワーカを採用する • 過去の実績が得られる場合は有効 • プラットフォームが提供してくれる場合もあるが,信頼できるかは不透明 • 得意不得意はタスクの種類ごとに違うかも? • 新規ワーカにとっては辛い→人をたくさん集め,早くタスクを終わらせるのが難しくなる ②始めにテストを行い,テスト合格者のみをアノテーション作業に採用する • 良い方法の1つ • テスト受験時にも報酬を払う必要があるのでやや高コスト ③適切なワーカ集団にタスクを発注する • 年齢や性別,居住地などでフィルターを行う,倫理面には注意 • アメリカ人は日本語の感情分析ができるだろうか? • ワーカの多様性を確保することが精度向上につながることも • PCでタスクを解くのか,スマホでタスクを解くのか,デバイスを指定する 39

Slide 38

Slide 38 text

誰がワーカなのか? 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. (図を引用)

Slide 39

Slide 39 text

ワークフロー設計 クラウドソーシングの品質管理のためにやらなければならないこと 41 タスクの設計 タスクの割り当て ※講師の独自分類なのであまり過信しないでね 結果集約 タスク発行前にやること(第1部) タスク発行後にやること(第2部) 集約プロセスはタスクの 重複出題数に依存

Slide 40

Slide 40 text

ワークフロー:タスク設計と割り当てを組み合わせる (本来やりたい)タスクを分割し,複数のタスクを組み合わせる 42 動物の数を数えるタスク 動物の種類を識別するタスク 1匹でない場合は破棄 画像に動物は何匹いますか? 画像に動物は何匹いますか? 複数匹動物がいる場合を排除でき,ワーカの負荷を減らせる?

Slide 41

Slide 41 text

ワークフローの例: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 修正案を選択する

Slide 42

Slide 42 text

ワークフローの例: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

Slide 43

Slide 43 text

タスク設計・割り当てにおける倫理問題 【報酬】 • タスクに対する報酬が最低賃金を下回らないようにする • T秒で終わるタスクの報酬がE円の時,(E/T)*3600 円が時給 【データと結果】 • 性的/暴力的なコンテンツが対象データに含まれていないか • インターネットから収集したデータを処理する場合は注意 • mTurkなどではそういった画像が含まれる可能性があることを申告する必要がある • 特定属性の人間が不快になるコンテンツが含まれていないか? • 自由入力タスクではワーカが差別的な内容を入力することがある 【プラットフォーム固有の問題】 • 報酬が支払われない場合がある際は,その条件を明確に記述しておく • mTrukではワーカの回答を受理/拒否できる 45

Slide 44

Slide 44 text

倫理問題の事例:ImageNet の差別的なラベリング 著名な画像分類データセットであるImageNetはmTurkを使ってラベリングされた. 2019年,このImageNetを用いて訓練されたAIアプリ「ImageNet Roulette」が公開 された.アップロードした写真に何が写っているを教えてくれるアプリだったが, 黒人やアジア人が写った画像をアップロードすると,差別的なタグがつけられるこ とがわかった. mTurkでアノテーションを行っていたワーカが差別的なラベリングを行っていた. また研究者らは,辞書等を用いて差別語をフィルタリングしていなかった. 最終的にImageNetからは多くのラベルが削除された. 46 横山 美和, AI と人種・ジェンダー問題についてアメリカから学べること, 産学官連携ジャーナル, 2021, 17 巻, 12 号, p. 4-6, 公開日 2022/01/15, Online ISSN 1880-4128, Print ISSN 2186- 2621, https://doi.org/10.1241/sangakukanjournal.17.12_4 https://www.chiark.greenend.org.uk/~ijackson/2019/ImageNet-Roulette-cambridge-2017.html

Slide 45

Slide 45 text

第2部「結果集約」 ワーカ間一致率 潜在クラスモデルによる結果集約 49

Slide 46

Slide 46 text

ワークフロー設計 クラウドソーシングの品質管理のためにやらなければならないこと 50 タスクの設計 タスクの割り当て ※講師の独自分類なのであまり過信しないでね 結果集約 タスク発行前にやること(第1部) タスク発行後にやること(第2部) 集約プロセスはタスクの 重複出題数に依存

Slide 47

Slide 47 text

同一のタスクを複数人に割り当てて品質向上を目指す 51 この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ クラゲ クラゲ イカ クラゲ 集約アルゴリズム 同じタスクを重複して出題 何倍に重複して出題するかは,コストと品質のトレードオフの関係にある ワーカ 正しい結果 ※画像はTiny Imagenetより

Slide 48

Slide 48 text

正解がない中でどのように正解を見つけるか?:集合知 (Wisdom of the Crowd) アノテーションの品質管理には難しい問題がある 集合知 (Wisdom of the Crowd) の考えを仮定する 「良いワーカの回答は一致するはずだ」 あるいは, 「皆と同じような回答をしているワーカは良い」 52 アノテーションしたいデータ (正解がわからない) クラゲ クラゲ イカ ワーカの回答 (誰が正解がわからない)

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

ワーカ間一致率(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 κなどの著名な一致率との違いや,なぜそれらではダメなのかが説明されている

Slide 52

Slide 52 text

代表的なワーカ間一致率:クリッペンドルフのα (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

Slide 53

Slide 53 text

クリッペンドルフのα:計算方法(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)である組み合わせの割合 割合に対して回答数をかけると, 一致行列合計を回答数と等しくできる

Slide 54

Slide 54 text

クリッペンドルフのα:計算方法(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. に基づく

Slide 55

Slide 55 text

クリッペンドルフのα:計算方法(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. に基づく

Slide 56

Slide 56 text

クリッペンドルフのα:別の結果でも計算してみよう 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. に基づく

Slide 57

Slide 57 text

ハンズオン:実際にクリッペンドルフのαをPythonで計算してみよう (20分) 実際にはライブラリを用いてクリッペンドルフのαを計算できるので,複雑な計算 方法を知る必要はあまりない. 1. https://github.com/takumi1001/seccamp2024_D2/blob/main/01_Inter- Rater_Agreement.ipynbにアクセスする 2. を押す 3. 順番にセルを実行していく(初めに警告が出ますが今回は「このまま実行」でOK) 61 https://pypi.org/project/krippendorff/

Slide 58

Slide 58 text

(補足)物体検出におけるワーカ間一致度:IoU (Intersection over Union) バウンディングボックスなどの物体検出のアノテーションではクリッペンドルフの αを計算できない 62 猫を長方形で囲んでください ワーカA ワーカC ワーカB IoU = バウンディングボックスの積集合 バウンディングボックスの和集合 物体検出のアノテーションについては「Human-in-the-loop機械学習」10章2節に詳しい

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

単純多数決 (Majority Vote) は最もシンプルな集約方法 64 この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ クラゲ クラゲ イカ クラゲ 単純多数決

Slide 61

Slide 61 text

能力が高いワーカが少数の場合,単純多数決はかえって品質低下を招く 65 クラゲ イカ イカ イカ 単純多数決 クラウドソーシングではワーカの能力に幅がある 誤った結果 能力:低 能力:低 能力:高 A B C この画像に写っているものは? 1. クラゲ 2. イカ 3.タコ

Slide 62

Slide 62 text

ワーカに重みをつけて多数決することで,品質向上を目指す 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

Slide 63

Slide 63 text

潜在クラスモデルはワーカの能力を推定し,重みを学習して集約する 教師無し機械学習を用いて,ワーカの能力を推定しながら集約を行う方法 潜在クラスモデル (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 クラゲ ・・・ ・・・ 集合知の考え方に基づき, 教師データなしで推定を行う 他の潜在変数を推定することも多い

Slide 64

Slide 64 text

代表的な集約アルゴリズム: 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.

Slide 65

Slide 65 text

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 クラゲ ・・・

Slide 66

Slide 66 text

Dawid-Skene法の仕組み(2/4):E-step 真のクラスの期待値を計算 71 𝐸𝑖𝑗 = 𝑝𝑗 ς𝑙∈J ς𝑘∈K 𝜋 𝑗𝑙 𝑘 𝑛 𝑖𝑙 𝑘 ς 𝑞∈J 𝑝𝑞 ς 𝑙∈J ς 𝑘∈K 𝜋 𝑞𝑙 𝑘 𝑛 𝑖𝑙 𝑘 ワーカkの重みつき1票 全ワーカでのタスクiがjであるという同時確率 分子をすべてのクラスについて計算した同時確率 クラスjである確率/すべてのクラスでの確率 で期待値を計算

Slide 67

Slide 67 text

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 真のラベルが「イカ」で あるときに「クラゲ」と 回答する確率を意味する 混同行列

Slide 68

Slide 68 text

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」などに説明されている.

Slide 69

Slide 69 text

ハンズオン:PythonでDawid-Skene法を試す (20分) 2022年にクラウドソーシング企業のToloka社がCrowd-Kitというライブラリを作成 したことで,様々な集約アルゴリズムを簡単に使うことが可能になった. 1. https://github.com/takumi1001/seccamp2024_D2/blob/main/02_Dawid- Skene_Aggregation.ipynbにアクセスする 2. を押す 3. 順番にセルを実行していく(初めに警告が出ますが今回は「このまま実行」でOK) 74 https://github.com/Toloka/crowd-kit

Slide 70

Slide 70 text

(補足)クラス分類以外での集約アルゴリズム 【順序付き回帰問題・回帰問題】 • 平均値が使われることが多い • 潜在クラスモデルを用いた方法も提案されている (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.

Slide 71

Slide 71 text

集約プロセスにおける倫理上の注意 • 安易に特定のワーカを「スパム」や「能力が低い」と断定しない • タスク設計の問題であるかもしれない • ワーカとタスク依頼者のバックグラウンドが違うために起こる問題かもしれない • ワーカは色覚異常を持っているかもしれない • ワーカの住んでいる地域では,同じ単語でも意味が違うかもしれない • タスク説明の英語がおかしかったのかもしれない(日本人にありがち?) • 潜在クラスモデルによる能力推定には根拠がない • ワーカの能力は,正解データが存在するタスクを解いてもらうことでしか測れない • ワーカ間一致率や集約アルゴリズムは多様性を減らしてしまうことに注意 • 少数派の意見がデータセットに反映されづらくなる • 少数派の意見を反映させるための手法も検討されてきている (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.

Slide 72

Slide 72 text

第3部「能動学習とHuman-in-the-loop」 能動学習の紹介 77

Slide 73

Slide 73 text

Human-in-the-loop (HiTL) : 人間参加型の機械学習 78 AIモデル 人間によるアノテーション AIから人間へのパスを追加し,ループを作る

Slide 74

Slide 74 text

(再掲)AIには「学習データ」が不可欠:教師あり機械学習の概要 79 モデル訓練 学習データ ・・・ 金魚 金魚 金魚 カエル カエル 機械学習アルゴリズムが金魚とカエル を分類するためのパターンを見つける 分類モデル モデル運用 分類モデル これは金魚です 未知データに対して,金魚かカエルか 分類できるようになる ※画像はTiny Imagenetより

Slide 75

Slide 75 text

AIは間違えてしまうこともある 80 モデル訓練 学習データ ・・・ 金魚 金魚 金魚 カエル カエル 機械学習アルゴリズムが金魚とカエル を分類するためのパターンを見つける 分類モデル モデル運用 分類モデル これはカエルです 間違えてしまうこともある ※画像はTiny Imagenetより 背景が緑で遠目だとカエルっぽい→ 一般に学習データが多いほど精度は良くなるが,多くのデータをアノテーションするのは困難

Slide 76

Slide 76 text

能動学習 (Active Learning): AIモデルが能動的に学習する 81 AIモデル このデータの分類自信ない んだけど,正解教えて? 人間 それは金魚だよ AIモデル ありがとう! 学習するね! モデルが能動的に教師ラベルのないデータのラベルを人間に問い合わせ 優先的に有用なデータを学習する仕組み

Slide 77

Slide 77 text

能動学習によるHuman-in-the-loop 82 AIモデル 人間によるアノテーション AIモデル 未知のデータの ラベルを予測 人間によるアノテーション ラベリングされたデータ 学習したいデータ 大半のデータは予測して終了 予測の過程でAIが追加で学習すべき 一部のデータをサンプリングする 追加学習データ 金魚 金魚 ? ? 学習 どのようにして, 学習すべきデータを サンプリングするか?

Slide 78

Slide 78 text

能動学習のサンプリング手法 1. 不確実性サンプリング • 不確実性の高い予測を伴うデータを優先的にサンプリングする • 「AIが自信の無いデータを人間に依頼する」 2. 多様性サンプリング • 学習データの多様性が高まるようにサンプリングする • 「AIが今まで見たことがないデータを人間に依頼する」 3. ランダムサンプリング • ランダムにサンプリングする 複数の手法を組み合わせることもできる 83

Slide 79

Slide 79 text

不確実性サンプリング: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.タコ

Slide 80

Slide 80 text

不確実性サンプリング:不確実性と決定境界 機械学習分類モデルは決定境界を持つが,決定境界に近いデータは不確実性が高い 不確実性サンプリングでは, 決定境界に近いデータをラベリングし,再学習により決定境界を修正する 85 クラゲ イカ タコ イカ クラゲ タコ イカ クラゲ タコ 再学習前の決定境界 再学習後の決定境界 決定境界に近いデータを アノテーションし再学習

Slide 81

Slide 81 text

不確実性サンプリング:不確実性の測り方 不確実性の計測方法には主に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.

Slide 82

Slide 82 text

不確実性の測り方:最小確信度 最も高い確信度と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.

Slide 83

Slide 83 text

不確実性の測り方:確信度マージン 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.

Slide 84

Slide 84 text

不確実性の測り方:確信度比率 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.

Slide 85

Slide 85 text

不確実性の測り方:エントロピー シャノンのエントロピーを不確実性に用いる 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.

Slide 86

Slide 86 text

不確実性サンプリングと多様性サンプリングの違い 91 AIモデル このデータの分類自信ない んだけど,正解教えて? AIモデル 自分赤色の金魚しか見たこ とないんだけど,黒い金魚 もいるって本当? ちょっと見せてよ? 不確実性サンプリング 「既知の未知」に対処する AIモデルが認識している不確実さを修正 ソクラテスの「無知の知」 多様性サンプリング 「未知の未知」に対処する AIモデルが認識できていない問題を修正する わからないことも知らない状況に知識を導入する Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), p 21.

Slide 87

Slide 87 text

多様性サンプリングでは,決定境界付近にない誤分類を改善できる どのようにサンプリング対象を発見するかが多様性サンプリングの重要な課題 多様性サンプリング:多様性と決定境界 92 クラゲ イカ タコ イカ クラゲ タコ イカ タコ 再学習前の決定境界 再学習後の決定境界 多様性サンプリング による再学習 別種のタコ タコ クラゲ

Slide 88

Slide 88 text

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

Slide 89

Slide 89 text

多様性サンプリング:モデルベースの外れ値サンプリング モデルが学習したデータに類似しないデータはニューロン活性度が低くなる 94 Softmax関数 入力データ 出力(不確実性) ニューロン活性度 (出力値)を得る (※他の層でも良いが最終層に近い方が良い) 学習したデータと類似しないデータは 外れ値である可能性が高い ↓ 未知データを入力した際の 特定層の各ニューロン活性度を計測 ↓ 各ニューロンの活性度の平均値等で 未知データを並べ替える ↓ 平均活性度が低い順にサンプリング Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 85-124.

Slide 90

Slide 90 text

多様性サンプリング:クラスタベースのサンプリング k-means法などの教師無しクラスタリング手法でデータをグルーピングする 興味深いデータを優先づけするためのいくつかの手法がある 95 クラゲ イカ タコ ③クラスタによる外れ値をサンプリング ①各クラスタから均等にランダムサンプリング ②クラスタの中心点(セントロイド)をサンプリング Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 85-124.

Slide 91

Slide 91 text

多様性サンプリング:代表点サンプリング 学習データの分布が本来のデータ分布に一致するようにサンプリングする ※あるサンプルが母集団の特性をよく表していることを「代表性がある」という 96 クラゲ イカ タコ イカ タコ 学習データの分布 クラゲ 本来の分布 代表点 Robert (Munro) Monarch (著/文), 上田 隼也 (翻訳), 角野 為耶 (翻訳), 伊藤 寛祥 (翻訳), “Human-in-the-Loop機械学習 -人間参加型AIのための能動学習とアノテーション-”, 共立出版(2023), pp 85-124.

Slide 92

Slide 92 text

(再掲) 能動学習によるHuman-in-the-loop 97 AIモデル 人間によるアノテーション AIモデル 未知のデータの ラベルを予測 人間によるアノテーション ラベリングされたデータ 学習したいデータ 大半のデータは予測して終了 予測の過程でAIが追加で学習すべき 一部のデータをサンプリングする 追加学習データ 金魚 金魚 ? ? 学習 不確実性サンプリング 多様性サンプリング

Slide 93

Slide 93 text

(補足) 能動学習のためのプラットフォーム 能動学習のループを手作業で回すのは結構大変,自動化サービスが欲しい Amazon SageMaker Ground Truth https://aws.amazon.com/jp/sagemaker/groundtruth/ • AWSのHuman-in-the-loopモデル開発のためのサービス • mTurkのクラウドワーカを含めて,様々なアノテータを利用できる 98

Slide 94

Slide 94 text

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