【 XAI 】使用 Azure Machine Learning Studio 執行 AI Explainability 360 Toolkit ( AIX360 )
內容
- 前言
- 前置準備作業
- 上傳 Dataset 到 Azure Blob
- 建立 Microsoft Azure Machine Learning Studio
- 建立 Trusted AI - AIX360
前言
Trusted-AI-AIX360 是由 IBM 開發的 AI 透明度和公正性 Toolkit,它為了幫助開發人員、數據科學家和決策者在使用 AI 技術時,能夠更好地理解和解釋 AI 模型的行為和決策,以及檢測和糾正潛在的不公平和偏見。該工具箱包括一系列模型解釋和驗證工具,包括模型評估、檢測和修正不公平和偏見、生成對抗樣本以及可解釋性和可視化工具,這些工具可以幫助用戶了解 AI 模型的決策過程、檢測和解決潛在的公平性問題,並提供可解釋性和解釋性能力,從而提高決策的透明度和公正性。
前置準備作業
- 已建立 Azure 帳號並能正常登入與使用
- 本地端電腦已安裝 Python3
上傳 Dataset 到 Azure Blob
- 檔案結構
└── AIX360
└── Datasets
├── ISIC2018_Task3_Training_GroundTruth
│ ├── ATTRIBUTION.txt
│ ├── ISIC2018_Task3_Training_GroundTruth.csv
│ └── LICENSE.txt
└── ISIC2018_Task3_Training_Input
│ ├── ATTRIBUTION.txt
│ ├── ISIC_0024306.jpg
│ ├── ...
│ ├── ISIC_0034320.jpg
│ └── LICENSE.txt
├── .env
├── app.py
└── requirements.txt
-
將 Dataset 下載並依上方檔案結構進行存放 ( 下載圖片中紅色框中的兩個檔案 )
-
建立 Azure Blob
- 在搜尋框輸入
blob
並點選Storage accounts
的搜尋結果
- 點選
Create
- 輸入相關資訊後點選左下角的
Review
- 確認相關資訊後點選
Create
- 建立過程中
- 點選
Go to resource
- 建立 Container
- 點選左邊的
Containers
→ 點選上方的+ Container
- 輸入 Container 名稱後點選
Create
( 之後的程式會使用到,請記得所輸入的名稱 )
- 建立完成
- 點選左邊的
- 在搜尋框輸入
-
取得 Account Name 與 Key
- 點選左側的
Access keys
( 之後的程式會使用到Storage account name
、Key
與Connection string
)
- 點選左側的
-
在 AIX360 資料夾中建立
.env
檔案內容如下 -
安裝相關套件
-
撰寫上傳檔案到 Azure Blob 的 Python 程式
-
執行上傳程式
python3 app.py
- 查看 Azure Blob 所上傳的檔案
建立 Microsoft Azure Machine Learning Studio
- 在輸入框輸入
azure machine learning
後點選Azure Machine Learning
的搜尋結果
- 點選上方的
+ Create
> 點選New workspace
-
輸入相關資訊後點選左下方的
Review + create
-
確認相關資訊後點選左下角的
Create
- 建立過程中
- 點選
Go to resource
- 點選
Launch studio
- 開啟 Studio 後的畫面
建立 Trusted AI - AIX360
Step 1. 建立運算資源
- 點選左側的
Compute
> 再點選+ New
- 輸入
Compute name
與所要使用的硬體規格後點選Create
- 建立過程中
- 確認 Compute instance 與 Python 3.8 - AuzreML 是否為綠燈 ( 綠燈代表正常運作中 ) 且已建立 Juypter Notebook
Step 2. 上傳 Trusted-AI-AIX360
Sample Code
- 在 Jupyter Notebook 中執行下方指令
!git clone https://github.com/ArcherHuang/Trusted-AI-AIX360.git
- 點選程式區塊左側的
▷
以執行程式
- 執行結果
Step 3. 安裝相關套件
- 點選
go-init.ipynb
程式區塊點擊Alt + R
以執行所有程式區塊
- 執行結果
Step 4. 開啟 dermoscopy.ipynb
Trusted-AI-AIX360
>examples
>tutorials
>dermoscopy.ipynb
Step 5. 配置工作環境
- 點選
配置工作環境
程式區塊左側的▷
以執行程式
- 執行結果
Step 6. 連接已有的 Blob
- 修改設定資訊
- 第 3 行修改成上面
上傳 Dataset 到 Azure Blob
區塊中所取得的Storage account name
- 第 4 行修改成上面
上傳 Dataset 到 Azure Blob
區塊中所取得的Key
- 第 5 行修改成上面
上傳 Dataset 到 Azure Blob
區塊中所建立的Container 名稱
- 第 3 行修改成上面
- 點選
連接已有的 Blob
程式區塊左側的▷
以執行程式
- 執行結果
Step 7. 匯入相關套件
- 點選
匯入相關套件
程式區塊左側的▷
以執行程式
- 執行結果
Step 8. 確認 CUDA
- 點選
CUDA
程式區塊左側的▷
以執行程式
- 執行結果
Step 9. 設定 Dataset
- 點選
設定 Dataset
程式區塊左側的▷
以執行程式
- 執行結果
Step 10. 載入 ISIC 資料集
- 點選
載入 ISIC 資料集
程式區塊左側的▷
以執行程式
- 執行結果
Step 11. 設定參數
- 點選
設定參數
程式區塊左側的▷
以執行程式
- 執行結果
Step 12. 載入預訓練模型
- 點選
載入預訓練模型
程式區塊左側的▷
以執行程式
- 執行結果
Step 13. 可視化訓練模型生成的重建圖像與顯示
- 點選
可視化訓練模型生成的重建圖像
程式區塊左側的▷
以執行程式
- 執行結果
- 點選
顯示結果
程式區塊1. 2. 3.
左側的▷
以執行程式
- 執行結果
Step 14. Visualize latent distribution across classes
- 依序點選
▷
以執行程式,其執行結果如下:
Step 15.
Let's learn a Random Forest model on the latent features to predict the disease classes.
- 點選
▷
以執行程式,其執行結果如下:
Step 16. Plot the distribution of latent values for each class in test set
- 依序點選
▷
以執行程式,其執行結果如下:
Step 17. Lets train a simple logistic regression classifier
- 依序點選
▷
以執行程式,其執行結果如下:
Step 18. Lets look at the average image at different probability thresholds for Melanoma and Vascular classes.
- 依序點選
▷
以執行程式,其執行結果如下:
Reference
- https://github.com/Trusted-AI/AIX360
- https://www.ibm.com/blogs/research/2019/08/ai-explainability-360/
- https://challenge.isic-archive.com/data/#2018