好 那 我 們 來 上 課 了 那 我 們 接 下 來 呢 要 講 global 的 explanation 那 global 的 explanation 是 什 麼 意 思 呢 我 們 在 前 一 堂 課 講 的 是 local 的 explanation 也 就 是 給 機 器 一 張 照 片 那 它 告 訴 我 們 說 看 到 這 張 圖 片 它 為 什 麼 覺 得 裡 面 有 一 隻 貓 而 global 的 explanation 並 不 是 針 對 特 定 某 一 張 照 片 來 進 行 分 析 而 是 把 我 們 訓 練 好 的 那 個 模 型 拿 出 來 根 據 這 個 模 型 裡 面 的 參 數 去 檢 查 說 對 這 個 network 而 言 到 底 一 隻 貓 長 什 麼 樣 子 對 一 個 network 而 言 它 心 裡 想 像 的 貓 長 什 麼 樣 子 好 舉 例 來 說 假 設 你 今 天 train 好 一 個 convolutional 的 neural network train 好 在 這 邊 那 你 知 道 在 convolutional 的 neural network 裡 面 呢 就 是 有 很 多 的 filter 有 很 多 的 這 個 convolutional layer convolutional layer 裡 面 呢 有 一 堆 的 filter 那 你 把 一 張 圖 片 作 為 輸 入 convolutional 的 layer 它 的 輸 出 是 什 麼 呢 它 的 輸 出 是 一 個 feature map 那 每 一 個 filter 都 會 給 我 們 一 個 metric 那 今 天 呢 假 設 我 們 有 一 張 圖 片 作 為 這 個 convolutional neural network 的 輸 入 這 張 圖 片 我 們 用 一 個 大 寫 的 x 來 表 示 因 為 圖 片 呢 通 常 是 一 個 矩 陣 我 們 用 大 寫 的 x 來 表 示 這 個 圖 片 所 構 成 的 矩 陣 而 如 果 把 這 張 圖 片 丟 進 去 你 發 現 某 一 個 filter 比 如 說 filter 1 它 在 它 的 feature map 裡 面 很 多 位 置 都 有 比 較 大 的 值 那 意 味 著 什 麼 那 可 能 就 是 意 味 著 說 這 個 image x 裡 面 有 很 多 filter 1 負 責 偵 測 的 那 些 特 徵 這 個 image 裡 面 呢 有 很 多 的 pattern 是 filter 1 負 責 偵 測 的 那 filter 1 看 到 這 些 pattern 所 以 它 在 它 的 feature map 上 就 output 比 較 大 的 值 但 是 現 在 我 們 要 做 的 是 global 的 explanation 也 就 是 我 們 還 沒 有 這 張 圖 片 image x 我 們 沒 有 要 針 對 任 何 一 張 特 定 的 圖 片 做 分 析 但 是 我 們 現 在 想 要 知 道 說 對 filter 1 而 言 它 想 要 看 的 pattern 到 底 長 什 麼 樣 子 那 怎 麼 做 呢 我 們 就 去 製 造 出 一 張 圖 片 它 不 是 我 們 的 database 裡 面 任 何 一 個 特 定 的 圖 片 而 是 機 器 自 己 去 找 出 來 的 自 己 創 造 出 來 的 我 們 要 創 造 一 張 圖 片 這 張 圖 片 它 包 含 有 filter 1 要 detect 的 pattern 那 藉 由 看 這 張 圖 片 裡 面 的 內 容 我 們 就 可 以 知 道 filter 1 它 負 責 detect 什 麼 樣 的 東 西 那 怎 麼 找 這 張 圖 片 呢 我 們 假 設 filter 1 它 是 這 個 filter 1 的 這 個 feature map 裡 面 的 每 一 個 element 叫 做 aij 就 是 filter 1 的 那 個 feature map 是 一 個 矩 陣 那 矩 陣 裡 面 每 一 個 element 我 們 用 aij 來 表 示 那 我 們 現 在 要 做 的 事 情 是 找 一 張 圖 片 x 這 張 圖 片 不 是 database 裡 面 的 圖 片 而 是 我 們 把 這 個 x 呢 當 做 一 個 unknown variable 當 做 我 們 要 訓 練 的 那 個 參 數 我 們 去 找 一 張 圖 片 這 張 圖 片 丟 到 這 個 filter 以 後 通 過 convolutional layer 以 後 輸 出 這 個 feature map 以 後 filter 1 對 應 的 feature map 裡 面 的 值 也 就 是 aij 的 值 越 大 越 好 所 以 我 們 要 找 一 個 x 讓 aij 的 總 和 也 就 是 filter 1 的 feature map 的 output 它 的 值 越 大 越 好 那 我 們 找 出 來 的 這 個 x 我 們 就 用 x⋆ 來 表 示 它 不 是 database 裡 面 任 何 一 張 特 定 的 圖 片 我 們 是 把 x 當 作 unknown variable 當 作 要 learn 的 參 數 去 找 出 這 個 x⋆ x⋆ 丟 到 這 個 已 經 train 好 的 network 裡 面 這 個 network 的 convolutional layer 它 輸 出 的 這 些 feature 它 的 值 它 輸 出 的 這 個 feature map 裡 面 的 值 會 越 大 越 好 那 怎 麼 解 這 個 問 題 呢 你 會 用 類 似 gradient descent 的 方 法 只 是 因 為 我 們 現 在 是 要 去 maximize 某 一 個 東 西 所 以 它 不 是 gradient descent 它 是 gradient ascent 不 過 它 的 原 理 跟 gradient descent 是 一 模 一 樣 的 好 那 我 找 出 這 個 x⋆ 以 後 我 們 就 可 以 去 觀 察 這 個 x⋆ 那 看 看 x⋆ 有 什 麼 樣 的 特 徵 我 們 就 可 以 知 道 說 x⋆ 它 可 以 maximize 這 個 filter map 的 value 也 就 是 這 個 filter 1 它 在 detect 什 麼 樣 的 pattern 那 這 邊 是 一 個 實 際 操 作 的 結 果 了 我 們 就 用 這 個 mnist mnist 是 一 個 手 寫 數 字 辨 識 的 coper 用 mnist train 出 一 個 classifier 這 個 classifier 給 它 一 張 圖 片 它 會 判 斷 說 這 張 圖 片 裡 面 是 1~9 的 哪 一 個 數 字 訓 練 好 這 個 數 字 的 classifier 以 後 呢 我 們 就 把 它 的 第 二 層 的 convolutional layer 裡 面 的 filter 拿 出 來 然 後 找 出 每 一 個 filter 對 應 的 x⋆ 所 以 下 面 這 邊 每 一 張 圖 片 就 是 一 個 x⋆ 然 後 每 一 張 圖 片 都 對 應 到 一 個 filter 那 所 以 你 可 以 想 像 說 這 個 第 一 張 圖 片 就 是 filter 1 它 想 要 detect 的 pattern 第 二 張 圖 片 就 是 filter 2 想 要 detect 的 pattern 以 此 類 推 那 這 邊 是 畫 了 12 個 filter 出 來 好 那 從 這 些 pattern 裡 面 我 們 可 以 發 現 什 麼 呢 我 們 可 以 發 現 說 這 個 第 二 層 的 convolutional 它 想 要 做 的 事 情 確 實 是 去 偵 測 一 些 基 本 的 pattern 比 如 說 類 似 筆 畫 的 東 西 你 可 以 看 說 這 個 filter 它 想 偵 測 什 麼 pattern 它 想 偵 測 橫 線 這 個 filter 它 想 偵 測 什 麼 pattern 它 想 偵 測 斜 直 線 等 等 這 個 pattern 這 個 filter 它 想 偵 測 什 麼 pattern 它 想 要 偵 測 直 線 每 一 個 filter 都 有 它 想 要 偵 測 的 pattern 那 因 為 我 們 現 在 是 在 做 手 寫 的 數 字 辨 識 那 你 知 道 數 字 就 是 有 一 堆 筆 畫 所 構 成 的 所 以 convolutiona layer 裡 面 的 每 一 個 filter 它 的 工 作 就 是 去 偵 測 某 一 個 筆 畫 這 件 事 情 是 非 常 合 理 的 好 那 接 下 來 你 可 能 就 會 去 想 說 那 假 設 我 們 不 是 看 某 一 個 filter 而 是 去 看 最 終 這 個 image classifier 的 output 那 可 不 可 以 呢 那 我 們 會 觀 察 到 什 麼 樣 的 現 象 呢 如 果 我 們 今 天 是 去 看 這 個 image classifier 這 個 digit classifier 的 output 我 們 想 辦 法 去 找 一 張 圖 片 x 這 個 x 可 以 讓 某 一 個 類 別 的 分 數 越 高 越 好 因 為 我 們 現 在 做 的 是 這 個 數 字 辨 識 所 以 這 個 y 呢 總 共 就 會 有 10 個 值 分 別 對 應 到 0~9 那 我 們 就 選 某 一 個 數 字 出 來 比 如 說 你 選 數 字 1 出 來 然 後 你 希 望 找 一 張 圖 片 這 張 圖 片 丟 到 這 個 classifier 以 後 數 字 1 的 分 數 越 高 越 好 那 如 果 你 用 這 個 方 法 你 可 以 看 到 什 麼 樣 的 東 西 呢 你 可 以 看 到 數 字 0~9 嗎 你 實 際 上 做 一 下 以 後 發 現 沒 有 辦 法 你 看 到 的 結 果 大 概 就 像 是 這 個 樣 子 就 這 張 x 這 張 圖 片 它 可 以 讓 這 個 image classifier 覺 得 看 到 數 字 0 的 分 數 最 高 這 張 圖 片 可 以 讓 你 的 這 個 classifier 覺 得 看 到 1 的 分 數 最 高 2 的 分 數 最 高 3 的 分 數 最 高 以 此 類 推 你 會 發 現 說 你 觀 察 到 的 其 實 就 是 一 堆 雜 訊 你 根 本 沒 有 辦 法 看 到 數 字 那 這 個 結 果 假 設 我 們 還 沒 有 教 adversarial attack 你 可 能 會 覺 得 好 神 奇 怎 麼 會 這 個 樣 子 機 器 看 到 一 堆 是 雜 訊 的 東 西 它 以 為 它 看 到 數 字 嗎 怎 麼 會 這 麼 愚 蠢 但 是 因 為 我 們 已 經 教 過 adversarial attack 所 以 想 必 你 其 實 不 會 太 震 驚 因 為 我 們 在 做 adversarial attack 的 時 候 我 們 就 已 經 告 訴 你 說 在 image 上 面 加 上 一 些 人 眼 根 本 看 不 到 的 奇 奇 怪 怪 的 雜 訊 就 可 以 讓 機 器 看 到 各 式 各 樣 的 物 件 那 所 以 這 邊 也 是 一 樣 的 道 理 對 機 器 來 說 它 不 需 要 看 到 真 的 很 像 0 那 個 數 字 的 圖 片 它 才 說 它 看 到 數 字 0 你 給 它 一 些 亂 七 八 糟 的 雜 訊 它 也 說 看 到 數 字 0 而 且 它 的 信 心 分 數 是 非 常 高 的 那 所 以 其 實 如 果 你 用 這 個 方 法 想 用 這 種 找 一 個 圖 片 讓 image 的 輸 出 某 一 個 對 應 到 某 一 個 類 別 的 輸 出 越 大 越 好 這 種 方 法 你 想 要 用 這 個 方 法 來 看 到 看 到 這 個 機 器 心 裡 想 像 的 某 一 個 object 長 什 麼 樣 子 其 實 不 一 定 有 那 麼 容 易 那 像 今 天 這 個 例 子 今 天 這 個 手 寫 數 字 辨 識 的 例 子 你 單 純 只 是 找 說 我 要 找 一 張 image 讓 對 應 到 某 一 個 數 字 的 信 心 分 數 越 高 越 好 你 單 純 只 做 這 件 事 情 你 找 到 了 只 會 是 一 堆 雜 訊 怎 麼 辦 呢 假 設 我 們 希 望 我 們 今 天 看 到 的 是 比 較 像 是 人 想 像 的 數 字 應 該 要 怎 麼 辦 呢 你 在 解 這 個 optimization 的 問 題 的 時 候 你 要 加 上 更 多 的 限 制 舉 例 來 說 我 們 先 對 這 個 數 字 已 經 有 一 些 想 像 我 們 已 經 知 道 數 字 可 能 是 長 什 麼 樣 子 我 們 可 以 把 我 們 要 的 這 個 限 制 加 到 這 個 optimization 的 過 程 裡 面 舉 例 來 說 我 們 現 在 不 是 要 找 一 個 x 讓 yi 的 分 數 最 大 而 是 要 找 一 個 x 同 時 讓 yi 還 有 r( x) 的 分 數 都 越 大 越 好 那 這 個 r( x) 是 什 麼 意 思 呢 這 個 r( x) 是 要 拿 來 衡 量 說 這 個 x 有 多 麼 像 是 一 個 數 字 舉 例 來 說 今 天 數 字 就 是 由 筆 畫 所 構 成 的 所 以 一 個 數 字 它 在 整 張 圖 片 裡 面 它 有 顏 色 的 地 方 其 實 也 沒 那 麼 多 這 一 個 圖 片 很 大 那 個 筆 畫 就 是 幾 畫 而 已 所 以 在 整 張 圖 片 裡 面 有 顏 色 的 地 方 沒 有 那 麼 多 所 以 我 們 可 以 把 這 件 事 情 當 做 一 個 限 制 硬 是 塞 到 我 們 找 x 的 這 個 過 程 中 硬 是 塞 到 我 們 找 x 的 這 個 最 佳 化 optimization 的 過 程 中 那 期 望 藉 此 我 們 找 出 來 的 x 就 會 比 較 像 是 數 字 那 如 果 加 上 一 些 額 外 的 限 制 以 後 舉 例 來 說 我 們 希 望 這 個 白 色 的 點 越 少 越 好 在 這 個 這 個 constraint 呢 它 的 意 思 就 是 希 望 這 個 白 色 的 點 越 少 越 好 那 假 設 我 們 加 上 一 個 限 制 希 望 白 色 的 點 越 少 越 好 的 話 那 我 們 看 到 的 結 果 會 是 這 個 樣 子 但 看 起 來 還 是 不 太 像 數 字 了 不 過 你 仔 細 觀 察 白 色 的 點 的 話 還 真 有 那 麼 一 點 樣 子 比 如 說 這 個 有 點 像 是 6 這 個 有 點 像 是 8 那 如 果 你 要 真 的 得 到 非 常 像 是 數 字 的 東 西 或 者 是 假 設 你 想 要 像 那 個 文 獻 上 你 知 道 文 獻 上 有 很 多 人 都 會 說 他 用 某 種 這 個 global explanation 的 方 法 然 後 去 反 推 一 個 image classifier 它 心 中 的 某 種 動 物 長 什 麼 樣 子 比 如 說 你 看 下 面 這 篇 文 獻 它 告 訴 你 說 它 有 一 個 image classifier 它 用 我 們 剛 才 提 到 的 方 法 它 可 以 反 推 說 這 個 image classifier 裡 面 心 中 的 這 個 丹 頂 鶴 長 什 麼 樣 子 或 它 心 中 的 這 個 甲 蟲 長 什 麼 樣 子 來 看 這 些 圖 片 這 個 真 的 都 還 蠻 像 丹 頂 鶴 的 你 完 全 可 以 看 到 說 這 個 有 一 隻 鳥 有 一 隻 丹 頂 鶴 然 後 牠 有 一 隻 腳 插 在 水 裡 面 那 這 些 圖 片 真 的 都 可 以 看 到 甲 蟲 在 圖 片 裡 面 但 是 你 要 得 到 這 樣 子 的 圖 片 其 實 沒 有 你 想 像 的 那 麼 容 易 你 如 果 仔 細 去 看 這 個 文 獻 的 話 你 就 會 發 現 說 要 得 到 這 些 圖 片 你 必 須 要 下 非 常 多 的 constraint 你 要 根 據 你 對 影 像 的 了 解 一 個 object 長 什 麼 樣 子 的 了 解 下 非 常 多 的 限 制 再 加 上 一 大 堆 的 hyperparameter tuning 你 知 道 我 們 解 optimization problem 的 時 候 也 是 需 要 這 個 調 這 個 hyperparameter 比 如 說 learning rate 之 類 的 所 以 下 一 堆 constraint 調 一 堆 參 數 你 才 可 以 得 出 這 樣 的 結 果 所 以 這 樣 的 結 果 並 不 是 隨 隨 便 便 就 可 以 輕 易 的 做 出 來 的 好 像 剛 才 講 的 那 種 global explanation 的 方 法 如 果 你 真 的 想 要 看 到 非 常 清 晰 的 圖 片 的 話 現 在 有 一 個 招 數 是 使 用 generator 你 就 訓 練 一 個 image 的 generator 你 有 一 堆 訓 練 資 料 有 一 堆 image 那 你 拿 這 一 堆 image 呢 來 訓 練 一 個 image 的 generator 比 如 說 你 可 以 用 gan 可 以 用 vae 等 等 gan 我 們 有 教 過 了 vae 我 們 沒 有 教 過 反 正 就 是 你 可 以 想 辦 法 訓 練 出 一 個 image 的 generator image 的 generator 輸 入 是 一 個 low-dimensional 的 vector 是 一 個 從 gaussian distribution 裡 面 sample 出 來 的 低 維 度 的 向 量 叫 做 z 丟 到 這 個 image generator 以 後 呢 它 輸 出 就 是 一 張 圖 片 x 那 這 個 image generator 我 們 用 g 來 表 示 那 輸 出 的 圖 片 x 我 們 就 可 以 寫 成 x 等 於 g(z) 那 怎 麼 拿 這 個 image generator 來 幫 助 我 們 反 推 一 個 image classifier 裡 面 它 所 想 像 的 某 一 種 類 別 比 如 說 某 一 隻 貓 它 心 裡 所 想 像 的 貓 這 個 類 別 或 狗 這 個 類 別 長 什 麼 樣 子 呢 那 你 就 把 這 個 image generator 跟 這 個 image classifier 接 在 一 起 這 個 image generator 輸 入 是 一 個 z 輸 出 是 一 張 圖 片 然 後 這 個 image classifier 把 這 個 圖 片 當 做 輸 入 然 後 輸 出 分 類 的 結 果 那 在 剛 才 前 幾 頁 投 影 片 裡 面 我 們 都 是 說 我 們 要 找 一 個 x 讓 y 裡 面 的 某 一 個 dimension 讓 某 一 個 類 別 它 的 信 心 分 數 越 高 越 好 那 我 們 說 這 個 x 叫 做 x⋆ 那 我 們 剛 才 也 看 到 說 光 這 麼 做 你 往 往 做 不 出 什 麼 特 別 厲 害 的 結 果 現 在 有 了 image generator 以 後 方 法 就 不 一 樣 了 我 們 現 在 不 是 去 找 x 而 是 去 找 一 個 z 我 們 要 找 一 個 z 這 個 z 通 過 image generator 產 生 x 再 把 這 個 x 丟 到 image classifier 去 產 生 y 以 後 希 望 y 裡 面 對 應 的 某 一 個 類 別 它 的 分 數 越 大 越 好 我 們 找 一 個 z z 產 生 x x 再 產 生 y 以 後 希 望 yi 越 大 越 好 那 這 個 可 以 讓 yi 越 大 越 好 的 z 我 們 就 叫 它 z⋆ 找 出 這 個 z⋆ 以 後 我 們 再 把 這 個 z⋆ 丟 到 g 裡 面 丟 到 generator 裡 面 看 看 它 產 生 出 來 的 image x⋆ 長 什 麼 樣 子 好 那 找 出 來 的 x⋆ 長 什 麼 樣 子 呢 假 設 你 今 天 想 要 產 生 比 如 說 這 個 讓 螞 蟻 分 數 讓 螞 蟻 的 信 心 分 數 最 高 的 image 那 產 生 出 來 的 螞 蟻 的 照 片 這 個 很 厲 害 這 個 長 得 是 這 個 樣 子 都 看 得 出 這 個 就 是 螞 蟻 或 者 是 要 讓 機 器 產 生 火 山 的 照 片 產 生 一 堆 照 片 丟 到 classifier 以 後 火 山 的 信 心 分 數 特 別 高 的 那 確 實 可 以 找 出 一 堆 image 這 些 image 一 看 就 知 道 像 是 火 山 一 樣 好 但 講 到 這 邊 你 可 能 會 覺 得 這 整 個 想 法 聽 起 來 有 點 強 要 這 樣 就 是 今 天 呢 你 找 出 來 的 圖 片 如 果 跟 你 想 像 的 東 西 不 一 樣 今 天 找 出 來 的 螞 蟻 火 山 跟 你 想 像 不 一 樣 你 就 說 這 個 explanation 的 方 法 不 好 然 後 你 硬 是 要 弄 一 些 方 法 去 找 出 來 那 個 圖 片 跟 人 想 像 的 是 一 樣 的 你 才 會 說 這 個 explanation 的 方 法 是 好 的 那 也 許 今 天 對 機 器 來 說 它 看 到 的 圖 片 就 是 像 是 一 些 雜 訊 一 樣 也 許 它 心 裡 想 像 的 某 一 個 數 字 就 是 像 是 那 些 雜 訊 一 樣 那 我 們 卻 不 願 意 認 同 這 個 事 實 而 是 硬 要 想 一 些 方 法 讓 機 器 產 生 出 看 起 來 比 較 像 樣 的 圖 片 那 今 天 explainable ai 的 技 術 往 往 就 是 有 這 個 特 性 我 們 其 實 沒 有 那 麼 在 乎 機 器 真 正 想 的 是 什 麼 其 實 我 們 不 知 道 機 器 真 正 想 的 是 什 麼 我 們 是 希 望 有 些 方 法 解 讀 出 來 的 東 西 是 人 看 起 來 覺 得 很 開 心 的 然 後 你 就 說 機 器 想 的 應 該 就 是 這 個 樣 子 然 後 你 的 老 闆 你 的 客 戶 聽 了 就 會 覺 得 很 開 心 那 今 天 explainable ai 往 往 會 有 這 樣 的 傾 向 好 那 我 們 今 天 呢 就 是 跟 大 家 介 紹 了 explainable ai 的 兩 個 主 流 的 技 術 一 個 是 local 的 explanation 一 個 是 global 的 explanation 那 其 實 explainable 的 machine learning 還 有 很 多 的 技 術 這 邊 再 舉 一 個 例 子 舉 例 來 說 你 可 以 用 一 個 比 較 簡 單 的 模 型 想 辦 法 去 模 仿 複 雜 的 模 型 的 行 為 如 果 簡 單 的 模 型 可 以 模 仿 複 雜 模 型 的 行 為 你 再 去 分 析 那 個 簡 單 的 模 型 也 許 我 們 就 可 以 知 道 那 個 複 雜 的 模 型 在 做 什 麼 舉 例 來 說 你 有 一 個 neural network 因 為 它 是 一 個 黑 盒 子 你 丟 一 堆 x 進 去 比 如 說 丟 一 堆 圖 片 進 去 它 會 給 我 們 分 類 的 結 果 但 我 們 搞 不 清 楚 它 決 策 的 過 程 因 為 neural network 本 身 非 常 地 複 雜 那 我 們 能 不 能 拿 一 個 比 較 簡 單 的 模 型 出 來 比 較 能 夠 分 析 的 模 型 出 來 拿 一 個 interpretable 的 模 型 出 來 比 如 說 一 個 linear model 然 後 我 們 訓 練 這 個 linear model 去 模 仿 neural network 的 行 為 neural network 輸 入 x1 到 xn 它 就 輸 出 y1 到 yn 那 我 們 要 求 這 個 linear model 輸 入 的 x1 到 xn 也 要 輸 出 跟 black box 這 個 黑 盒 子 一 模 一 樣 的 輸 出 y1 到 yn 我 們 要 求 這 個 linear 的 model 去 模 仿 黑 盒 子 的 行 為 那 如 果 linear 的 model 可 以 成 功 模 仿 黑 盒 子 的 行 為 我 們 再 去 分 析 linear model 做 的 事 情 因 為 linear 的 model 比 較 容 易 分 析 分 析 完 以 後 也 許 我 們 就 可 以 知 道 這 個 黑 盒 子 在 做 的 事 情 當 然 這 邊 你 可 能 會 有 非 常 非 常 多 的 問 題 舉 例 來 說 一 個 linear 的 model 有 辦 法 去 模 仿 一 個 黑 盒 子 的 行 為 嗎 我 們 開 學 第 一 堂 課 就 說 過 說 有 很 多 的 問 題 是 neural network 才 做 得 到 而 linear 的 model 是 做 不 到 的 所 以 今 天 黑 盒 子 可 以 做 到 的 事 情 linear 的 model 不 一 定 能 做 到 沒 錯 在 這 一 系 列 的 work 裡 面 有 一 個 特 別 知 名 的 叫 做 local interpretable model-agnostic explanations 它 縮 寫 呢 是 lime 那 像 這 種 方 法 它 也 沒 有 說 它 要 用 linear model 去 模 仿 黑 盒 子 全 部 的 行 為 它 有 特 別 開 宗 明 義 在 名 字 裡 面 就 告 訴 你 說 它 是 local interpretable 也 就 是 它 只 要 linear model 去 模 仿 這 個 黑 盒 子 在 一 小 個 區 域 內 的 行 為 因 為 linear model 能 力 有 限 它 不 可 能 模 仿 整 個 neural network 的 行 為 但 也 許 讓 它 模 仿 一 小 個 區 域 的 行 為 那 我 們 就 解 讀 那 一 小 個 區 域 裡 面 發 生 的 事 情 那 這 個 是 一 個 非 常 經 典 的 方 法 叫 做 lime 如 果 你 想 知 道 lime 是 什 麼 的 話 你 可 以 看 以 下 的 錄 影 那 今 天 呢 我 們 就 不 再 細 講 那 在 作 業 裡 面 我 們 也 有 有 關 lime 的 作 業 那 這 個 部 分 就 是 留 給 大 家 自 己 去 閱 讀 文 獻 自 己 去 感 受 這 個 lime 是 在 做 什 麼 好 那 這 個 部 分 呢 就 是 有 關 explainable machine learning 的 簡 介 那 我 們 來 看 一 下 線 上 有 沒 有 同 學 有 問 問 題 的 好 我 是 可 以 那 個 看 到 大 家 的 問 題 的 等 一 下 好 有 同 學 問 說 如 果 在 classifier 上 面 多 加 一 個 都 不 是 的 選 項 並 把 這 個 選 項 的 可 能 性 最 小 化 會 不 會 好 一 點 我 試 著 來 解 讀 你 的 問 題 你 的 問 題 說 我 們 剛 才 trian 了 一 個 image 的 classifier 比 如 說 digit 的 classifier 那 如 果 我 們 在 這 個 classifier 上 多 加 一 個 選 項 這 個 選 項 是 我 們 輸 入 的 東 西 它 不 是 任 何 的 不 是 任 何 的 digit 那 我 們 今 天 得 到 的 結 果 會 不 會 好 一 點 我 沒 有 做 過 類 似 的 實 驗 在 實 作 上 如 果 我 們 今 天 是 拿 mnist 的 話 可 能 會 有 點 小 問 題 因 為 endless 裡 面 並 沒 有 任 何 圖 片 不 是 數 字 我 們 做 的 圖 片 都 是 數 字 那 在 另 外 一 方 面 假 設 我 們 說 我 們 今 天 真 的 蒐 集 到 一 些 不 是 數 字 的 圖 片 然 後 多 加 一 個 類 別 說 有 些 東 西 就 叫 做 它 不 是 數 字 然 後 我 們 要 求 說 今 天 輸 入 一 張 圖 片 同 時 要 讓 classifier 覺 得 它 像 是 數 字 同 時 又 要 它 覺 得 說 不 是 數 字 的 那 個 類 別 的 機 率 越 小 越 好 到 底 會 發 生 什 麼 事 情 呢 我 其 實 沒 有 試 過 所 以 我 一 下 子 沒 有 非 常 好 的 答 案 不 過 依 照 今 天 這 個 adversarial attack 這 麼 容 易 成 功 的 狀 況 我 認 為 還 是 非 常 有 可 能 可 以 找 到 一 張 image 它 看 起 來 不 像 是 數 字 但 是 network 覺 得 它 是 數 字 同 時 它 不 是 數 字 的 機 率 又 非 常 地 小 但 是 我 沒 有 試 過 這 個 如 果 你 有 興 趣 的 話 其 實 也 可 以 自 己 試 試 看 看 看 結 果 會 怎 麼 樣 好 這 樣 子 不 知 道 大 家 有 沒 有 問 題 我 知 道 直 播 其 實 沒 有 非 常 地 即 時 所 以 我 跟 大 家 其 實 應 該 是 有 幾 分 鐘 的 幾 分 鐘 的 delay 
Okay, let's start the class So, what's next We will discuss Global Explanation So, what does Global Explanation mean In the previous class, we discussed Local Explanation That is, we provide an image to the machine Then, it tells us Looking at this image Why does it think there's a cat inside it And Global Explanation is not aimed at Analyzing a specific photo But rather, we take out the model that we have trained Check according to the parameters in this model and say For this Network What exactly does a cat look like? In terms of a network What does a cat look like in its mind? Okay, let's take an example Let's say you've trained something today A Convolutional Neural Network Trained well in this respect Do you know that in the Convolutional Neural Network, there are lots of Filters and many of this Convolutional Layer Inside the Convolutional Layer, there are loads of Filters You input an image into it The Layer of Convolutional What does it output? It outputs a Feature Map Each Filter gives us a Metric And today Assuming we have an image As the input for this Convolutional Neural Network We represent this image with a capital X Because images Are usually represented as a matrix We use a capital X To represent the matrix composed by this image And if you throw this image in You find a certain Filter For example, Filter 1 In its Feature Map There are many positions with larger values What does that mean That might mean There are many Filter 1 in this Image X Responsible for detecting those features Inside this Image There are many patterns that Filter 1 is responsible for detecting What Filter 1 sees are these patterns So, on its Feature Map It outputs larger values But what we are doing now is Global Explanation That is, we do not yet have this Image X We are not targeting any specific picture for analysis But what we want to know now is For Filter 1 What does the Pattern it wants to see look like How do we do that We are going to create an image It is not in our database Any specific picture It's the machine itself that finds it Created by oneself We need to create a picture This picture contains the Pattern that Filter 1 needs to Detect That's by looking at the content in this picture We can know Filter 1 It's responsible for detecting what kind of things How do we find this picture? We assume Filter 1 It is the feature map of this Filter 1 Each Element inside is called aij The feature map of Filter 1 is a matrix Every Element within that matrix We represent it with aij What we need to do now is to find a picture X This picture is not the one from the Database Instead, we use this X Consider it as an Unknown Variable Consider it as the parameters we need to train Let's find a picture This picture is thrown into this Filter After going through the Convolutional Layer After outputting this Feature Map The value in the Feature Map corresponding to Filter 1 The greater the value of aij, the better So we need to find an X Let the sum of aij That is, the Output of Feature Map from Filter 1 The bigger its value, the better Then we take this X that we've found We denote it as X⋆ It is not any specific picture in the Database We treat X as an Unknown Variable Considered as parameters to be learned To find this X⋆ Put X⋆ into this already trained Network This Convolutional Layer of the Network The value of these features it outputs The values in the Feature Map it outputs The bigger the better So, how do we solve this problem? You would use a method similar to Gradient Descent It's just because we are now trying to maximize something So it's not Gradient Descent It is Gradient ascent However, its principle is exactly the same as Gradient descent Okay, and after I find out this X⋆ We can then observe this X⋆ They see what kind of features X⋆ has Then we would know X⋆ can maximize the value of this Filter Map That is this Filter 1 What kind of pattern it is detecting This here is a result of an actual operation We use this Mnist Mnist is a handwritten digit recognition Coper Use Mnist to train a classifier Give this classifier a picture It will determine which number from 1 to 9 is in this image What happens after we have trained this numerical Classifier We then apply the second layer of the Convolutional Layer Take out the Filter inside And find the corresponding X⋆ for each Filter So each picture below this section It's just an X⋆ And each image corresponds to a Filter So you can imagine The first picture is Filter 1 The pattern it wants to detect The second picture It's the pattern that Filter 2 wants to detect. And so on This side has drawn out 12 filters Well, from these patterns What can we find We can find out that This second layer of Convolutional The thing it wants to do is indeed to detect some basic patterns For example, something like strokes You can see that this Filter What pattern does it want to detect It aims to detect horizontal lines This Filter It wants to detect what pattern It wants to detect slanting and straight lines, etc. This Pattern, this Filter It wants to detect what kind of Pattern It wants to detect a straight line Each filter Each containing the pattern it wants to detect Because we are currently doing handwritten digit recognition Did you know that numbers are constructed from a series of strokes So each Filter in the Convolutional Layer Its job is to detect a certain stroke This situation is very reasonable Okay, then next you might think What if we're not observing a certain filter Instead, look at the final output of this image classifier Can we do that? What phenomenon will we observe? If we look at this Image Classifier today This is the output of the Digit Classifier We are trying to find a picture X This X can make the score of a certain category better the higher it is Because what we are doing now is this number recognition So this y is In total, there will be 10 values Corresponding to 0~9 respectively Then we will choose a certain number For example, you choose number 1 And you hope to find a picture After this image is thrown into this Classifier The higher the score of number 1, the better What if you use this method What kind of things can you see? Can you see the numbers 0 to 9? You will find out once you actually do it There's no way What you see would probably look something like this just this X This picture It can enable this Image Classifier Feel that the score of the number 0 is the highest This picture can be used by your Classifier. I feel that the score of seeing 1 is the highest The highest score is 2 Score of 3 is the highest And so on You will find what you observed is It's actually a bunch of noise You really can't see the numbers As for this result Assume that we have not yet taught Adversarial Attack You might find this fascinating Why does it look like this The machine sees a bunch of noise Does it think it sees numbers? How can it be so stupid But because we have already taught Adversarial Attack So I guess you won't be too surprised Because when we are conducting an Adversarial Attack We've already told you that Add some on top of the image The human eye can't see the strange noises It would allow machines to see all sorts of objects So the principle here is the same For the machine It doesn't need to see pictures that really look like the number 0 It only says it sees the number 0 You feed it some kind of random noise It also mentioned seeing the number 0 And its confidence score is very high So, actually, if you use this method I want to use this method to find a picture Allow the output of the image, One corresponds to some kind of category output The bigger the better, this kind of method You want to use this method to see What the machine imagines What a certain object looks like It's not necessarily that easy Like today's example Consider today's example of handwriting recognition What you're doing is basically just looking for a solution I need to find an Image The higher the confidence score of a number, the better You're simply doing this single task What you find will only be noise What should we do Let's suppose we hope to see something today. It's more like a number people would think of What should it do When you are solving this optimization problem, You need to add more restrictions For example We already have some ideas about this number We already know what the numbers might look like We can apply the restriction we want Added to this Optimization process For instance We are not looking for an X now Make the score of yi the highest But to find an X To ensure that the scores of both Yi and R(X) are as high as possible So what does this R( X) mean? This R(X) is to measure How much this X looks like a number For instance The numbers today are composed of strokes Therefore, a number is within the whole picture The spots where it has color are not that many This image is very large Those strokes are just strokes So in the entire image There are not so many colored areas So we can treat this matter as a restriction It's forcibly crammed into our process of finding X Forcing it into our optimization for finding X During the process of Optimization The X we hope to find through this It would look more like a number So what if we add some extra restrictions For example We hope that there are as few of these white dots as possible In this constraint The idea is to have as few white dots as possible What if we add a restriction The fewer white dots, the better Then the result we see would look like this But it still doesn't look like a number But if you observe the white dots carefully It really does look a bit like that For instance, this looks a bit like 6 This looks a bit like 8 If you really want to obtain it, Something very much like a number Or suppose you want to imitate that literature. You know many people in the literature will say He used some sort of Global Explanation method Then, reverse engineer an image classifier What some kind of animal in its heart looks like For example, look at the document below It tells you that It has an image classifier It uses the method we just mentioned It can be inferred Inside this Image classifier what does this crane in our heart look like Or what the beetle in its heart looks like Look at these images This really looks quite like a red-crowned crane You can clearly see that There's a bird in this There's a red-crowned crane Then it has one foot in the water So, you can really see beetles in all these pictures Inside the picture But you want to get such a picture Actually, it's not as easy as you think If you look closely at these documents You will realize that To get these pictures You have to put down a lot of constraints You need to understand the image An understanding of what an Object looks like Imposed a lot of restrictions Plus a lot of Hyperparameter Tuning you know when we solve the Optimization Problem You also need to adjust this hyperparameter For example, things like Learning rate So the next set of Constraints Adjusting a bunch of parameters Only then can you come up with such result So, such a result is not casual It can be easily done Like the Global Explanation method we just mentioned If you really want to see a very clear picture There is a method now that uses Generator You then train an Image Generator You have a bunch of training data There are a bunch of images Then what do you do with these images To train an Image Generator For example, you can use GAN It can use techniques like VAE We've taught about GAN before We haven't taught VAE Anyway, you can try to Training an Image Generator The input of Image Generator It's a low-dimensional vector Is one from the Gaussian distribution inside The low-dimensional vector that gets sampled out is called z After throwing it into this Image Generator Its output is an image X This image generator, We use G to represent it The output picture is X We can write it as X equals G(z) So how can we use this Image Generator To help us infer an image classifier The category it imagines For example, a certain cat The category of 'cat' as it imagines in its mind What does the category of dog look like? Then you apply this Image Generator Connected with this Image classifier The input of this Image Generator is a z The output is an image And then this Image classifier Using this image as an input And then output the result of the classification In the previous few slides We are all saying that we need to find an X Let one of the dimensions in y Promote a certain category The higher its confidence score, the better We call this X, X⋆ As we just saw, this action is performed by light You often can't achieve anything particularly impressive Now that we have an Image Generator The method is different Right now, we are not looking for X But to find a z We need to find a 'z' This z generates X through the image generator, Put this X into the Image classifier again After generating y Hope for a corresponding category in y The higher its score, the better We find a z Z generates X After X generates Y The bigger the yi, the better And this can make z better as yi gets larger Let's call it z⋆ After finding this z⋆ Then let's throw this z⋆ into G And put it into the Generator See what the generated image X⋆ looks like, Okay, what does the found X⋆ look like? Suppose you want to generate today For instance, scoring this ant The image with the highest confidence score for the ant The picture of the ant that was generated This is very impressive This is how it looks You can clearly see this is an ant Or to make the machine generate volcano pictures Generate a bunch of photos After throwing it into the classifier The confidence score of the volcano is especially high In fact, you can find a bunch of images These Images, at a glance, look like volcanoes Okay, but you might think at this point This whole idea sounds a bit forced It's today The pictures you've found If it's different from what you imagined The ants found today are different from the volcano you imagined You say that this method of explanation is not good And then you insist on finding a way to get that picture It's just as one would imagine Only then would you say this Explanation method is good Perhaps for the machine today The pictures it sees are like noise Maybe it's thinking of a certain number It's like those noises But we are unwilling to acknowledge this fact But insist on thinking of some methods Let the machine generate more decent-looking pictures Talking about today's Explainable AI techniques Often, that's the characteristic We actually don't care that much What the machine really thinks In fact, we don't know what the machine really thinks We hope to interpret something by some methods The person seems very happy And then you say That's probably what the machine is thinking Then your boss, your clients You'd feel very happy after listening Explainable AI often tends to be like this today Alright, what we have today is I have introduced what Explainable AI is to everyone Two mainstream techniques One is a Local Explanation One is the Global Explanation In fact, the Explainable Machine Learning And there are many other techniques Here's another example For example You can use a simpler model Try to mimic the behavior of complex models If a simple model can mimic the behavior of a complex model Then analyze that simple model Perhaps then we would understand What is that complicated model doing For example You have a Neural Network Because it is a black box You throw a bunch of x in For instance, throwing a bunch of pictures in It will give us the results of the classification But we can't understand its decision-making process Because Neural Networks themselves are extremely complex Can we use a simpler model A more analytical model can be derived Present an interpretable model For example, a Linear Model Then we train this Linear Model To mimic the behavior of a Neural Network The Neural Network inputs from x1 to xN It then outputs y1 to yN Then we ask this Linear Model Input of x1 to xN We also need to output to the Black box This black box produces the identical output y1 to yN We require this Linear Model Imitate the behavior of the black box Now if it was a Linear Model To successfully imitate the behavior of the black box Let's analyze what the Linear Model does Because a linear model is easier to analyze After analyzing Maybe we can know What this black box is doing Of course, you might have a lot of questions over here For instance A linear model Is it possible to mimic the behavior of a black box? We said in the first lesson of school There are many problems that only the Neural Network can solve A linear model can't achieve that What the black box can do today A linear model may not necessarily achieve what it's supposed to That's right Within this series of work There's one that's notably well-known as Local Interpretable Model-Agnostic Explanations Its abbreviation is LIME Methods like this It didn't say It aims to mimic all the behaviors of the black box with a Linear Model Its purpose is explicitly stated in its name It's Local Interpretable That means it just needs the Linear Model to imitate this black box Behavior within a small area Because the Linear Model has limited capabilities It can't possibly mimic the whole behavior of the Neural Network But perhaps let it mimic the behavior of a small area Then we interpret what's happening in that small area Now, this is a very classic method It's called LIME If you want to know what LIME is You can watch the following video We won't go into detail today Then, in the operation We also have work related to LIME This part is left to everyone Go read the literature yourself Experience for yourself what this LIME is doing Alright, about this part It's a brief introduction to Explainable Machine Learning Let's take a look Do any classmates online have questions? Okay I am able to see everyone's questions Wait a minute Okay, a student asked If you add a 'none of the above' option on the Classifier Would it be better to minimize the possibility of this option? I try to interpret your question Your question says Just now we trained an image classifier For example, the classifier of Digit What if we add an extra option on this Classifier? This option is what we input It is not any Not any Digit Would the results we get today be better I've never done a similar experiment If we are using MNIST in our implementation today There might be a slight issue Because there are no images in Endless that are not numbers The images we create are all numbers On the other hand Assume we say today we really have collected some pictures that are not numbers And then add one more category, say Some things are called non-numerical Then we ask for an image to be input today At the same time, make the Classifier think it's like a number At the same time, it should feel like The smaller probability of non-number category, the better What exactly is going to happen? Actually, I haven't tried So I don't have a very good answer right away However, according to today's Adversarial Attack A situation where success comes so easily I still think it's very likely You can find an image It doesn't look like a number But the Network thinks it's a number At the same time, the probability that it is not a number is extremely small But I haven't tried it If you're interested in this Actually, you can try for yourself See what the results are Alright, I'm not sure if anyone has any questions about this. I know live streaming isn't exactly real-time So technically, I should have had a few minutes with everyone A few minutes of delay 