讓 AI 不再黑箱,科技部與台大發表 XAI 可解釋性人工智慧模組 xCos

簡單來說,過去機器學習訓練出來的 AI 只能告訴你機率多少、該不該做,但無法跟你講背後的理由是什麼。例如過去的人臉辨識 AI 只能說這張照片是不是羅志祥,但今天發表的 XAI ,就能徹底說明為什麼過去下巴圓卻還能判別這張照片是小豬!
評論
▲xCos能判斷年輕跟現在羅志祥是同一人,而且能解釋為什麼會產生變化。Photo Credit:截自科技部提供之簡報
評論

本文為科技部提供之新聞稿,經 INSIDE 編審後刊載。

科技部今(11)日召開記者會,邀請臺灣大學人工智慧技術暨全幅健康照護聯合研究中心(以下簡稱臺大 AI 中心)轄下的徐宏民教授團隊,發表該團隊在科技部的支持下所開發出的可解釋性人工智慧(Explainable AI ,XAI)模組 xCos。

這組 AI 特別之處在於,模組除了具備高辨識率的人臉辨識能力外,還可有條理的解釋 AI 產出結果的原因,不僅可協助國內外相關業者開發 AI 辨識技術、明白 AI 決策建議背後的理由,更能提升人類對於使用 AI 的信任度。

世界頂尖的人臉辨識技術再精進

徐宏民教授表示,團隊過去三年透過產學合作,協助幾家軟硬體公司開發人臉辨識產品。在深度模型設計過程中會遭遇 AI 人臉辨識結果跟我們大腦直覺無法吻合的案例,不曉得判斷的依據為何。為解決這樣的問題,團隊花了一年多的時間開發了可解釋性人工智慧(Explainable AI ,XAI)模組 xCos,可以成功解釋為何兩張人臉會辨識為同一人(或另一人)的原因,提出 AI 黑盒子的決策依據、協助人臉辨識產品開發,同時 xCos 會自動留意人臉不自然的表面而專注在真實以及具辨識能力的人臉位置,進而達到偽裝人臉辨識的效果。且經過測試,就算搭配不同的人臉辨識軟體,亦能發揮同樣的功能。

▲xCos的運作原理。Photo Credit:截自科技部提供之簡報
▲另外它也能解釋謝金燕臉部的前後變化。Photo Credit:截自科技部提供之簡報

揭開 AI 的黑盒子,讓 AI 來告訴你「它」的理由

陳良基部長提到,人類總是藉由不斷的提問「為什麼」來釐清問題、尋求突破與找到答案,這也是人類科技能進步的原因。早期的 AI,是基於規則系統(rule-based system)由科學家提供各種判斷依據,讓電腦依流程判斷出結論,例如決策樹等,此方法可以輕易的回頭找出電腦產出成果的原因,具有高度的可解釋性。

近年 AI 已進步到使用深度學習等類神經網路,在快速且大量的消化各式資料後,由電腦自己訂規則,憑著數以千萬計的條件產出更高精準度的答案,但逐漸的,人們開始注意到 AI 無法詳細說明「它」做出決定的推理過程與原因,在得不到滿意的回答之前,將讓人駐足不前,不敢放心地運用 AI 解決問題,甚至質疑其決策行為。

根據資誠聯合會計師事務所 (PricewaterhouseCoopers,PwC) 指出,人工智慧具有 15 兆美元的市值,但當前的關卡就是 AI 缺乏解釋性。現階段的 AI 只看到了輸入的資料及輸出的結果,中間的判斷依據與過程難以捉摸,就如黑盒子般,倘能理解 AI 如何做出判斷,確認決策的合理性,未來才能更進一步改善與強化模型可靠性,因此,可解釋性人工智慧(XAI)成了近年來各國 AI 研究領域的趨勢之一,包括美國國防高等研究計劃署(DARPA)於 2018 年宣布投入 20 億美金推動的 AI 計畫中,AI 的可解釋性就是其中重要的一環。

可解釋性與高相容性,加速相關應用技術開發與產業提升

徐宏民教授說,這套 XAI 模組 xCos 除了可供末端的使用者了解人臉辨識結果的原因外,更可協助開發人員探究及檢視系統的運作機制,該團隊為加速技術擴散與落地應用,所研發之可解釋性 AI 模組 xCos 可與其他人臉辨識系統作相互搭配,團隊亦已將這項技術以 Open Source 方式供國內外產學研單位使用(https://github.com/ntubiolin/xcos),希望將其相關理念拓展至其他深度學習相關應用中,同時也正將 XAI 技術擴展到其他領域關鍵性的人工智慧決策系統。

例如目前的 AI 僅告知發電廠未來 1 小時是否要增加發電量,但 XAI 可以補充說明是因為預測氣候的改變或今日有特殊節慶等;AI 可以說出 X 光片是否有肺炎徵兆,但 XAI 可更進一步解釋判斷的依據以及指出病徵的位置,這些 XAI 的應用,都可強化人民對 AI 的信任,更可協助系統開發人員進一步檢視 AI 判斷是否合理,便以改善與強化 AI 模型,進而促進國內外 AI 技術與相關產業進展。

徐宏民教授團隊在科技部的長期支持下,自 2011 年便開發出第一套行動裝置上的人臉搜尋系統,之後不斷自我挑戰包括跨年紀的臉部辨識能力、偽裝人臉辨識等,前於 2018 年在全球三大電腦視覺頂尖會議之一的 CVPR 偽裝人臉辨識競賽(Disguised Faces in the Wild)中,以辨識率唯一超過 9 成之姿,技壓群雄奪下全球冠軍。

陳良基表示,科技部自 2017 年宣布人工智慧(AI)科研戰略,引導臺灣成為 AI 發展重鎮,續於 2018 年起補助臺灣四所頂尖大學成立 AI 創新研究中心,包含臺灣大學(核心技術與生技醫療)、清華大學(智慧製造)、交通大學(智慧服務)及成功大學(生技醫療)。

責任編輯:Chris
核稿編輯:Mia


開發者享受 CI/CD 價值!運用 Amazon EKS 整合 GitLab 創建自動化部署

企業如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署,減輕人力負擔,提升專案服務運作效率?
評論
評論

所謂現代化智慧 IT,所有工程師最希望的境界,莫過於只要輕鬆點幾下設定,系統就會自動跑起來,管理者再也不用隨時待命在機台旁邊,從此工作悠哉又快樂!儘管這樣情境還沒到來,但隨著敏捷式開發的流行,除了 DevOps 人員,有越來越多開發者將 CI/CD 概念融入到工作流程當中,例如從 build code、執行 unit test、到部署應用程式。

打造第一個在 AWS 上的應用程式

上述種種反覆步驟自動化執行,也就能提昇服務品質、主動通知開發人員以減輕人力負擔,讓專案服務能持續運作。

其中,GitLab 是執行 CI/CD 常用的工具之一,也是開發者使用程式碼儲存庫的地方。為了讓 GitLab Runner 在雲端快速實踐 CI/CD,《AWS 開發者系列》透過影片分享,如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署。

以下節錄工作坊影音內容,幫助開發者快速理解如何運用 Amazon EKS 的高可用性且安全的叢集,將修補、部署節點、更新等關鍵任務,全部做到自動化設定。同時影片也會示範 Amazon EKS 搭配 GitLab 如何展開自動部署,幫助工程團隊實踐 CI/CD 價值。

Amazon EKS 對容器管理輕鬆簡單、維運省時省力

容器化服務越來越興盛,當容器(Container)越來越多,在複雜的微服務(Microservice)系統環境之下,運維團隊的管理成本可能相對會增加不少,為了有效調度容器部署, 導入Kubernetes 無疑是近年企業熱門的話題之一。

建構 Kubernetes Cluster 流主要可區分兩大塊,一是安排容器調度的Control Plane、另一則是容器運行時需要用到的 Worker Node。

Control Plane 裡面涵蓋有儲存狀態的 ETCD、CoController manager 、Scheduler 的調度管理、甚至是操作時進行互動的 APIServer,若是自己創建 的 Kubernetes Cluster ,需要自己安裝這些元件,後續仍需要對 Control Plane 進行相關管理、維護、升級工作。為了減少上述 Components 的繁複維護,在透過 AWS EKS 代管的 Kubernete Control Plane 部可以獲得以下三大好處。

透過 AWS 增加雲端技能 在組織發揮影響力

Amazon EKS 一鍵式部署,展現三大優勢

第一,Amazon EKS代管的 Control Plane實踐了跨AZ的高可用部署,使用者不需要擔心單一節點故障的風險。

第二,Amazon EKS 支持至少四個 Kubernetes版本,持續跟進每季 CNCF 的發佈,同時 EKS 也完全符合上游 CNCF 規範。

第三,部署 Amazon EKS 之後,可直接使用 AWS 平台上現成的服務工具,在安全性管理、網路設定方面,可以做到無縫整合。

最後 AWS 台灣解決方案架構師也提到,若想在容器環境進行 CI/CD 及應用程式的管理,可以進一步透過 IaC 整合部署 Amazon EKS 叢集,透過使用 Console、把 EKS 變成 Cloudformation 的模板、使用 AWS 所開發出來的 eksctl.io、或指令是採用 AWS CDK 可以讓開發者用自身熟悉的語言,在 AWS 平台整合 CI/CD 工具進行維運及部署 EKS。

了解 Amazon EKS 整合 GitLab ,獲得三面向價值

對開發者而言,想把 Amazon EKS 整合到 CI/CD 工具之一的 GitLab 平台上,可以看到那些實際的優勢?

在 DevOps 開發者示範工作坊當中,GitLab 資深解決方案架構師指出,GitLab 使用到 Kubernetes 技術,主要有三種搭配方法,包含 GitLab Server、GitLab Runner、以及創建 Deployment Environment。

本次示範教學會主要聚焦在 GitLab Runner 如何採取 Auto-scaled 方式進行 Build、Test、Package Apps;以及在 Deployment Environment 運用 Kubernetes 技術,做到 Auto Deploy、Review App。

正因為 Amazon EKS 能夠在 DevOps 過程提供所需要的彈性計算資源,幫助開發者在 GitLab 平台上面獲得以下三個層次的優勢:

  • 在 GitLab 內建的部署工作流程當中,自動生成整套 CI/CD 最佳實踐腳本。
  • Review App 過程,從 Merge Request 中可直接訪問應用程式 /App 的 UI 介面,並且根據 Git branch 名稱、專案名稱,自動生成 Review App 的 URL,以及在 Merge 前的最後防線進行 Approval 檢查。
  • 加速 CI/CD 流水線,GitLab Runner 運行時候還可藉由 Amazon EKS Cluster 進行 Auto-scaled 的支援。

Amazon EKS 整合 GitLab ,需要兩大流程

影片最後,GitLab 資深解決方案架構師示範如何把 Amazon EKS 整合至 GitLab 執行 Auto Deploy,主要可分為兩大區塊流程,第一部分聚焦在 Amazon EKS cluster 的設置,第二部分則執行 Auto Deploy 設置。

第一塊可拆分為四個階段,首先教學怎麼創建 EC2 節點的 EKS cluster,第二階段示範把 EKS Cluster 連接到開發者的 GitLab Instance、Group 或 Project,下一步則使用 Cluster Management Project Template 創建一個 Cluster Management Project,以及最後一階段透過 Cluster Management Project 自帶的 Helm Chart,安裝在 Cluster 所需要的內建 App。

第二塊執行 Auto Deploy 設置,針對需要部署的 App 創建一個 GitLab Project,接著再把 gitlab-ci.yml 添加到 Project,並從 Web IDE 選擇及導入 Auto Deploy 的 CI 模版,讓 GitLab 自動生成最佳實踐的整套流水線。

幫助開發者更了解 Amazon EKS 整合 GitLab 的 QA 系列

Q:使用 Amazon EKS 之後,如何更有效率或優化資源去配置 Worker Node 的機器數量,以及如何有效空管開發維運的成本?

A:Kubernetes 除了本身有 HPA(Horizontal Pod Autoscaling)可根據使用程度自動調整資源流量,另外也能延伸使用 AWS Auto Scaling 方案,針對可擴展資源去設定自動擴展管理。另外在成本管控,雖然 Amazon EKS 會收取額外管理費用,但可透過 AWS 平台的 Calculato r計算每個 EKS 的價格,你會發現自動化部署及管理的費用,相對工程師人力的成本更加便宜。

Q:越來越多客戶考慮把現有 Application 變成容器部署,大多是爲了加快部署的效率,那麼變成容器模式之後,對 CI/CD 的工作流程有什麽影響嗎?

A:運用容器技術最直接的效果,可以讓應用程式的環境更一致化,例如 testing 環節、stage production,讓容器避開一些差異問題。至於 CD 部分要 delivery 一些 usage 不太一樣的時候,容器會幫忙做配置,所以 CI/CD 對容器的效益是相輔相成的。

Q: 客戶在開發流程漸漸會把 Infrastructure 變成代碼或文檔,是不是可以把程式碼跟現有的應用程式的 CI/CD 流水線整合在一起,達到一套完整的 CI/CD 部署流程?

A:觀察目前市場作法,主要分成兩個階段去做整體部署。如果規模比較小的團隊,會把 Infrastructure 代碼跟 App 代碼分開,在管理上會比較靈活;如果企業規模比較大,會有另外一個 Infrastructure 團隊來控制部署事情,這種情况之下,APP 的項目會生成一個 APP package,主要做到 delivery 這個階段爲止。而 Infrastructure 的項目會指定把需要版本的文檔,部署到他們的 Kubernetes Cluster。

填寫表單 找到適合的快速上雲服務與工具!