好 我 們 來 講 一 下 那 個 下 一 個 主 題 我 們 來 講 那 個 adversarial 的 attack adversarial attack 要 講 這 個 主 題 要 講 的 是 什 麼 呢 我 們 這 邊 要 講 的 是 我 們 在 作 業 裡 面 我 們 已 經 訓 練 了 非 常 多 各 式 各 樣 的 類 神 經 網 路 那 我 們 當 然 期 待 說 我 們 可 以 把 這 些 技 術 用 在 真 正 的 應 用 上 但 是 光 是 把 這 些 network 用 在 真 正 的 應 用 上 要 把 這 些 network 用 在 真 正 應 用 上 光 是 它 們 正 確 率 高 是 不 夠 的 它 們 還 需 要 什 麼 能 力 呢 他 們 需 要 能 夠 應 付 來 自 人 類 的 惡 意 什 麼 叫 做 來 自 人 類 的 惡 意 呢 有 時 候 你 的 network 它 的 工 作 是 為 了 要 偵 測 一 些 有 惡 意 的 行 為 如 果 今 天 它 的 工 作 是 要 偵 測 有 惡 意 的 行 為 這 些 它 要 偵 測 的 對 象 會 去 想 辦 法 騙 過 network network 在 一 般 的 情 況 下 都 可 以 得 到 高 的 正 確 率 是 不 夠 的 它 要 在 有 人 試 圖 想 要 欺 騙 它 的 情 況 下 也 得 到 高 的 正 確 率 舉 例 來 說 我 們 今 天 都 會 用 network 來 做 e-mail 的 filtering 你 會 用 network 來 做 偵 測 一 封 郵 件 它 是 不 是 垃 圾 郵 件 那 今 天 對 於 一 個 垃 圾 郵 件 的 發 信 者 而 言 他 也 會 想 盡 辦 法 避 免 他 的 郵 件 被 分 類 為 垃 圾 郵 件 如 果 今 天 有 人 他 想 辦 法 去 更 改 郵 件 的 內 容 想 要 去 欺 騙 過 network 的 話 那 network 到 底 能 不 能 不 要 被 欺 騙 呢 所 以 今 天 我 們 希 望 我 們 的 類 神 經 網 路 它 光 是 正 確 率 高 還 不 夠 我 們 希 望 它 可 以 應 付 來 自 人 類 的 惡 意 舉 例 來 說 這 個 是 蟻 王 知 道 嗎 牠 叫 做 梅 路 艾 姆 牠 是 站 在 生 物 頂 點 牠 是 生 物 頂 點 的 一 個 存 在 牠 非 常 地 強 人 類 沒 有 辦 法 打 贏 牠 那 牠 會 消 滅 掉 所 有 的 人 類 但 是 人 類 並 沒 有 跟 牠 打 人 類 是 不 講 武 德 的 人 類 就 直 接 放 一 個 核 彈 就 把 牠 炸 死 然 後 故 事 就 結 束 了 就 這 樣 好 所 以 這 告 訴 我 們 什 麼 這 告 訴 我 們 說 network 光 是 正 確 率 高 是 不 夠 的 它 必 須 要 能 夠 應 付 來 自 人 類 的 惡 意 好 接 下 來 我 們 就 要 講 人 類 的 惡 意 可 能 是 什 麼 樣 子 我 們 先 來 看 一 個 真 正 的 例 子 我 們 今 天 在 好 多 個 作 業 裡 面 我 們 都 已 經 訓 練 了 影 像 辨 識 的 模 型 也 就 是 說 你 有 一 個 影 像 辨 識 的 系 統 給 它 一 張 照 片 它 可 以 告 訴 我 們 說 這 張 照 片 屬 於 什 麼 樣 的 類 別 那 今 天 我 們 要 做 的 事 情 是 在 這 張 照 片 上 面 加 入 一 個 非 常 小 的 雜 訊 一 張 照 片 可 以 被 看 作 是 一 個 非 常 長 的 向 量 我 們 在 這 個 非 常 長 的 向 量 上 加 入 每 一 個 維 度 都 加 入 一 個 小 小 的 雜 訊 把 這 個 有 加 入 雜 訊 以 後 的 照 片 丟 到 network 看 看 會 發 生 什 麼 樣 的 事 情 那 一 般 呢 這 個 雜 訊 都 非 常 非 常 地 小 小 到 什 麼 地 步 呢 最 好 小 到 人 肉 眼 沒 有 辦 法 看 出 來 所 以 這 個 例 子 裡 面 加 的 雜 訊 其 實 太 大 了 一 般 這 個 雜 訊 是 小 到 人 肉 眼 看 不 出 來 的 有 被 加 雜 訊 的 照 片 叫 做 attacked image 有 被 攻 擊 的 照 片 那 還 沒 有 被 加 雜 訊 的 照 片 呢 我 們 一 般 就 叫 做 benign image 它 是 好 的 image 它 是 還 沒 有 被 攻 擊 的 圖 片 benign image 丟 到 network 裡 面 它 的 輸 出 是 貓 那 我 們 期 待 說 attacked image 就 我 們 現 在 是 攻 擊 方 我 們 是 壞 人 我 們 希 望 attacked image 丟 到 network 裡 面 它 的 輸 出 不 可 以 是 貓 要 變 成 其 他 的 東 西 那 攻 擊 呢 大 致 上 可 以 分 成 兩 種 類 型 一 種 是 沒 有 目 標 的 攻 擊 沒 有 目 標 的 攻 擊 是 原 來 的 答 案 是 貓 只 要 你 能 夠 讓 network 的 輸 出 不 是 貓 你 就 算 是 成 功 了 但 是 還 有 另 外 一 種 更 困 難 的 攻 擊 是 有 目 標 的 攻 擊 也 就 是 說 我 們 希 望 network 不 止 它 輸 出 不 能 是 貓 還 要 輸 出 別 的 東 西 比 如 說 我 們 希 望 加 了 一 個 雜 訊 以 後 network 輸 出 呢 是 海 星 它 把 貓 錯 誤 判 斷 成 一 隻 海 星 才 算 是 攻 擊 成 功 好 那 這 樣 子 的 攻 擊 真 的 有 可 能 做 到 嗎 我 們 真 的 可 以 加 入 一 個 人 肉 眼 看 不 到 的 雜 訊 去 改 變 network 的 輸 出 嗎 實 際 上 是 可 以 的 這 邊 用 的 network 並 不 是 一 個 很 弱 的 network 它 是 50 層 的 resnet 當 我 們 把 一 個 benign image 沒 有 被 攻 擊 的 圖 片 丟 到 50 層 的 resnet 的 時 候 它 的 輸 出 是 tiger cat 你 知 道 今 天 這 種 影 像 辨 識 的 系 統 它 的 輸 出 都 不 只 會 告 訴 你 它 是 什 麼 動 物 還 會 告 訴 你 它 是 哪 一 個 品 種 的 動 物 所 以 它 給 它 這 隻 貓 它 不 只 說 它 是 cat 還 說 它 是 tiger cat 不 過 據 說 這 個 答 案 其 實 是 錯 的 據 說 這 個 貓 不 是 tiger cat 不 過 沒 有 關 係 反 正 它 都 認 得 出 這 個 是 一 隻 貓 就 對 了 至 少 知 道 是 一 個 貓 科 的 動 物 好 那 它 還 有 一 個 信 心 的 分 數 信 心 的 分 數 是 0.64 這 個 信 心 的 分 數 是 什 麼 呢 這 個 信 心 的 分 數 就 是 做 完 那 個 soft mask 以 後 得 到 的 那 個 分 數 就 假 設 你 的 影 像 分 類 的 類 別 有 2000 類 2000 個 類 別 都 會 有 一 個 分 數 那 這 個 分 數 呢 一 定 介 於 0 到 1 之 間 而 且 2000 個 類 別 的 分 數 合 起 來 會 剛 剛 好 是 1 那 既 然 有 2000 個 類 別 那 麼 多 tiger cat 可 以 拿 到 0.64 的 分 數 那 其 實 算 是 挺 高 的 接 下 來 呢 我 們 在 這 個 benign image 上 面 加 入 一 些 雜 訊 我 們 現 在 希 望 成 功 攻 擊 的 目 標 是 把 tiger cat 變 成 海 星 而 被 攻 擊 以 後 的 圖 片 長 的 是 這 個 樣 子 的 你 可 能 問 說 雜 訊 加 在 哪 裡 呢 雜 訊 已 經 加 進 去 了 但 它 非 常 非 常 地 小 小 到 人 的 肉 眼 根 本 沒 有 辦 法 看 出 來 把 這 張 圖 片 丟 到 resnet 以 後 會 發 生 什 麼 事 呢 resnet 的 output 變 成 star fish 而 且 它 的 信 心 分 數 是 100 % 啊 本 來 它 還 沒 有 那 麼 確 定 這 是 不 是 一 隻 貓 現 在 它 百 分 之 百 確 定 它 就 是 海 星 那 為 了 要 證 明 說 這 兩 張 照 片 還 是 有 一 些 不 一 樣 的 我 們 把 它 做 一 下 相 減 光 做 相 減 是 不 夠 的 做 完 相 減 以 後 還 要 把 它 們 的 差 距 放 大 50 倍 你 會 得 到 這 樣 子 的 結 論 所 以 這 兩 張 照 片 確 實 有 些 不 一 樣 我 並 不 是 把 同 一 張 照 片 複 製 兩 次 來 騙 你 它 們 是 有 一 點 不 一 樣 的 但 是 人 根 本 看 不 出 這 點 不 一 樣 會 造 成 什 麼 樣 的 影 響 但 是 對 resnet 而 言 它 卻 有 了 天 差 地 遠 的 輸 出 那 也 許 有 人 會 覺 得 說 啊 也 許 是 因 為 貓 跟 海 星 有 什 麼 特 別 的 關 係 我 們 可 以 把 貓 變 成 海 星 只 是 一 個 特 例 這 不 是 一 個 特 例 你 可 以 把 這 隻 貓 輕 易 地 變 成 任 何 的 東 西 我 完 全 可 以 加 上 另 外 一 個 雜 訊 就 讓 這 隻 貓 變 成 一 個 鍵 盤 它 一 樣 信 心 分 數 高 達 0.98 本 來 不 太 確 定 它 是 不 是 貓 現 在 加 入 另 外 一 個 雜 訊 以 後 network 98% 確 定 它 就 是 一 個 鍵 盤 那 有 人 可 能 會 覺 得 說 欸 怎 麼 會 發 生 這 麼 離 譜 的 行 為 會 不 會 是 這 個 network 太 爛 了 我 要 告 訴 你 它 可 是 有 50 層 的 喔 它 可 不 是 一 個 非 常 爛 的 network 如 果 你 加 入 的 只 是 一 般 的 雜 訊 它 並 不 一 定 會 犯 錯 這 個 是 原 來 的 圖 片 我 們 現 在 加 入 一 個 雜 訊 這 個 雜 訊 是 你 肉 眼 可 見 的 你 可 以 很 明 顯 地 看 到 這 張 圖 片 裡 面 被 加 入 了 雜 訊 這 個 時 候 resnet 覺 得 它 看 到 的 是 tabby cat 這 可 能 才 是 正 確 答 案 但 無 論 如 何 它 都 知 道 是 貓 科 動 物 把 雜 訊 加 得 更 大 一 點 它 說 這 是 persian cat 這 是 波 斯 貓 可 能 雜 訊 加 得 大 一 點 這 個 貓 看 起 來 毛 茸 茸 的 所 以 resnet 覺 得 它 看 到 了 波 斯 貓 把 雜 訊 再 加 更 大 一 點 你 可 能 已 經 不 知 道 這 是 什 麼 東 西 了 這 個 時 候 resnet 說 它 看 到 了 fire screen fire screen 是 什 麼 呢 我 google 了 一 下 發 現 fire screen 長 這 個 樣 子 這 裡 完 全 可 以 理 解 機 器 為 什 麼 會 犯 錯 它 覺 得 前 面 的 雜 訊 是 這 個 屏 風 而 後 面 這 個 橙 色 的 貓 就 是 火 焰 它 雖 然 犯 錯 它 錯 的 是 有 尊 嚴 的 它 錯 的 是 有 道 理 的 但 不 知 道 為 什 麼 加 入 一 個 人 肉 眼 看 不 到 的 雜 訊 的 時 候 它 卻 產 生 了 天 差 地 遠 的 結 果 那 接 下 來 我 們 在 講 為 什 麼 這 件 事 會 發 生 之 前 我 們 來 看 看 剛 才 所 說 的 攻 擊 究 竟 是 如 何 做 到 的 我 們 到 底 是 怎 麼 加 入 了 一 個 非 常 微 小 的 雜 訊 而 這 個 非 常 微 小 的 雜 訊 可 以 讓 network 產 生 非 常 錯 誤 的 結 果 呢 而 這 個 是 我 們 的 network 它 是 一 個 function 我 們 叫 它 f 這 個 function 輸 入 是 一 張 圖 片 我 們 叫 它 x0 它 的 輸 出 是 一 個 distribution 這 個 是 這 個 分 類 的 結 果 那 我 們 叫 它 y0 那 我 們 這 邊 假 設 network 的 參 數 就 是 固 定 的 我 們 不 討 論 network 的 參 數 的 部 分 network 的 參 數 不 是 我 們 今 天 的 重 點 所 以 它 是 固 定 的 如 果 是 non-targeted attack 的 話 我 們 要 怎 麼 找 出 non-targeted attack 的 雜 訊 呢 我 們 現 在 要 做 的 目 標 就 是 我 們 要 找 到 一 張 新 的 圖 片 這 張 新 的 圖 片 呢 我 們 用 x 來 表 示 當 我 們 把 x 丟 到 這 個 network f 的 時 候 它 的 輸 出 是 y 而 我 們 希 望 y 呢 跟 正 確 答 案 我 們 正 確 的 答 案 叫 做 ŷ 我 們 希 望 y 跟 ŷ 它 的 差 距 越 大 越 好 我 們 現 在 是 non-targeted attack 沒 有 目 標 的 攻 擊 我 們 只 要 知 道 說 正 確 答 案 是 ŷ 今 天 network 的 輸 出 跟 正 確 答 案 的 差 距 越 大 我 們 就 算 是 攻 擊 成 功 了 那 怎 麼 做 到 這 件 事 呢 怎 麼 找 到 這 個 x 丟 到 一 個 network 裡 以 後 它 產 生 的 y 跟 ŷ 差 距 越 大 越 好 呢 我 們 一 樣 要 解 一 個 optimization 的 問 題 這 個 跟 我 們 訓 練 的 network 其 實 是 非 常 類 似 的 我 們 先 定 一 個 loss function 這 個 loss function 呢 叫 做 l 叫 做 l 這 個 l 是 什 麼 呢 這 個 l 呢 是 y 跟 ŷ 之 間 的 差 距 取 一 個 負 號 舉 例 來 說 我 們 一 般 在 做 這 個 classification 的 時 候 我 們 訓 練 的 目 標 y 跟 ŷ 都 是 看 它 的 cross entropy 那 我 們 這 個 -e(y, ŷ) 這 一 項 代 表 的 就 是 y 跟 ŷ 之 間 的 cross entropy 但 是 我 們 希 望 這 個 cross entropy 越 大 越 好 所 以 我 們 今 天 在 cross entropy 前 面 加 一 個 負 號 那 這 個 負 的 cross entropy 就 是 我 們 的 loss 而 我 們 期 望 這 個 loss 越 小 越 好 我 們 希 望 找 到 一 個 x x 可 以 讓 l(x) 越 小 越 好 l(x) 越 小 就 代 表 說 y 跟 ŷ 它 們 的 cross entropy 越 大 也 就 是 y 跟 ŷ 它 們 的 距 離 越 大 這 個 是 沒 有 目 標 的 攻 擊 如 果 是 有 目 標 的 攻 擊 的 話 那 我 們 會 先 設 定 好 我 們 的 目 標 我 們 用 y target 來 代 表 我 們 的 目 標 那 ŷ 其 實 是 一 個 one-hot vector y target 也 是 一 個 one-hot vector 那 我 們 現 在 希 望 這 個 y 不 止 跟 ŷ 越 遠 越 好 我 們 還 要 跟 y target 越 近 越 好 所 以 假 設 你 的 y target 是 一 個 fish 那 你 希 望 你 輸 出 的 這 個 y 啊 它 不 止 cat 的 機 率 越 低 越 好 fish 的 機 率 還 要 越 高 越 好 那 你 的 loss function 就 寫 成 這 樣 我 們 的 loss function 是 負 的 y 跟 ŷ 之 間 的 cross entropy 希 望 這 一 項 越 大 越 好 同 時 你 又 希 望 y 跟 y target 它 們 越 小 越 好 你 把 這 兩 項 加 起 來 就 是 你 的 loss 你 希 望 找 一 個 x 去 minimize 這 個 loss 但 光 是 找 一 個 x 去 minimize loss 是 不 夠 的 因 為 我 們 其 實 還 期 待 說 我 們 加 入 的 雜 訊 越 小 越 好 也 就 是 我 們 新 找 到 的 圖 片 可 以 欺 騙 過 network 的 圖 片 跟 原 來 的 圖 片 要 越 相 近 越 好 x 跟 x0 要 越 近 越 好 所 以 我 們 在 解 這 個 optimization 的 problem 的 時 候 我 們 還 會 多 加 入 一 個 限 制 這 個 限 制 是 d(x0,x) 它 小 於 等 於 σ 那 這 個 d(x0,x) 小 於 等 於 σ 是 什 麼 意 思 呢 它 的 意 思 就 是 我 們 希 望 x 跟 x0 之 間 的 差 距 小 於 某 一 個 threshold 小 於 某 一 個 閾 值 那 這 個 閾 值 是 根 據 什 麼 東 西 來 決 定 的 呢 通 常 就 是 根 據 人 類 的 感 知 能 力 來 決 定 我 們 就 假 設 說 如 果 x 跟 x0 它 們 的 差 距 大 於 這 個 d(x0,x) 就 代 表 它 們 兩 個 之 間 的 差 距 那 等 一 下 下 一 頁 投 影 片 我 會 講 說 怎 麼 計 算 兩 張 圖 片 之 間 的 差 距 如 果 x0 跟 x 之 間 的 差 距 大 於 σ 我 們 假 設 人 就 會 看 到 這 個 雜 訊 人 就 會 發 現 有 一 個 雜 訊 存 在 所 以 我 們 要 讓 x0 跟 x 它 的 差 距 小 於 等 於 σ 小 於 等 於 人 類 可 以 感 知 的 極 限 那 我 們 就 可 以 產 生 一 張 圖 片 人 類 看 起 來 x 跟 x0 是 一 模 一 樣 的 但 產 生 的 結 果 對 network 來 說 是 非 常 不 一 樣 的 好 那 怎 麼 計 算 x 跟 x0 之 間 的 差 距 它 們 之 間 的 距 離 呢 d(x0,x) 就 代 表 它 們 之 間 的 距 離 有 各 式 各 樣 不 同 的 算 法 那 為 了 等 一 下 符 號 的 方 便 起 見 呢 我 們 假 設 x 是 一 個 向 量 因 為 它 是 個 圖 片 所 以 它 是 個 向 量 嘛 x0 是 另 外 一 張 圖 片 它 也 是 一 個 向 量 這 兩 個 向 量 相 減 我 們 叫 它 δx 那 這 個 距 離 啊 你 可 以 定 l2-norm 當 做 它 們 的 距 離 也 就 是 說 你 可 以 計 算 δx 的 l2-norm δx 的 l2-norm 就 是 把 這 個 δx 的 第 一 位 拿 出 來 取 平 方 第 二 位 拿 出 來 取 平 方 第 三 位 拿 出 來 取 平 方 在 這 邊 你 其 實 要 開 根 號 也 可 以 啦 就 看 你 的 l2-norm 的 定 義 是 怎 樣 你 要 開 根 號 也 是 可 以 的 好 那 另 外 還 有 一 個 定 義 呢 是 l-infinity l-infinity 是 怎 麼 看 的 呢 它 就 是 把 這 個 δx 拿 來 然 後 看 裡 面 哪 一 個 維 度 它 的 絕 對 值 最 大 那 這 一 個 就 是 l-infinity 就 把 δx1 δx2 δx3 也 就 是 δx 的 每 一 維 都 拿 出 來 取 絕 對 值 看 誰 最 大 最 大 的 那 一 個 就 代 表 x 跟 x0 之 間 的 距 離 好 那 有 各 種 不 同 的 方 法 可 以 計 算 兩 張 圖 片 之 間 的 距 離 但 是 我 們 在 決 定 要 使 用 哪 一 種 方 法 來 計 算 圖 片 的 距 離 的 時 候 其 實 我 們 應 該 把 人 類 的 感 知 把 它 考 慮 進 來 那 l2 跟 l-infinity 到 底 哪 一 個 在 attack 的 時 候 是 比 較 好 的 距 離 呢 以 下 我 舉 一 個 例 子 來 跟 大 家 說 明 好 這 是 一 張 圖 片 假 設 這 個 圖 片 只 有 四 個 pixel 而 已 現 在 啊 我 們 把 這 張 圖 片 做 兩 種 不 同 的 變 化 第 一 個 變 化 是 這 四 個 pixel 的 顏 色 都 做 了 非 常 小 的 改 變 第 二 種 變 化 是 只 有 右 下 角 這 個 pixel 它 的 顏 色 被 改 了 而 且 改 的 是 比 較 大 的 如 果 我 們 今 天 在 計 算 l2 的 norm 的 時 候 這 兩 張 圖 片 的 l2-norm 和 這 兩 張 圖 片 的 l2-norm 是 一 樣 的 上 面 這 張 圖 片 是 下 面 這 張 圖 片 四 個 pixel 都 改 過 以 後 的 結 果 上 面 這 個 中 間 這 個 圖 片 是 下 面 這 個 圖 片 就 下 面 這 個 圖 片 是 中 間 這 個 圖 片 只 有 右 下 角 的 pixel 改 動 以 後 的 結 果 那 這 個 改 動 是 比 較 大 的 這 兩 個 變 化 他 們 的 l2 的 norm 是 一 樣 的 而 但 是 如 果 你 看 l-infinity 的 話 它 們 是 不 一 樣 的 因 為 l-infinity 只 在 意 最 大 的 變 化 量 那 對 於 l-infinity 而 言 這 個 改 變 它 的 最 大 的 變 化 量 跟 這 個 改 變 它 最 大 的 變 化 量 下 面 這 個 改 變 它 最 大 的 變 化 量 是 比 較 大 的 上 面 這 個 改 變 最 大 的 變 化 量 是 比 較 小 那 如 果 從 這 個 例 子 來 看 l-infinity 跟 l2 哪 一 個 比 較 接 近 人 類 的 感 知 能 力 呢 也 許 應 該 是 l-infinity 吧 因 為 對 你 來 說 其 實 這 兩 張 圖 片 我 相 信 多 數 人 你 可 能 都 看 不 出 它 們 之 間 有 什 麼 差 別 那 我 跟 你 保 證 它 們 兩 個 之 間 是 有 差 別 的 就 它 們 是 有 非 常 非 常 微 小 的 差 別 只 是 它 的 差 別 是 分 布 在 每 一 個 pixel 上 面 而 這 下 面 這 兩 個 改 變 呢 你 會 很 明 顯 的 看 到 右 下 角 這 個 綠 色 它 的 顏 色 變 深 了 雖 然 這 另 外 這 三 個 pixel 的 顏 色 是 固 定 的 右 下 角 的 顏 色 一 變 深 你 就 發 現 有 圖 片 有 變 化 就 發 現 這 個 圖 片 有 做 到 有 做 了 某 種 修 改 所 以 看 起 來 l-infinity 也 許 更 符 合 實 際 的 需 求 我 們 要 避 免 被 人 類 我 們 要 避 免 被 人 類 發 現 光 是 l2 小 是 不 夠 的 我 們 要 讓 l-infinity 小 才 是 最 好 的 才 是 比 較 不 會 被 發 現 所 以 在 作 業 裡 面 我 們 是 用 l-infinity 來 當 做 我 們 的 限 制 來 當 做 攻 擊 那 我 們 作 業 就 是 要 去 攻 擊 一 個 judgeboi 上 面 的 那 個 像 辨 識 系 統 產 生 出 來 的 圖 片 我 們 會 有 所 限 制 說 新 的 圖 片 跟 舊 的 圖 片 跟 原 來 benign 圖 片 的 差 距 要 小 於 某 一 個 threshold 那 我 們 在 定 這 個 差 距 的 時 候 我 們 就 是 選 擇 l-infinity 那 實 際 上 這 個 差 距 要 怎 麼 定 才 是 比 較 好 這 個 也 要 憑 domain knowledge 我 們 剛 才 舉 的 例 子 是 影 像 上 的 例 子 如 果 我 們 今 天 要 攻 擊 的 對 象 其 實 是 一 個 跟 語 音 相 關 的 系 統 我 們 的 x 跟 x0 其 實 都 是 聲 音 訊 號 那 什 麼 樣 的 聲 音 訊 號 對 人 類 來 說 聽 起 來 有 差 距 那 就 不 見 得 是 l2 跟 l-infinity 了 你 就 要 去 研 究 人 類 的 聽 覺 系 統 看 看 人 類 對 什 麼 頻 態 的 變 化 特 別 敏 感 那 根 據 人 類 的 聽 覺 系 統 來 制 定 比 較 適 合 的 x 跟 x0 之 間 距 離 的 衡 量 方 式 那 這 個 部 分 就 是 需 要 用 到 domain knowledge 好 那 我 們 現 在 已 經 有 了 我 們 的 optimization 的 問 題 我 們 要 做 的 事 情 就 是 我 們 要 去 minimize 是 一 個 loss 那 現 在 我 們 要 找 一 個 x 去 minimize 這 個 loss 但 是 這 個 x 我 們 是 有 限 制 的 x 跟 x0 它 們 的 distance 要 小 於 等 於 x 那 這 個 問 題 到 底 要 怎 麼 解 呢 我 們 先 把 這 個 限 制 拿 掉 如 果 把 這 個 限 制 拿 掉 你 會 不 會 解 這 個 問 題 呢 你 其 實 會 解 這 個 問 題 因 為 這 跟 我 們 train 一 個 模 型 其 實 沒 有 什 麼 差 別 啊 我 們 在 第 一 堂 課 的 時 候 就 列 過 這 個 optimization 的 問 題 給 你 看 告 訴 你 說 你 可 以 調 你 的 network 的 參 數 去 讓 一 個 loss 最 小 我 們 今 天 只 是 把 參 數 改 成 network 的 input 而 已 就 這 樣 你 就 把 input 那 一 張 image 看 作 是 network 參 數 的 一 部 分 然 後 minimize 你 的 loss function 就 結 束 了 現 在 network 的 參 數 是 固 定 的 我 們 只 去 調 input 部 分 讓 input 的 部 分 去 改 變 去 minimum 一 個 loss 就 結 束 了 用 的 一 樣 是 gradient descent 怎 麼 做 呢 你 就 這 樣 做 啦 就 是 你 要 先 有 個 initialization 嘛 我 們 現 在 找 的 對 象 不 是 network 參 數 是 x 是 你 input 的 image 但 是 它 還 是 需 要 一 個 初 始 化 的 值 對 不 對 你 還 是 需 要 一 個 做 gradient descent 的 時 候 初 始 化 的 值 那 初 始 化 的 值 設 什 麼 樣 的 數 值 比 較 好 呢 你 可 能 不 會 從 隨 機 的 image 開 始 你 可 能 會 從 x0 開 始 因 為 我 們 本 來 就 希 望 說 我 們 新 找 到 的 x 應 該 跟 x0 越 接 近 越 好 嘛 那 你 何 不 就 從 x0 開 始 找 呢 你 從 x0 開 始 找 你 接 下 來 找 出 來 的 x 可 能 就 會 跟 x0 比 較 接 近 所 以 你 初 始 化 的 x 你 會 初 始 化 的 這 個 x0 就 直 接 設 x0 然 後 接 下 來 就 跟 一 般 的 gradient descent 是 一 模 一 樣 的 我 們 就 是 iterative 去 update 你 的 參 數 你 就 設 一 個 iteration t 等 於 1 到 t 然 後 在 每 一 個 iteration 裡 面 你 都 會 計 算 gradient 只 是 這 個 gradient 不 是 network 參 數 對 loss 的 gradient 我 們 現 在 已 經 不 管 network 參 數 了 而 是 input 那 一 張 image x 對 於 loss 的 gradient 那 input 這 個 x 它 也 是 一 個 很 長 的 向 量 嘛 它 裡 面 就 是 有 x1 x2 x3 嘛 你 就 去 計 算 這 個 input image 裡 面 每 一 個 數 值 對 l 的 偏 微 分 就 x1 對 l 的 偏 微 分 x2 對 l 的 偏 微 分 算 出 來 算 出 一 個 gradient 用 這 個 gradient 去 update 你 的 image 就 結 束 了 所 以 你 本 來 的 image x0 它 就 減 掉 這 個 gradient 那 前 面 你 也 會 乘 上 一 個 learning rate 就 跟 一 般 gradient descent 是 一 模 一 樣 的 只 是 要 做 gradient descent 的 對 象 從 參 數 換 成 input 而 已 其 他 都 是 一 樣 的 也 有 learning rate 那 些 什 麼 東 西 統 統 都 有 乘 上 一 個 gradient 乘 上 learning rate 減 掉 原 來 的 image 然 後 就 得 到 新 的 image 你 可 以 iteration 地 跑 就 跟 一 般 的 gradient descent 是 一 模 一 樣 的 但 是 這 個 是 在 沒 有 constraint 的 前 提 接 下 來 我 們 得 把 constraint 加 進 去 因 為 一 般 我 們 在 做 gradient descent 的 時 候 我 們 並 沒 有 把 那 個 gradient descent 的 對 象 做 什 麼 限 制 我 們 並 沒 有 設 限 說 我 們 的 參 數 一 定 要 長 什 麼 樣 子 那 現 在 我 們 是 有 限 制 的 我 們 限 制 說 x 跟 x0 他 們 的 差 距 一 定 要 小 於 等 於 ε 那 要 怎 麼 處 理 這 個 問 題 呢 你 就 在 你 的 gradient descent 裡 面 再 加 一 個 module 欸 我 發 現 說 快 那 個 5 點 20 了 今 天 我 們 需 要 在 5 點 20 左 右 就 結 束 了 所 以 我 們 等 一 下 可 能 會 需 要 講 到 一 個 段 落 就 結 束 它 這 樣 子 好 這 個 我 們 要 跑 gradient descent 這 個 演 算 法 但 是 我 們 要 同 時 考 慮 x0 跟 x 之 間 的 差 距 怎 麼 考 慮 這 件 事 情 呢 這 邊 呢 這 個 方 法 說 穿 了 不 值 錢 非 常 地 簡 單 如 果 你 update 完 你 的 參 數 以 後 發 現 x0 跟 x 我 這 邊 應 該 要 用 xt 比 較 正 確 啦 我 這 邊 應 該 要 用 xt 比 較 正 確 你 update 完 你 的 參 數 以 後 發 現 你 的 xt 跟 x0 的 差 距 大 於 ε 以 後 你 就 做 一 個 修 改 把 xt 做 個 修 改 把 它 改 回 符 合 限 制 就 結 束 了 舉 例 來 說 假 設 我 們 現 在 用 的 是 l-infinity 我 們 的 這 個 x0 在 這 個 地 方 那 我 們 的 x 它 可 以 存 在 的 範 圍 就 只 有 這 個 方 形 框 框 的 範 圍 對 不 對 因 為 l-infinity 是 考 慮 x0 跟 x 之 間 最 大 的 差 距 所 以 出 了 這 個 框 架 的 差 距 就 會 超 過 ε 所 以 今 天 呢 你 在 做 完 這 個 gradient descent 用 gradient 去 update 你 的 x 以 後 它 一 定 還 是 得 要 落 在 這 個 框 框 裡 面 才 行 那 怎 麼 保 證 update 以 後 一 定 落 在 這 個 框 框 裡 面 呢 你 就 只 要 update 超 出 了 框 框 就 把 它 拉 回 來 就 結 束 了 所 以 今 天 這 個 步 驟 如 果 做 完 你 發 現 你 得 到 藍 色 這 個 點 跑 出 框 框 了 怎 麼 辦 在 框 框 裡 面 找 一 個 跟 藍 色 的 點 最 近 的 位 置 把 藍 色 的 點 拉 進 來 就 結 束 了 就 結 束 了 好 那 其 實 這 種 attack 有 非 常 多 不 同 的 變 形 我 想 你 在 文 獻 上 可 以 找 到 各 式 各 樣 的 attack 方 法 但 其 實 它 們 的 精 神 都 不 脫 我 們 今 天 講 的 這 個 事 情 那 它 們 通 常 不 一 樣 的 地 方 都 是 要 嘛 是 constraint 不 一 樣 要 嘛 是 optimization 的 方 法 不 一 樣 但 是 通 常 都 還 是 用 gradient descent 它 們 的 精 神 還 是 一 樣 的 只 是 這 邊 你 可 能 會 有 不 同 的 optimizer 這 邊 你 可 能 會 有 不 同 的 限 制 它 就 變 成 不 同 的 attack 方 法 但 它 們 精 神 都 不 脫 我 們 今 天 跟 大 家 舉 的 這 個 例 子 好 那 接 下 來 呢 我 們 跟 大 家 介 紹 一 個 最 簡 單 的 attack 的 方 法 也 是 作 業 裡 面 你 要 過 這 個 應 該 是 過 medium baseline 所 用 的 方 法 然 後 這 個 方 法 是 什 麼 呢 這 個 方 法 它 叫 做 fgsm 它 可 以 過 medium baseline 嗎 喔 它 不 能 過 medium baseline 它 只 能 過 simple baseline 好 這 個 fgsm 它 是 怎 麼 做 的 呢 非 常 地 簡 單 它 叫 做 fast gradient sign method 縮 寫 它 怎 麼 做 呢 它 就 像 是 一 個 一 拳 超 人 一 樣 它 只 用 一 擊 本 來 一 般 你 在 做 gradient descent 的 時 候 你 要 update 參 數 很 多 次 但 是 fgsm 它 厲 害 的 地 方 就 是 它 決 定 只 update 一 次 參 數 看 看 能 不 能 夠 一 擊 必 殺 一 擊 就 找 出 一 個 可 以 attack 成 功 的 image 所 以 首 先 呢 本 來 要 iterative 的 去 update 參 數 但 是 現 在 不 用 我 們 只 做 一 次 的 攻 擊 我 們 只 做 一 次 的 attack 然 後 g 這 邊 呢 它 做 了 一 個 特 別 的 設 計 那 至 於 為 什 麼 做 這 個 特 別 設 計 大 家 再 去 看 一 下 原 始 文 獻 可 以 了 解 當 初 為 什 麼 會 有 這 樣 的 想 法 它 說 我 們 不 要 直 接 用 這 個 gradient descent 的 值 我 們 給 它 取 一 個 sign 這 個 sign 是 什 麼 意 思 這 個 sign 的 意 思 是 說 如 果 括 號 裡 面 的 值 大 於 0 我 們 就 輸 出 1 括 號 裡 面 的 值 小 於 0 我 們 就 輸 出 -1 所 以 加 了 sign 以 後 這 個 g 這 個 vector 啊 它 裡 面 要 嘛 是 1 要 嘛 是 -1 本 來 如 果 你 是 算 gradient 它 的 值 可 以 是 任 何 的 real number 但 現 在 取 sign 它 要 嘛 是 1 要 嘛 是 -1 所 以 g 裡 面 就 都 是 1 或 者 是 -1 然 後 learning rate 呢 learning rate 就 設 ε 就 看 你 這 邊 的 這 個 ε 設 多 大 這 邊 learning rate 直 接 設 一 個 一 模 一 樣 的 直 接 設 個 一 模 一 樣 的 會 得 到 什 麼 效 果 呢 會 告 訴 會 得 到 的 效 果 就 是 你 攻 擊 完 以 後 你 一 定 落 在 這 個 藍 色 框 框 的 四 個 角 落 的 地 方 因 為 你 想 想 看 哦 這 個 g 它 要 嘛 是 1 要 嘛 是 -1 它 每 一 維 要 嘛 是 1 要 嘛 是 -1 那 前 面 會 乘 上 ε 所 以 乘 完 ε 以 後 你 今 天 的 x0 要 嘛 就 是 往 右 邊 移 ε 要 嘛 就 是 往 左 邊 移 ε 要 嘛 就 是 往 上 移 ε 要 嘛 就 是 往 下 移 ε 所 以 今 天 做 完 一 次 攻 擊 以 後 你 的 這 個 x0 做 完 一 次 攻 擊 以 後 它 一 定 會 挪 到 這 個 四 方 形 的 四 個 角 落 的 地 方 它 一 定 是 這 四 個 角 落 的 其 中 一 個 那 光 做 這 件 事 光 做 這 個 一 擊 往 往 就 可 以 必 殺 所 以 這 個 你 可 以 過 simple baseline 那 有 同 學 就 會 問 說 一 擊 必 殺 有 什 麼 好 呢 如 果 我 多 攻 擊 幾 次 多 跑 幾 個 iteration 結 果 不 會 更 好 嗎 會 更 好 所 以 多 跑 幾 個 iteration 就 過 medium baseline 就 這 樣 子 好 所 以 怎 麼 多 跑 幾 個 iteration 你 就 把 本 來 是 只 跑 一 個 iteration 啊 現 在 就 多 跑 幾 個 iteration 啊 幾 個 iteration 你 要 跑 幾 個 iteration 高 興 都 是 你 自 己 設 就 設 個 比 如 說 3 啊 5 啊 10 啊 多 跑 幾 個 iteration 那 但 是 多 跑 幾 個 iteration 的 壞 處 是 你 有 可 能 一 不 小 心 就 出 界 有 可 能 一 不 小 心 就 跑 出 了 這 個 四 方 形 的 範 圍 那 跑 出 四 方 形 的 範 圍 後 怎 麼 處 理 呢 非 常 簡 單 把 它 拉 回 來 就 結 束 了 你 就 看 說 在 這 如 果 這 個 藍 色 的 點 update 以 後 跑 出 這 個 四 方 形 你 就 看 這 四 個 角 落 哪 一 個 角 落 跟 藍 色 的 點 最 近 就 選 那 個 角 落 就 結 束 了 好 這 個 就 是 iterative 的 fgsm 它 可 以 幫 你 過 medium 的 baseline 好 那 講 到 這 邊 呢 因 為 也 五 點 半 了 也 許 正 好 告 一 個 段 落 我 們 在 這 邊 就 先 下 課 了 那 大 家 有 問 題 呢 其 實 還 是 可 以 繼 續 留 下 來 問 那 我 們 其 實 就 到 外 面 去 討 論 好 我 們 就 下 課 了 
Okay, let's talk about the next topic Let's discuss Adversarial Attack We'll cover the topic of Adversarial Attack What are we going to talk about? What we're going to discuss here is In our homework We've trained quite a lot of Various types of neural networks Of course, we hope to Apply these techniques to real-world applications But just applying these networks to real applications Implementing these networks in real applications Just their high accuracy isn't enough What more capabilities are they needing? They need to be able to manage human msalice What does malice from humans mean? Sometimes your Network Its job is to detect some malicious behaviors If its job today is to detect malicious activities The objects that it needs to detect We will try to trick the network Network under normal circumstances Getting a high accuracy rate is not enough It must function even when someone attempts to deceive it To also get a high accuracy rate. For example, we will use Network today To do E-Mail Filtering You would use the network to detect an email Is it a spam email or not As for a spam e-mail sender today He will also try his best to avoid it. His emails being classified as spam If someone today tries to change the content of the email If you want to deceive the network Can the Network not be deceived So today, we hope our neural network Its high accuracy rate is not enough We hope it can withstand the malice of humans For example, this is the ant king, do you understand? It is called Meloem It is at the top of the biology It's a pinnacle existence in biology It is extremely strong Humans can't beat it It will annihilate all humans But humans did not fight it Humans don't respect martial ethics What if humans just drop a nuclear bomb to kill it directly Then the story ended just like that Okay, so what does this tell us This tells us that For Network, high accuracy alone is not enough It must be able to deal with malice from humans Okay, next we are going to talk about human malice It could be in any form Let's first look at a real example Today, we are in many assignments We have already trained the image recognition model That is, you have an image recognition system Give it a photo It can tell us What kind of category does this photo belong to The task we're supposed to do today is Adding a very small amount of noise on this picture A photo can be seen as a very long vector We add on this very long vector Add a small amount of noise to each dimension Throw this photo with added noise into the Network Let's see what happens Usually, this noise is very, very small How small could it be It should be so small that it's invisible to the human eye So the noise added in this example is actually too large Generally, this noise is so small that the human eye can't detect it An image with added noise is called an Attacked Image Photos that have been attacked What about the photos that haven't been added to the noise yet We generally call it Benign Image It's a good image It's a picture that hasn't been attacked The Benign Image is thrown into the Network Its output is a cat We expect that the Attacked Image At this moment, we are the attackers, we are the villains We hope to throw the Attacked Image into the network Its output can't be a cat It has to become something else Well, the attacks can roughly be divided into two types One type is aimless attack An attack without a target is The original answer is cat As long as you can make the Network's output not a cat Even if you succeed But there is another harder attack It's a targeted attack. That is, we hope that the Network It's output can't be just a cat And also output something else For example, we hope that after adding noise The output of the Network is a starfish It misjudged the cat to be a starfish Only then is it considered a successful attack Okay, so could such an attack really be possible? We can actually introduce a noise that is imperceptible to the naked eye. Does it change the output of the network? Actually, it's possible The Network used here is not a weak Network It's a 50-layer ResNet When we take a benign image that hasn't been attacked When thrown into a 50-layer ResNet Its output is Tiger Cat Do you know today's image recognition system Its output will not only tell you what animal it is It will also tell you which species of animal it is So it gives this cat It not only says it's a cat It also referred to it as Tiger Cat However, it is said that this answer is actually wrong Reportedly, this cat is not a Tiger Cat But that doesn't matter Anyway, as long as it recognizes that this is a cat, that's fine At least we know it's a feline animal Okay, it also has a confidence score The confidence score is 0.64 What is the score of this confidence? This score of confidence is After finishing that Soft Mask The score received Let's say you have 2000 categories for image classification Each of the 2000 categories will have a score This score is definitely between 0 and 1 And the scores of 2000 categories added together It happens to be just 1 Given that there are 2000 categories, that's a lot. The Tiger Cat can score 0.64 Actually, that's pretty high Next, we will work on this benign image Add some noise The target we're hoping to successfully attack now It's about turning Tiger Cat into a starfish. And this is what the image looks like after being attacked You might ask, where is the noise added? The noise has been added But it's incredibly small The noise is so small that it cannot be seen by the naked eye After throwing this picture into ResNet What would happen then? The output of ResNet becomes a starfish And its confidence score is 100% Initially, it wasn't so sure whether this was a cat or not. Now it's hundred percent certain It's a starfish In order to prove There are still some differences between these two photos We subtract it Just subtracting is not enough After the subtraction is done We need to magnify their difference by 50 times You will end up with this conclusion So these two photos are indeed a bit different I did not duplicate the same photo twice to trick you They are a bit different But it's impossible for humans to detect, What kind of impact can this difference lead to? But as for ResNet Yet it has drastically different outputs Maybe some people would think Ah, maybe it's because cats and starfish have some sort of special relationship We can turn cats into starfish is just a special case This is not an exception You can easily turn this cat into anything you want I can completely add another noise Let this cat turn into a keyboard But its confidence score is as high as 0.98 Initially, I wasn't sure if it was a cat Now adding another noise The Network is 98% certain that it is a keyboard Some people might think that Hey, how could such an outrageous behavior happen Could it be this network is too poor I want to tell you, it has 50 layers. It's certainly not a terrible network. If what you add is only general noise It doesn't necessarily make mistakes This is the original picture We are now adding a piece of noise This noise is visible to the naked eye You can clearly see This picture has been added with noise At this moment, ResNet thinks What it sees is a Tabby Cat This might be the correct answer But regardless, it knows it's a feline You need to increase the noise a little more It says this is a Persian Cat Perhaps the noise can be increased a little This cat looks fluffy So ResNet thinks it sees a Persian cat The noise is boosted even more You might not know what this is At this moment, ResNet says It saw the Fire Screen What exactly is Fire Screen I googled and found out Fire Screen looks like this Here it's entirely possible to understand why the machine gets it wrong It thinks the noise in the front is this screen And this orange cat in the back is a flame Even though it makes mistakes, its mistakes have dignity The mistake it made is reasonable But for some reason When we add a noise that the human eye cannot see However, it has produced results that are worlds apart Next, let's discuss why this happened before we proceed Let's look at the attack we just mentioned How exactly was it accomplished? How on earth did we add a very small noise And this very tiny noise It can make the Network produce extremely incorrect results And this is our Network It's a function that we call f The input of this function is a picture We call it x0 Its output is a Distribution. This is the result of this classification We call it y0 So, let's assume here that the parameters of the Network are fixed We're not discussing the parameters of the Network. The parameters of the Network are not our focus today So it's fixed If it is a Non-Targeted Attack How do we find the noise of Non-Targeted Attack What we are aiming for now is We need to find a new image The new picture, we use x to represent When we input x into this Network f Its output is y And we hope that Y can match the correct answer Our correct answer is called ŷ We want the gap between y and ŷ to be as large as possible We are currently experiencing a Non-Targeted Attack Attacks without a target We just need to know the correct answer is ŷ The bigger the gap between the output of the network and the correct answer, the worse We would consider the attack successful How do we achieve this? How to find this x After throwing it into a network The greater the difference between the y it produces and ŷ, the better it is We also have to solve an optimization problem This is related to the Network we trained They're actually very similar First, let's define a Loss Function This loss function It’s called L Called L What is this L The L here represents the difference between y and ŷ Take a negative sign For example Generally when we do Classification Our training target y and ŷ Is all about its Cross Entropy Then we have `-e(y, ŷ)` This term represents the Cross Entropy between y and ŷ But we hope that this Cross Entropy will be as high as possible. So today, we're adding a negative sign in front of Cross Entropy And this negative Cross Entropy is our loss And we hope the smaller the loss, the better We are hoping to find an x x can make L(x) as small as possible The smaller L(x), it indicates that y is close to ŷ The larger their Cross Entropy, In other words, the larger the distance between y and ŷ, This is an attack without a target If it is a targeted attack We will first set our goals We use y target to represent our goal Then ŷ is actually a One-Hot Vector The y target is also a One-Hot Vector Now we hope that this y is not just better the further it is from ŷ Moreover, we want to be as close as possible to the y target So suppose your y target is a Fish You hope that the y you output, Not only should the probability of Cat be as low as possible The probability of Fish should be as high as possible. Then your Loss Function would be written like this Our loss function Is the negative of the Cross Entropy between y and ŷ The hope is that the larger this item, the better At the same time, you hope for a difference between y and y target Better be as small as possible, Add these two items together to get your Loss You hope to find an x To minimize this loss But just finding an x Minimizing Loss is not enough Because we are actually expecting The smaller the noise we add, the better Namely, the new image we found Images that can trick the Network The closer we can get to the original image, the better The closer x and x0 are, the better So when we solve this When dealing with Optimization problems We will add another limitation This limitation is d(x0,x) It is less than or equal to Σ Then d(x0,x) is less than or equal to Σ What does it mean? What it means is We hope the difference between x and x0 Less than a certain threshold Less than a certain threshold What is this threshold based on? Usually, it's determined based on human perceptual capabilities We assume if x and x0 Their difference is greater than this d(x0, x) It represents the gap between the two of them I will discuss it in the next slide How to calculate the difference between two images If the gap between x0 and x is greater than Σ We assume that people will see this noise People will notice a noise So, we want to reduce the difference between x0 and x Less than or equal to Σ It is less than or equal to the limit that humans can perceive. Then we can generate a picture To humans, x and x0 look exactly the same But its impact on the Network is They are very different Okay, so how do we measure the distance between x and x0? What's the distance between them d(x0,x) represents the distance between them There are various different algorithms. In order to facilitate the writing of equations later We suppose that x is a vector, Because it's a picture, it's a vector X0 is another picture It is also a vector We call the subtraction of these two vectors Δx And this distance You can define L2-Norm as their distance, That is, you can calculate the L2-Norm of Δx The L2-Norm of Δx is the first digit of this Δx Take it out and square it The square of the second number is taken Take the square of the third one Here, you can actually take the square root it if you want It depends on your definition of L2-Norm You are also allowed to take the square root, Well, there is another definition, which is L-Infinity How does one interpret L-infinity? It then takes this Δx And then see which dimension inside has the maximum absolute value So this one is L-Infinity Let's consider Δx1 Δx2 Δx3 That is, take the absolute value of each dimension of Δx Look at who is the largest The largest one represents the distance between x and x0 Okay, there are various methods We can calculate the distance between two pictures But which method we choose to use When it comes to calculating the distance of the image In fact, we should take human perception into consideration So, between L2 and L-Infinity, which one It's a better distance when attacking Next, I'll provide an example to explain Alright, this is a picture. Assume this picture only has four Pixels Right now We make two different changes to this picture The first change was the color of these four Pixels There have been very small changes The second change involves only the pixel at the bottom right corner Its color has been changed And the changes are bigger If we are calculating the L2 Norm today The L2-Norm of these two images Has the same L2-Norm as these two pictures The picture above is the picture below The result after all four pixels have been modified The picture in the middle above is the picture below The image below is the image in the middle Only the pixel in the bottom right corner changes the result after its adjustment, The change here is relatively significant The L2 Norm of these two changes is the same But if you look at L-Infinity They are different Because L-Infinity is only concerned with the maximum amount of change As for L-Infinity, The maximum change in this Adjusting it to its maximum variation The maximum change made to the item below is larger The significant change on the top is rather small Then, if we take this example, there are differences between L-Infinity and L2. Which one is closer to human's perception ability Maybe it should be L-Infinity Because for you Actually, these two images I believe most of you probably wouldn't be able to tell What's the difference between them I assure you, there's a difference between them They have very, very slight differences The only difference is that it is distributed on every Pixel And the changes in these two below You can clearly see the green color in the lower right corner Its color has deepened Although the colors of the other three pixels are fixed The color of lower-right corner gets darker Then you'll notice changes in the photos Then it was found that this picture has achieved it Some modifications have been made So it seems that L-Infinity might better meet the actual needs We want to avoid being humans We should avoid being detected by humans Just being small in L2 is not enough We should make L-Infinity smaller This is less likely to be noticed So, in our assignment, we use L-Infinity Let's use this as our limitation To use as an attack So our task is to attack one The one on JudgeBoi Like the image generated by the recognition system We will have certain limitations The new image and the old image The difference from the original Benign Image It needs to be below a certain threshold When we define this difference Therefore, we choose L-Infinity How should we define this gap in reality for it to be better You still need domain knowledge The example we just gave was an image-based example If our target of attack today It's actually a system related to speech Our 'x' and 'x0' are actually audio signals What kind of sound signals It sounds different to humans Then it might not necessarily be L2 and L-Infinity You should study the human auditory system Let's see what frequency changes humans are particularly sensitive to Then, based on the human auditory system to establish A more suitable way to measure the distance between x and x0 This section requires the use of Domain Knowledge. Okay, now we already have it. Our problem with Optimization What we need to do is We need to minimize the loss. Now we need to find an x to minimize this Loss. But there are limitations to this x The distance between x and x0 should be less than or equal to x So, how do we solve this problem Let's first remove this restriction If we remove this restriction Do you know how to solve this problem? You would actually solve this problem Because this is not much different from us training a model, In our first lesson Here, I've shown you this optimization problem Tell you that you can adjust the parameters of your Network To minimize the Loss Today, we're just changing the parameters. Simply the Input of the Network Just like that You take that Image as an Input Consider it as a part of the network parameters Then, you minimize your loss function and you're done The parameters of the network are now fixed We only adjust the input part Let the Input part change End when reaching the minimum loss We're still using the Gradient Descent method How to do it? Just do it this way First, you need to have an initialization The thing we're looking for now is not the Network Parameters it is x It's the Image you input But it still needs an initialization value, right? You still need one. The value initialized when doing Gradient Descent What is a good value for the initial setting? You may not start from a random image You may start from x0 Because we originally hoped that The new 'x' we find should be as close to 'x0' as possible Then why don't you start looking from x0? You start looking from x0 The 'x' you find next might be closer to 'x0' So the x you initialized The x0 you initialize would just be directly set as x0 Then what follows is A regular Gradient Descent is exactly the same We are iteratively updating your parameters Set an Iteration t equals 1 to T. Then in each Iteration You will calculate the gradient But this Gradient is not a parameter of the Network The Gradient of the Loss We no longer care about the Network parameters It is not the Image x in the Input Regarding the gradient of the loss Then this x as Input It's also a very long vector It contains x1, x2, x3, etc. You simply compute within this input image. The partial derivative of each value with respect to L. That is, the partial derivative of x1 with respect to L Partial derivative of x2 with respect to L Calculated Calculate a gradient Using this Gradient The update of your image is finished So your original Image x0 It just subtracts this Gradient You would also multiply a learning rate in the front, It's exactly the same as general Gradient Descent It's just the target of gradient descent. Just change from parameters to input Everything else is the same There are also things like Learning Rate and everything Multiply by a Gradient Multiply by the Learning Rate Subtracting the original Image And then get a new image You can run it iteratively It is just like the usual Gradient Descent But this is under the premise of no constraints Next, we need to add the Constraint Because usually when we do gradient descent We did not take that What restrictions are placed on the target of Gradient Descent? We did not set a limit to say that What should our parameters look like We are now limited We restrict x and x0 Their difference must be less than or equal to ε So how do we deal with this problem? You have it in your Gradient Descent Add another module Uh, I just noticed it's already 5:20 Today we need to end around 5:20 So, we might need something later When a paragraph is reached, it ends just like that Okay, we need to run the Gradient Descent algorithm But we need to consider the difference between x0 and x How should we consider this matter? Over here This method is not really worth it when you get down to it It's incredibly simple If you notice x0 and X after you've updated your parameters I should use xt here to be accurate I should use xt here to be more accurate You find that after you've updated your parameters When the gap between your xt and x0 is greater than ε You just make a modification Modify xt Once it's amended to meet the constraints, it's done For instance Assume we're currently using L-Infinity Our x0 is here The range where our x can exist There's only this square range, right? Because L-Infinity considers the maximum difference between x0 and x So the gap outside this framework will exceed ε So today after you have completed this Gradient Descent After updating your x with the Gradient It must still fall within this frame How can we ensure that after the Update It must fall into this frame. You will When the update exceeds the box Just pull it back and it's over So if you complete this step today What if you find that the blue dot has run out of the box? Find the closest position to the blue dot in the box The process ends once you pull the blue dot in. It's over Well, in fact, this type of attack has many different variations I think you can find it in the literature Various methods of Attack But in essence, they are not far apart The thing we are talking about today The differences are usually Either the Constraint is different Either the method of Optimization is different But usually, we still use Gradient Descent Their spirit remains the same It's just that you may have different Optimizers here Here, you may encounter different constraints Then it becomes a different attack method But their spirit is not lost The example we bring up today Okay, what comes next Let us introduce to you the simplest method of Attack And it's also one you need to get through in your homework This should be the method used by Medium Baseline So what is this method? This method is called FGSM Can it pass the Medium Baseline Oh, it can't exceed the medium baseline It can only get through Simple Baseline Okay, how does this FGSM work It's very simple It's called Fast Gradient Sign Method, abbreviated How does it do that It's like a one-punch man It only takes one hit Usually, when you do gradient descent You need to update the parameters multiple times But the brilliance of FGSM is It decides to only update parameters once Let's see if we can kill in one strike Find an image that can be successfully attacked with one strike So, first of all, Originally, we were supposed to update the parameters iteratively But now there's no need We only perform the attack once We only do one Attack And about G this side... It has a special design As for why this special design is done Let's refer back to the original literature You can understand why such a concept was proposed in the first place It says we should not use this directly The value of Gradient Descent We take a sign for it What does this sign mean? The meaning of this sign is If the value inside the parenthesis is greater than 0 We then output 1 If the value in the parenthesis is less than zero We output -1 So, after adding the Sign This vector g, It could be either 1 or -1 inside Originally, if you are calculating the gradient, Its value can be any real number But now we take the sign It is either 1 or -1 Therefore, all the values in g are either 1 or -1. Then what about the Learning Rate Set the learning rate to ε It depends on how large you set this ε here The learning rate here is set the same directly What effect would setting an identical one directly have? Will tell you The effect we will get is After your attack, You must land in the four corners of this blue box Because if you think about it This 'G' can either be 1 or -1 Each of its dimensions is either 1 or -1 The value in front is multiplied by ε So after multiplying by ε Your x0 today Or move to the right by ε Or move to the left by ε Either move up by ε Either move down by ε So after completing an attack once After completing one attack with your X0 It will certainly move to the corners of this square, It has to be one of the four corners Just doing this alone A single strike often suffices for a kill So you can go over the Simple Baseline Then some students would ask about the benefit of one-shot kills. If I attack a few more times Would running more iterations produce better results? It would be better So run a few more Iterations Just go through Medium Baseline like this Alright, so how to run more iterations You just do what would have been done in one iteration Just run a few more iterations now Several iterations How many Iterations do you need to run Happiness is what you set for yourself Let's set it to 3, 5, or 10 for example Run a few more Iterations However, the downside of running more iterations is... You could possibly step out of bounds accidentally It's possible to accidentally step out of this square range. So, how do we handle it when we step out of the square range? It's very simple Pull it back and it's done You see, this is where After the blue point is updated Square shapes are formed Just look at these four corners Which corner is the closest to the blue dot Just choose that corner And it’s over. Alright, this is the iterative FGSM It can help you pass Medium's Baseline Okay, let's stop here Because it's already five-thirty Perhaps to tell a paragraph We’ll end the class here Does anyone have a question? In fact, you can continue to stay and ask Then, let's take the discussion outside. Okay, class is dismissed 