隨著人工智慧(AI)與機器學習(ML)技術日益普及,如何確保 AI 系統的倫理、減少偏見並提升可靠性成為重要的課題。本文將探討這些議題,並介紹如何使用 Python 的 XAI 函式庫框架來解決這些挑戰。資料偏見和演算法偏見是影響 AI 系統公平性和準確性的兩個主要因素。資料偏見源於訓練資料的代表性不足或不平衡,而演算法偏見則可能由模型設計或訓練過程中的缺陷引起。為瞭解決這些問題,需要採用適當的偏見緩解策略,例如資料增強、重新取樣和公平性約束。此外,解釋偏見和訓練偏見也需要關注。解釋偏見可能導致對模型預測結果的誤讀,而訓練偏見則可能源於超引數選擇不當或過度擬合。
AI倫理、偏見與可靠性
本章節將探討不同的可解釋人工智慧(XAI)Python 函式庫框架,以控制偏見、執行可靠性原則,並在生成預測時保持倫理。隨著數位化程式觸及不同產業,人工智慧和機器學習相關解決方案的應用機會也隨之增加。採用這些 AI 技術的主要挑戰在於倫理、偏見、系統的可靠性以及流程的透明度。這些 AI 系統引發了根本性的問題:我能信任 AI 系統所做的預測嗎?我能假設它是無偏見的嗎?它存在什麼樣的風險?是否有任何流程可以控制 AI 系統及其對未來的預測?AI 倫理更關注 AI 對人類及其福祉的合法使用。AI 不應被用於破壞人類文明。
AI 倫理入門
AI 是一個相對較新的領域,隨著世界各國政府看到不一致性的證據,它正逐漸被規範化。AI 被廣泛認為是電腦為了達到最終目標而表現出的智慧行為。這些目標總是由業務定義的,例如在物流環境中安排倉函式庫或定義機器人及其活動以提升和轉移倉函式庫中的包裹。或者,它可以被定義為透過觀察人類威脅而自衛的機器人,可以發射武器。這些場景是完全不同的。在第一個場景中,AI 的使用是允許的。在第二個場景中,它不是最佳的 AI 使用方式。AI 系統可以推理、思考和感知行動和反應,因此可以被訓練來採取行動。AI 的核心目標是創造能夠幫助感知、邏輯推理、遊戲對戰、透過建模技術進行決策、理解自然語言處理、像人類一樣生成文字等的機器。
AI 倫理辯論
在學術界、政治家公開演講以及從業者中,關於 AI 倫理的辯論非常激烈。有很多話要說,但圍繞 AI 倫理制定某些政策的基礎工作很少。這不僅僅是因為有這樣做的意圖,而且因為這樣做很困難。AI 正在不斷演進,因此很難規劃和執行技術政策。
AI 中的倫理問題
此圖示展示了 AI 中的各種倫理問題,包括資料收集、資料儲存、資料交易、監控和操縱等。
AI 倫理挑戰
很難提前估計 AI 技術對人們生活的影響、在軍事中使用 AI 的威脅以及在其他領域中使用 AI 技術的威脅。因此,從倫理角度圍繞 AI 使用的政策制定在某些時候是非常具有迭代性質的。由於不同的組織將 AI 用於不同的目的,在如何使用 AI 以及從倫理角度來看什麼是正確的問題上,企業巨頭之間沒有達成共識。世界各國政府都希望透過使用 AI 技術來主導和變得強大,因此在圍繞 AI 的道德使用制定共同政策方面沒有達成共識(圖 2-1)。這跟隨了過去核技術的道路。
AI倫理、偏見與可靠性
在現今的數位時代,人工智慧(AI)系統已廣泛應用於各個領域,從商業決策到個人化服務,無一不受到AI的影響。然而,隨著AI的普及,其背後的倫理問題、偏見以及可靠性也逐漸浮現,成為亟待解決的重要課題。
資料的匿名性與隱私保護
現今大多數資料的收集和儲存過程都與雲端技術緊密相關,這些資料不僅包括使用者的個人化資訊,也涵蓋了他們的線上行為。雖然企業在利用這些資料時,通常會在匯總層級上對個人可識別資訊(PIIs)進行遮蔽處理,但由於行銷活動往往是針對個人進行的,因此這些資料實際上已不再是完全匿名的。個人的整個線上存在被儲存、分析,並用於銷售產品或服務。
目前,許多組織遵守客戶制定的使用資料的規則,但仍需要相關政策來確保資料的匿名性。
資料的多樣性
如今,機器執行的每項活動幾乎都被捕捉並儲存下來,以改善機器的效能、最佳化維護成本、防止生產過程中的故障等。物聯網(IoT)應用和系統產生了大量的資料,如工業生產系統、車輛的遙測資料等。
資料交易(預期內與非預期)
為特定目的從來源系統收集的資料,不應被用於其他目的,無論是預期內還是非預期的使用。資料交易的議題在於,當我們將資料用於其他用途時,可能會引發倫理問題。《通用資料保護規則》(GDPR)規範了這類別問題,類別似的法律也在不同公司和機構中實施,以確保不會發生資料交易。若使用被交易的資料建立AI系統,則整個系統將變得不道德。
監控(有目標與無目標)
AI倫理也適用於對所有人群進行大規模監控,無論是有目標還是無目標的監控。關於何時以及如何實施監控系統,存在著倫理上的爭論。一個沒有額外保護措施的生物識別認證系統確實令人擔憂,這也是為什麼全球都在倡導停止使用面部識別系統。
操縱與理性選擇的干預
從倫理角度來看,AI應該是理性的。必須有一個合法的過程,並且AI系統應該是透明的。
誠實與透明
誠實是定義組織透明度的核心。從倫理的角度來看,組織必須堅持可解釋性,並為核心AI產品和應用提供技術透明度。這包括訓練資料的來源、演算法的選擇、系統的訓練方式、預測的生成方式等。
AI中的偏見
許多AI系統使用機器學習(ML)和深度學習(DL)模型來進行預測。AI中的偏見意味著預測結果中的偏差。為什麼會出現預測偏差?如何控制有偏差的預測?這些是當前討論的焦點。由AI系統進行演算法決策所帶來的倫理後果是一個重大關注點。AI驅動的決策過程中出現的偏見已經嚴重影響了AI的採用。
資料偏見
偏見可以分為資料偏見和演算法偏見。資料偏見源於從某個角度對資料進行有限抽樣標註,並增加了主要群體的存在,從而導致了資料集的偏差。透過與自然資料收集源建立聯絡,可以改善這一過程。
內容解密:
- 資料偏見是指在收集和標註資料時,由於抽樣方法或角度的不同而導致的偏差。
- 比如,若要建立一個預測電商公司未來兩年收入的機器學習模型,不能簡單地使用過去15年的所有資料進行訓練,因為這可能會引入資料偏見,進而導致錯誤的預測。
- 正確的做法是選擇具有代表性的資料點,並確保訓練資料的多樣性和代表性。
演算法偏見
演算法偏見在一定程度上是由資料偏見引起的,因為即使透過訓練過程,也無法完全消除資料偏見。因此,會訓練出一個錯誤的模型,進而導致有偏差的預測。為了減少訓練過程中的偏見和資料偏見,需要對預測結果提供適當的解釋。這就需要一個可解釋的人工智慧(XAI)框架來提供必要的工具和結構,以闡述演算法和資料中的偏見,並幫助決策者瞭解偏見的存在。
內容解密:
- 演算法偏見是由於資料偏見未被完全消除而導致的模型訓練偏差。
- 需要在全球和本地層級上對預測模型的結果進行解釋,以減少偏見。
- XAI框架可以幫助闡述演算法和資料中的偏見,提高模型的透明度和可信度。
偏見緩解過程
為了減少偏見並提高倫理標準,治理扮演著重要的角色。AI治理意味著遵守一套規則、、標準、實踐和流程,透過這些來控制和治理根據AI的決策系統。可以透過設定治理標準,如資料評估、嚴格測試應用程式等,來減少資料偏見。
內容解密:
- AI治理是確保AI系統符合倫理標準和減少偏見的重要手段。
- 透過設定治理標準,如嚴格測試和資料評估,可以有效減少資料偏見。
- 這有助於提高AI系統的可靠性和公正性,從而促進其在各個領域的安全應用。
總之,隨著AI技術的發展,相關的倫理問題、偏見以及可靠性問題越來越受到關注。透過加強AI治理、提高透明度和可解釋性,以及減少資料和演算法中的偏見,可以促進AI技術的健康發展和廣泛應用。
AI 倫理、偏見與可靠性中的偏見解析
在人工智慧(AI)和機器學習(ML)系統中,偏見是一個關鍵問題,它可能導致模型預測結果不公平或不準確。偏見可能源自資料收集、模型訓練或結果解釋等不同階段。
解釋偏見(Interpretation Bias)
解釋偏見發生在使用相同的指標和數學方法來改變模型結果的敘述時,這可能會讓終端使用者或業務使用者感到困惑。當我們在一個群體(例如群體 A)上訓練 ML 模型,並將其應用於另一個群體(例如群體 B)時,就可能出現解釋偏見。這種情況在遷移學習中很常見,但如果兩個群體具有不同的特徵或特性,則預測結果可能會存在偏見。
演算法偏見(Algorithmic Bias)
演算法偏見出現在模型訓練過程中,由於不斷追求提高模型準確性而產生。常見的方法包括平滑處理、特徵轉換(如對數轉換和平方轉換)以及正則化。正則化過程涉及修剪模型係數,這也被視為模型訓練中的演算法偏見。
訓練偏見(Training Bias)
訓練偏見發生在選擇錯誤的超引數、錯誤的模型型別或過度訓練模型以追求更高準確性時。在機器學習模型開發中,超引數調優和交叉驗證對於模型的穩定性至關重要。評估演算法是否無偏見需要檢查資料收集、模型訓練過程和建模過程的假設。
偏見測量方法
有兩種主要方法用於測量偏見:程式方法和關聯方法。程式方法關注演算法訓練過程,而關聯方法則比較不同資料集。如果資料從不同群體、國家、年齡、性別和種族中以比例方式收集,則可以認為資料中沒有偏見。
偏見指標
常用的偏見指標包括統計指標、同質性指標和因果推理指標。統計指標關注不同群體的預測結果是否相似。如果預測結果在不同群體之間存在差異,且準確性也有所不同,則可以使用統計指標來衡量偏見。同質性指標則透過比較相似客戶的預測結果來檢測偏見。因果推理指標使用類別似 if/else 條件的邏輯來評估偏見。
詳細解說三種偏見指標
統計指標:關注不同群體預測結果的相似性。如果預測結果在不同群體之間存在差異,且準確性也有所不同,則可以使用統計指標來衡量偏見。
同質性指標:比較相似客戶的預測結果。如果兩個客戶從特徵角度來看非常相似,但預測結果卻不同,則可能存在偏見。這需要使用相似性指標來估計兩個記錄之間的相似程度。
因果推理指標:透過建立類別似 if/else 條件的規則來評估偏見。這種方法可以提供對演算法偏見的額外洞察。
AI倫理、偏見與可靠性
在人工智慧(AI)系統中,倫理問題的解決取決於系統品質的確保,而這又與流程的正確性、預測的效率、預測的穩健性、個別層面決策的可解釋性、安全性與隱私考量以及透明架構息息相關。一個良好的AI系統必須對其生成的決策負責,因此這些決策需要是公平的。
目前的AI治理形式和相關政策限制了資料的重複使用,但並未限制遷移學習在機器學習中的應用。在某個場景中訓練的機器學習(ML)和深度學習(DL)模型可以在另一個場景中內部或外部重複使用。然而,這些限制並不適用於模型本身。這些模型包含了有關訓練資料的重要資訊,可能被開發者逆向工程以取得額外資訊並將其用於其他用途。
衡量偏見的指標
為瞭解決AI系統中的偏見問題,需要採用適當的衡量指標,如圖2-3所示。這些指標包括統計指標、相似性指標和因果推理指標,用於評估模型的偏見程度。
圖示:衡量偏見的指標
此圖示展示了衡量偏見的不同指標之間的關係。
偏見移除流程
從預測模型中移除偏見的高階流程如圖2-4所示。當兩個預測結果相符時,資料點被視為無偏;否則,被視為有偏。如果資料點有偏,則應從模型訓練過程中刪除,以獲得無偏模型。
圖示:偏見移除流程
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
title Python 可解釋人工智慧倫理偏見與可靠性
package "機器學習流程" {
package "資料處理" {
component [資料收集] as collect
component [資料清洗] as clean
component [特徵工程] as feature
}
package "模型訓練" {
component [模型選擇] as select
component [超參數調優] as tune
component [交叉驗證] as cv
}
package "評估部署" {
component [模型評估] as eval
component [模型部署] as deploy
component [監控維護] as monitor
}
}
collect --> clean : 原始資料
clean --> feature : 乾淨資料
feature --> select : 特徵向量
select --> tune : 基礎模型
tune --> cv : 最佳參數
cv --> eval : 訓練模型
eval --> deploy : 驗證模型
deploy --> monitor : 生產模型
note right of feature
特徵工程包含:
- 特徵選擇
- 特徵轉換
- 降維處理
end note
note right of eval
評估指標:
- 準確率/召回率
- F1 Score
- AUC-ROC
end note
@enduml此圖示展示了從模型訓練過程中移除偏見的流程。
內容解密:
- 訓練資料集:用於訓練模型的初始資料。
- 分組變數A:根據特定屬性(如性別、年齡等)對資料進行分組。
- 模型訓練:使用分組後的資料訓練模型。
- 生成預測:使用訓練好的模型生成預測結果。
- 比較預測結果:檢查兩個預測結果是否相符,以確定資料點是否有偏。
- 刪除有偏資料:如果資料點有偏,則從模型訓練過程中刪除,以獲得無偏模型。
AI可靠性
AI技術的發展已經在醫學影像領域帶來了重大變化。一個穩健的AI系統如果能夠在沒有偏見和成見的情況下產生倫理洞察,那麼它就是可靠的。為了使AI系統可靠,我們需要引入ML可解釋性、ML模型設計考量、ML模型管理和訓練。AI系統對於資料驅動的自動化決策支援的可靠性取決於演算法的無偏性。
內容解密:
- ML可解釋性:使機器學習模型的決策過程可理解。
- ML模型設計考量:在設計ML模型時考慮公平性和透明度。
- ML模型管理:對ML模型進行持續監控和維護,以確保其可靠性。
- 演算法的無偏性:確保演算法不會對特定群體產生歧視性結果。
線性模型的解釋性
本章節將探討如何使用SHAP、LIME、SKATER和ELI5函式庫來解釋線性模型在監督式學習任務中的決策,特別是針對結構化資料。在監督式機器學習任務中,存在一個目標變數(也稱為依賴變數)和一組獨立變數。目標是將依賴變數預測為輸入變數或獨立變數的加權總和。
線性模型
線性模型,如用於預測真實值輸出的線性迴歸或用於預測類別及其對應機率的邏輯迴歸模型,是監督式學習演算法。這些線性模型對於監督式機器學習任務非常容易解釋,也很容易向業務利益相關者解釋。
線性迴歸
線性迴歸用於根據一組預測因子預測目標變數的量化結果。建模公式通常如下所示: y = β0 + β1x1 + … + βpxp + ε
其中,β係數被稱為引數,ε項被稱為誤差項。誤差項可以被視為反映模型無法預測的綜合指標。在現實世界中,由於資料的變化,無法以100%的準確度進行預測。開發模型的目標是盡可能提高預測的準確性和穩定性。當獨立變數的值為零時,目標變數假設截距項的值。
實作範例:汽車價格預測
本範例使用線上提供的automobile.csv資料集來建立線性迴歸模型,以預測汽車的價格,給定汽車的屬性。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.model_selection import cross_val_score, train_test_split
from sklearn.linear_model import LinearRegression
from sklearn import datasets, linear_model
from scipy import linalg
# 讀取資料集
df = pd.read_csv('automobile.csv')
df.info()
df.head()
資料集中有6,019筆記錄和11個特徵。在進行資料清理和特徵轉換後,資料集將具有相同的記錄數。下面的圖表顯示了各種特徵之間的相關性。
import seaborn as sns
sns.pairplot(df[['Price','Age','Odometer','mileage','engineCC','powerBhp']])
為了獲得各種特徵之間的確切相關性,需要計算相關性表格。
corrl = (df[['Price','Age','Odometer','mileage','engineCC','powerBhp']]).corr()
corrl
內容解密:
import pandas as pd:匯入pandas函式庫並賦予別名pd,用於資料處理。df = pd.read_csv('automobile.csv'):讀取名為automobile.csv的CSV檔案到DataFrame物件df中,用於後續的資料分析和模型建立。sns.pairplot(df[['Price','Age','Odometer','mileage','engineCC','powerBhp']]):使用seaborn的pairplot函式繪製資料集中選定欄位之間的成對關係圖,用於視覺化檢查變數之間的相關性和分佈。corrl = (df[['Price','Age','Odometer','mileage','engineCC','powerBhp']]).corr():計算選定欄位之間的相關係數矩陣,用於量化變數之間的線性關係。
資料字典
| Sr No | 特徵名稱 | 描述 |
|---|---|---|
| 0 | price | 以印度盧比表示的價格 |
| 1 | Make | 製造商 |
| 2 | location | 汽車所在城市 |
| 3 | age | 汽車的使用年限 |
| 4 | odometer | 已行駛公里數 |
| 5 | fueltype | 燃料型別 |
| 6 | transmission | 變速箱型別 |
| 7 | ownertype | 車主型別 |
| 8 | Mileage | 每公升油耗里程 |
| 9 | engineCC | 引擎排量(CC) |
| 10 | powerbhp | bhp(制動馬力) |