【 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
