iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
AI & Data

然後模型就死在 Jupyter Notebook 了 (ಥ﹏ಥ)系列 第 19

[Day 19] 收集資料 — 你要對人家負責啊!

With data collection, ‘the sooner the better’ is always the best answer. – Marissa Mayer

前言

就像大家耳熟能詳的 GIGO 所闡述的概念一樣,我們收集來的訓練資料以及標註它們的方式直接影響了 ML 系統的最終輸出,而這與使用者體驗息息相關。
為了避免糟糕的資料選擇導致後續模型開發等步驟出師不利,甚至最終使得產品失敗,我們必須從一開始就計畫好如何收集高品質的資料,因此今天會說明以下要點:

  • 了解使用者 (或應用) 並將需求轉譯成資料問題。
  • 確保訓練資料的涵蓋範圍與實際上線資料一致,且資料飽含可幫助預測的信息。
  • 對高品質資料的取得、儲存與監控負責任。

收集資料

收集資料時最重要的就是了解使用者,把他們的需求轉譯成資料問題 (Data Problem),才不會浪費時間收集用不到的資料,以 跑步路線推薦 app 為例:
首先要釐清使用者是誰?其需求為何?以及 ML 系統的目標為何?
Example Application: Suggesting Runs
而為了要把使用者需求轉譯為資料需求,可依序釐清:

  1. 資料是什麼?
    以此例來說就可能是:
    • 來自 app 的跑步資料
    • 當地地理資料
    • 人口資料
  2. 需要什麼特徵?
    以此例來說就可能是:
    • 跑者的人口資料
    • 日期
    • 跑步完成率
    • 跑速
    • 跑步距離與海拔變化
    • 心率
  3. 需要的標籤為何?
    以此例來說就可能是:
    • 跑者是否接受 app 的建議
    • 跑者對拒絕建議提供的意見
    • 跑者對推薦的滿意度

最終收集的資料結果可能如下:
Example dataset
*圖片來源:People + AI Guidebook — Data Collection + Evaluation

另外對收集來的資料要負責任,這包含了紀錄來源、保障隱私以及避免歧視:

紀錄來源

資料可能的來源有很多,要負責任地紀錄清楚:
Source Data Responsibly

安全性

資料收集與管理不只與模型有關,更重要的是安全與隱私,前者是指確保個人資料 (Personally Identifiable Information) 安全的政策或方法,後者則是正確的使用、收集、保留、刪除與儲存這類資料。
其中確保資料安全的方法有:

  • 讓使用者自行選擇哪些資料可以被收集。
  • 確保資料不會在不經意間洩漏,例如顯示在確認畫面上。
  • 遵守相關法規,例如 GDPR。

而透過以下方法則可以確保隱私:

  • Aggregation:將獨特的數值改成統計數值,例如把個人薪資改成平均薪資。
  • Redactio:移除某部分資料使其難以拼湊出全貌。

公平性

必須在公平、可靠、透明、可解釋間取得平衡,否則 ML 系統可能會讓使用者失望,例如:

  • Representational harm:增強或反映對某族群的刻板印象。
  • Opportunity denial:系統的預測對現實生活產生負面影響。
  • Disproportionate product failure:模型偏向對某族群輸出某類結果。
  • Harm by disadvantage:系統會給某類族群較不利的推論。

因此要時時注重公平性。

資料量,多少才夠?

當 AI 團隊與其他領域專家合作時,最常被問到的問題就是,要提供多少資料才行?
這時候通常都是依照 feature 數量來大致推估所需的資料量,但在電子報 Data-Centric AI Development, Part 3: Limit Data Collection Time 提出了另外一種想法 — 把「要花多久才能收集 m 個樣本?」改為「在 d 天內可以收集多少資料?」,也就是改執行以下訓練迴圈:
New iteration
這是因為首次訓練、錯誤分析的時間通常都不長,別因為收集資料延宕整體進度,盡快進入訓練模型的迴圈中才是王道,等資料真的不夠還有充足的時間再回頭收集就好。

如果已經有過去的經驗告訴我們需要多少資料就另當別論。

好啦,今天的內容就到這裡,明天就來繼續談談如何標註資料吧!
/images/emoticon/emoticon29.gif

參考資料


上一篇
[Day 18] 再訪 HLP — 人(?)的表現是己欲立而立人
下一篇
[Day 20] 資料標註 (1/2) — Forget about the price tag ♫
系列文
然後模型就死在 Jupyter Notebook 了 (ಥ﹏ಥ)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言