【 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 模型的決策過程、檢測和解決潛在的公平性問題,並提供可解釋性和解釋性能力,從而提高決策的透明度和公正性。

前置準備作業

上傳 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 nameKeyConnection 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 名稱

  • 點選 連接已有的 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

GitHub

List of blogs