【 XAI 】使用 Azure Machine Learning Studio 執行 AI Explainability 360 Toolkit ( AIX360 )

【 XAI 】使用 Azure Machine Learning Studio 執行 AI Explainability 360 Toolkit ( AIX360 )
Photo by Hector Pineda / Unsplash

內容

  • 前言
  • 前置準備作業
  • 上傳 Dataset 到 Azure Blob
  • 建立 Microsoft Azure Machine Learning Studio
  • 建立 Trusted AI - AIX360

前言

Trusted-AI-AIX360 是由 IBM 開發的 AI 透明度和公正性 Toolkit,它為了幫助開發人員、數據科學家和決策者在使用 AI 技術時,能夠更好地理解和解釋 AI 模型的行為和決策,以及檢測和糾正潛在的不公平和偏見。該工具箱包括一系列模型解釋和驗證工具,包括模型評估、檢測和修正不公平和偏見、生成對抗樣本以及可解釋性和可視化工具,這些工具可以幫助用戶了解 AI 模型的決策過程、檢測和解決潛在的公平性問題,並提供可解釋性和解釋性能力,從而提高決策的透明度和公正性。

前置準備作業

上傳 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 的搜尋結果
      ---2023-03-29---9.02.54
    • 點選 Create
      ---2023-03-29---9.06.11
    • 輸入相關資訊後點選左下角的 Review
      ---2023-03-29---9.07.53
      ---2023-03-31---10.19.53
    • 確認相關資訊後點選 Create
      ---2023-03-31---10.21.30
    • 建立過程中
      ---2023-03-31---10.23.04
    • 點選 Go to resource
      ---2023-03-31---10.24.03
    • 建立 Container
      • 點選左邊的 Containers → 點選上方的 + Container
        ---2023-03-31---10.25.23
      • 輸入 Container 名稱後點選 Create ( 之後的程式會使用到,請記得所輸入的名稱 )
        ---2023-03-31---10.26.55
      • 建立完成
        ---2023-03-31---10.27.42
  • 取得 Account Name 與 Key

    • 點選左側的 Access keys ( 之後的程式會使用到 Storage account nameKeyConnection string )
      ---2023-04-06---10.30.40
  • 在 AIX360 資料夾中建立 .env 檔案內容如下

  • 安裝相關套件

  • 撰寫上傳檔案到 Azure Blob 的 Python 程式

  • 執行上傳程式

python3 app.py
  • 查看 Azure Blob 所上傳的檔案

---2023-04-06---9.56.25

---2023-04-06---9.57.28

---2023-04-06---9.58.08

建立 Microsoft Azure Machine Learning Studio

  • 在輸入框輸入 azure machine learning 後點選 Azure Machine Learning 的搜尋結果

---2023-03-29---9.56.15

  • 點選上方的 + Create > 點選 New workspace

---2023-03-29---10.00.51

  • 輸入相關資訊後點選左下方的 Review + create
    ---2023-03-29---10.02.43

    ---2023-03-31---11.11.08

  • 確認相關資訊後點選左下角的 Create

---2023-03-31---11.12.56

  • 建立過程中

---2023-03-31---11.13.54

  • 點選 Go to resource

---2023-03-31---11.15.02

  • 點選 Launch studio

---2023-03-31---11.16.03

  • 開啟 Studio 後的畫面

---2023-03-31---11.17.42

建立 Trusted AI - AIX360

Step 1. 建立運算資源

  • 點選左側的 Compute > 再點選 + New

---2023-03-29---10.20.12

  • 輸入 Compute name 與所要使用的硬體規格後點選 Create

---2023-03-29---10.22.05

  • 建立過程中

---2023-03-29---10.24.58

  • 確認 Compute instance 與 Python 3.8 - AuzreML 是否為綠燈 ( 綠燈代表正常運作中 ) 且已建立 Juypter Notebook

---2023-03-30---1.33.00


Step 2. 上傳 Trusted-AI-AIX360 Sample Code

  • 在 Jupyter Notebook 中執行下方指令
!git clone https://github.com/ArcherHuang/Trusted-AI-AIX360.git
  • 點選程式區塊左側的 以執行程式

---2023-04-06---10.07.34

  • 執行結果

---2023-04-06---10.09.46


Step 3. 安裝相關套件

  • 點選 go-init.ipynb 程式區塊點擊 Alt + R 以執行所有程式區塊

---2023-04-06---10.14.24

  • 執行結果

---2023-04-06---10.18.13


Step 4. 開啟 dermoscopy.ipynb

  • Trusted-AI-AIX360 > examples > tutorials > dermoscopy.ipynb

---2023-04-06---10.44.13


Step 5. 配置工作環境

  • 點選 配置工作環境 程式區塊左側的 以執行程式

---2023-04-06---10.51.04

  • 執行結果

---2023-04-06---10.57.52


Step 6. 連接已有的 Blob

  • 修改設定資訊
    • 第 3 行修改成上面 上傳 Dataset 到 Azure Blob 區塊中所取得的 Storage account name
    • 第 4 行修改成上面 上傳 Dataset 到 Azure Blob 區塊中所取得的 Key
    • 第 5 行修改成上面 上傳 Dataset 到 Azure Blob 區塊中所建立的 Container 名稱

---2023-04-06---10.35.34

  • 點選 連接已有的 Blob 程式區塊左側的 以執行程式

---2023-04-06---11.00.07

  • 執行結果

---2023-04-06---11.01.23


Step 7. 匯入相關套件

  • 點選 匯入相關套件 程式區塊左側的 以執行程式

---2023-04-06---11.05.38

  • 執行結果

---2023-04-06---11.06.34


Step 8. 確認 CUDA

  • 點選 CUDA 程式區塊左側的 以執行程式

---2023-04-06---11.07.48

  • 執行結果

---2023-04-06---11.09.11


Step 9. 設定 Dataset

  • 點選 設定 Dataset 程式區塊左側的 以執行程式

---2023-04-06---11.14.03

  • 執行結果

---2023-04-06---11.22.23


Step 10. 載入 ISIC 資料集

  • 點選 載入 ISIC 資料集 程式區塊左側的 以執行程式

---2023-04-06---11.24.13

  • 執行結果

---2023-04-06---11.26.35


Step 11. 設定參數

  • 點選 設定參數 程式區塊左側的 以執行程式

---2023-04-06---11.28.05

  • 執行結果

---2023-04-06---11.29.03


Step 12. 載入預訓練模型

  • 點選 載入預訓練模型 程式區塊左側的 以執行程式

---2023-04-06---11.30.16

  • 執行結果

---2023-04-06---11.31.08


Step 13. 可視化訓練模型生成的重建圖像與顯示

  • 點選 可視化訓練模型生成的重建圖像 程式區塊左側的 以執行程式

---2023-04-06---1.12.56

  • 執行結果

---2023-04-06---1.12.56--

  • 點選 顯示結果 程式區塊 1. 2. 3. 左側的 以執行程式

---2023-04-06---1.18.10

  • 執行結果
    ---2023-04-06---1.20.12

---2023-04-06---1.21.03

---2023-04-06---1.21.15


Step 14. Visualize latent distribution across classes

  • 依序點選 以執行程式,其執行結果如下:

---2023-04-06---1.36.13


Step 15.
Let's learn a Random Forest model on the latent features to predict the disease classes.

  • 點選 以執行程式,其執行結果如下:

---2023-04-06---1.38.08


Step 16. Plot the distribution of latent values for each class in test set

  • 依序點選 以執行程式,其執行結果如下:

---2023-04-06---1.39.18


Step 17. Lets train a simple logistic regression classifier

  • 依序點選 以執行程式,其執行結果如下:

---2023-04-06---1.40.18


Step 18. Lets look at the average image at different probability thresholds for Melanoma and Vascular classes.

  • 依序點選 以執行程式,其執行結果如下:

---2023-04-06---1.42.03

Reference

GitHub

List of blogs