AI演化過程
AI 演化的進程可分為弱 AI(Weak AI — 特 別 型)、強 AI(Strong AI —
通用型)、及超級 AI(Super intelligence AI — 超級型)(圖 1),目前仍在弱 AI 的 發展階段。弱 AI
時代,只能針對特別型的應用開發 AI 模型,如只會下圍棋的 Alpha Go,通常以監督式分類方式來訓練模型,而且只能做特殊任務的工作。接 著,AI
可能進化到通用型的強 AI,可透過無監督式分 類方式自我學習,不須經由人類訓練即可學習執行一 項任務,此時 AI 已具多元學習、推理、規劃和表達等
人類的邏輯思考能力。最終,AI 會進化到一個具有超 級智能的機器 — 超級 AI(Super intelligence AI),會自
己思考並解決問題,也具有發展出優於人類的智慧的 可能性。
AI 的組成元素可粗分三大項,如圖 2,第一是巨量資料,包括標記及未標記資料;第二是深度學習,
包括演算法及軟硬體;第三是應用情境,包括各種 AI 的應用與各領域專業知識,應用的範圍涵蓋教育、服
務、農業、製造、金融、醫療等人類可能觸及之各種 生活情境。
資料標記
機器學習是實現人工智慧的一種方法,透過大量 的資料訓練讓電腦掌握資料特徵,透過類神經網路建立預測模型,而後以訓練過的模型進行推論,AI 模型建立流程如圖 3 所示。建立模型的流程中,有個相當重要的步驟,就是需要「教」電腦看懂真實世界的 現象,這個步驟稱為標記(Label)。人腦有錯綜複雜
的神經系統,對事物有極高的學習能力,縱使非過目不忘,兩三次的訓練就能足以初步認知一件東西。對於電腦而言,機器學習則需透過千遍萬遍的學習,才能使電腦認識一種物件,這種訓練過程建立在「餵」
給電腦正確資料的基礎上,即所謂經過人類標記的資料,故言「人工智慧建立在工人智慧之上」。標記這工作既基礎,但也費時又無趣,有時還需要許多專家協
做才能蒐集到足夠的樣本,在中國大陸號稱有百萬人員從事標記的工作,有趣的是這些人在準備教會電腦識物以便取代自己的工作。
物件偵測 物件偵測(Object
Detection)也是常見的簡單AI
模型。影像分類能夠分出不同物件的類別,但無法得知多目標數量、位置與分類成果等資訊,而這正是物件偵測可提供的資訊。透過目前熱門的即時物件偵測 系統
Yolo(You Only Look Once)提供的資料庫與訓練模型,可簡單的進行物件化辨識,一般的物件偵測成果如圖
8 所示,影像為本研究團隊的研究室與研究生之影像,可分出多物件類別與位置,物件偵測可應用
的情境相當多元,如人臉辨識、身份辨識、安控等, 都是透過物件辨識的方式訓練出的模型應用情境。
雲端運算與邊緣運算
建立資料集並訓練出模型後,便可以輸入未經標記的資料,透過模型進行推論。以分類的案例來說,
新的影像透過模型辨識即可推論出可能所屬的類別。
單純的情境可以在單一電腦內完成,但複雜的情境則需透過雲端處理,因為雲端伺服器通常有較大的資料庫、多樣的訓練模組、及高性能的電腦運算能力,一 般雲端架構可如圖
9 所示。
將已訓練完成的模型放置於雲端伺服器並針對接口之訊息保持監聽(Listen)狀態,透過網路與應用程式介面(API)的方式,將上傳的影像進行推論,推論完成之結果可回應給使用者端。手機、無人機、移
動裝置及 IOT 的邊緣端感測器負責影像資料蒐集,雲端伺服器負責大量運算,此集中運算方式無需在使用端機器上執行複雜、高負載的機器學習程式與訓練模型,為目前最常用的 AI 型態。 透過 AI
雲端運算架構,能夠於雲端伺服器進行集 中式運算,但是需透過網路做資料傳輸,因此受限於網路頻寬與延遲。若需做更迅速反應、穩定獲取運算成
果、及高度資料安全等要求,則須往分散式運算架構 發展,導入邊緣運算(Edge computing)技術與微型化的AI 晶片開發,可將訓練好的模型植入於手機、無人機、移動裝置及 IOT
的設備,達到快速、穩定、安全的目的,並降低對雲端的依賴及負擔。例如,無人機巡航飛行時,若須判定當下鏡頭影像類別時,可有兩種做法:一是透過網路傳回雲端伺服器解算後,將成果回傳回無人機端,並控制無人機做出對應的反應,此法為雲端化概念,需要維持穩定的網路傳輸速率與伺服器通
暢。二是於無人機端進行即時解算,直接可將解算成果 之對應指令給無人機做出立即反應,此法即為邊緣運算 概念。目前受限於邊緣運算能力,目前只能處理較簡單
之模型,惟隨著 AI 晶片之發展,邊緣運算之應用將會 愈發多元與蓬勃,尤其適合台灣擁有晶片設計與製造能 力且缺乏世界級資訊服務公司的小國家。
人工智慧」的八類新興數位風險
「人工智慧」的八類新興數位風險
未來科技將大幅度應用「大-人-機(大數據、人工智慧、機器人等)」等明星技術,其中「人工智慧」更扮演著核心的角色。原本這些智能應用的未來,應該是無限想像的美好,但是在現實應用上遭遇的挑戰,遠比傳統企業擔心的「駭客攻擊」更多。詳細分析與人工智慧演算法相關的科技災難,並分析其本身可能遭遇的風險面向,至少包含以下八個面向:
(1) 機器學習樣本偏失或不足
(2) 設計者人為錯誤或道德偏失
(3) 演算法設計過程中的技術缺陷
(4)
使用者未了解演算法的限制,所產生的過度依賴與誤用情境流程瑕疵
(5) 演算法遭內外部攻擊者惡意破壞
(6)
人工智慧演算結果濫用,導致侵犯當事人隱私權
(7)
決策者對分析結果的錯誤解讀或誤用
(8)
演算效能不足導致無法完成達成運作目標
人工智慧的科技風險治理心法
人工智慧的風險治理重點與傳統產業及技術有非常大的不同,特別應該針對人工智慧的演算法與大數據風險,建立風險及法遵整合治理架構。以下為KPMG建議的三大風險治理心法:
(1) 維持技術與風險間的平衡:人工智慧應用在研發與準備期間,除了建立邊做邊學的環境與空間外,研發創新期間,也應該要著手建構對應的風險管理框架。e.g.AI系統的內部與外部風險因子
(2) 了解演算法的假設與限制:人工智慧快速運算海量的結構與非結構化大數據資料,演算法基於假設前提並可能受到原始資料影響,必須由研究團隊謹慎判別與分析 。e.g.演算法誤判的風險
(3) 考量人工介入必要與時機:短期內人工智慧仍難以取代最終決策的「責任」,因此人工智慧的應用場景應配合相關法規與應用規範,設計必要的人工介入條件與時機,而非全數仰賴人工智慧的運算結果進行決策。e.g.自動駕駛之風險,誤判造成生命財產損失
人工智慧需要的嶄新數位風險治理服務
未來的「人工智慧」發展,除了在營運環境、商業模式、技術創新等面向需持續突破外,因應全新的「數位風險」的對策與控制措施,亦是迎向智能未來的重大挑戰。而新世代的數位風險治理情境,非常可能必須涵蓋大數據、人工智慧、物聯網等多項新科技,從決定科技應用情境與治理範圍、新興科技應用風險評估、融入隱私與安全於演算法設計過程,到風險評估、管理、審驗等治理工程等步驟,將是企業能夠成功將今日之「智」,轉換成為明日之「能」的重要關鍵!
IBM 研究人員在 2018 年美國黑帽駭客大會展示的新式概念驗證攻擊程式 -
DeepLocker,更證實了 AI 惡意程式已不再只是紙上談兵。在 Crowdstrike 發佈的 2018 全球威脅報告中即指出,透過暗網(Dark
web),越來越多的攻擊工具能夠以相當親民的價格取得;他們也預期,在未來數年之內, AI 驅動的入侵工具就能以令人可接受的價格取得。
至此,人工智慧之於資安的關係已有一相當清楚的輪廓。我們單純以角色與標的物來思考的話,那麼要將 AI
發展到資安產業,至少需要仔細思考以下四個命題:
(1) 攻擊方如何利用 AI 對資訊系統及機敏資訊進行攻擊或竊取
(2) 攻擊方如何攻擊以 AI
模型為核心的資訊系統或服務
(3) 防護方如何利用 AI
防衛資訊系統或機敏資訊
(4) 防護方如何防衛以 AI
模型為核心的資訊系統與服務
AI白皮書
AI有巨大的潛能改變人類命運,但同樣存在巨大的安全風險。這種安全風險存在的根本原因是AI演算法設計之初普遍未考慮相關的安全威脅,使得AI演算法的判斷結果容易被惡意攻擊者影響,導致AI系統判斷失準。在工業、醫療、交通、監控等關鍵領域,安全危害尤為巨大;如果AI系統被惡意攻擊,輕則造成財產損失,重則威脅人身安全。
AI安全風險不僅僅存在於理論分析,並且真實的存在于現今各種AI應用中。例如攻擊者通過修改惡意檔繞開惡意檔檢測或惡意流量檢測等基於AI的檢測工具;加入簡單的噪音,致使家中的語音控制系統成功調用惡意應用;刻意修改終端回傳的資料或刻意與聊天機器人進行某些惡意對話,導致後端AI系統預測錯誤;在交通指示牌或其他車輛上貼上或塗上一些小標記,致使自動駕駛車輛的判斷錯誤。
應對上述AI安全風險,AI系統在設計上面臨五大安全挑戰:
(1) 軟硬體的安全:在軟體及硬體層面,包括應用、模型、平臺和晶片,編碼都可能存在漏洞或後門;攻擊者能夠利用這些漏洞或後門實施高級攻擊。在AI模型層面上,攻擊者同樣可能在模型中植入後門並實施高級攻擊;由於AI模型的不可解釋性,在模型中植入的惡意後門難以被檢測。
(2) 資料完整性:在資料層面,攻擊者能夠在訓練階段摻入惡意資料,影響AI模型推理能力;攻擊者同樣可以在判斷階段對要判斷的樣本加入少量噪音,刻意改變判斷結果。
(3) 模型保密性:在模型參數層面,服務提供者往往只希望提供模型查詢服務,而不希望曝露自己訓練的模型;但通過多次查詢,攻擊者能夠構建出一個相似的模型,進而獲得模型的相關資訊。
(4) 模型健全性:訓練模型時的樣本往往覆蓋性不足,使得模型健全性不強;模型面對惡意樣本時,無法給出正確的判斷結果。
(5) 數據隱私:在使用者提供訓練資料的場景下,攻擊者能夠通過反復查詢訓練好的模型獲得使用者的隱私資訊。
人工智慧常用開發語言
【Python】
Python由於簡單易用,是人工智慧領域中使用最廣泛的程式語言之一,它可以無縫地與數據結構和其他常用的AI算法一起使用。
Python之所以時候AI項目,其實也是基於Python的很多有用的庫都可以在AI中使用,如Numpy提供科學的計算能力,Scypy的高級計算和Pybrain的機器學習。另外,Python有大量的在線資源,所以學習曲線也不會特別陡峭。
參考教程:https://edu.csdn.net/courses/o280_s355_k?utm_source=ttxk
【Go】
Go語言是谷歌2009發布的第二款開源程式語言。
Go語言專門針對多處理器系統應用程式的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。
參考教程:https://edu.csdn.net/courses/o280_s360_k?utm_source=ttxk
Java也是AI項目的一個很好的選擇。它是一種面向對象的程式語言,專注於提供AI項目上所需的所有高級功能,它是可移植的,並且提供了內置的垃圾回收。另外Java社區也是一個加分項,完善豐富的社區生態可以幫助開發人員隨時隨地查詢和解決遇到的問題。
對於AI項目來說,算法幾乎是靈魂,無論是搜索算法、自然語言處理算法還是神經網絡,Java都可以提供一種簡單的編碼算法。另外,Java的擴展性也是AI項目必備的功能之一。
【C ++】
C ++是世界上速度最快的程式語言,其在硬體層面上的交流能力使開發人員能夠改進程序執行時間。 C ++對於時間很敏感,這對於AI項目是非常有用的,例如,搜尋引擎可以廣泛使用C ++。
在AI項目中,C++可用於統計,如神經網絡。另外算法也可以在C ++被廣泛地快速執行,遊戲中的AI主要用C ++編碼,以便更快的執行和響應時間。
參考教程:https://edu.csdn.net/courses/o280_s281_k?utm_source=ttxk
【Lisp】
Lisp因其出色的原型設計能力和對符號表達式的支持在AI領域嶄露頭角。LISP作為因應人工智慧而設計的語言,是第一個聲明式系內函數式程序設計語言,有別於命令式系內過程式的C、Fortran和面向對象的Java、C#等結構化程序設計語言。
Lisp語言因其可用性和符號結構而主要用於機器學習/ ILP子領域。著名的AI專家彼得·諾維奇(Peter Norvig)在其《Artificial Intelligence: A modern approach》一書中,詳細解釋了為什麼Lisp是AI開發的頂級程式語言之一,感興趣的朋友可以自行查看。
【Prolog】
Prolog與Lisp在可用性方面旗鼓相當,據《Prolog Programming for Artificial Intelligence》一文介紹,Prolog一種邏輯程式語言,主要是對一些基本機制進行編程,對於AI編程十分有效,例如它提供模式匹配,自動回溯和基於樹的數據結構化機制。結合這些機制可以為AI項目提供一個靈活的框架。
Prolog廣泛應用於AI的 expert系統,也可用於醫療項目的工作。
註:人工智慧指導教程參考地址:https://edu.csdn.net/courses/o5329_k?utm_source=ttxk
人工智慧應用監管指南(Guidance for Regulation of Artificial Intelligence Applications)
(2).AI系統處理,存儲和傳輸的信息時代理商應給予更多考慮確保系統彈性和防止不良行為的方法
(3)AI系統的弱點,包括AI操作帶來的網絡安全風險,以及針對受監管實體的AI技術進行AI對抗性使用
(4).評估或運用人工智慧政策,代理機構應注意任何潛在的安全和保障風險,以及可能存在惡意部署和使用AI應用程序的風險。
(5).AI的監管和非監管方法應基於一致的風險評估和風險管理在各個機構和各種機構中的應用技術。
(6).基於風險應該使用方法確定哪些風險可以接受以及哪些風險存在造成不可接受的損害的可能性,或損害的預期成本大於預期收益的可能性。
(7).代理商應對風險評估保持透明,並重新評估其假設並在適當的時間間隔得出結論,以加強問責制。
(8).如果AI工具失敗或為此成功,後果的程度和性質可以幫助告知適合識別和緩解的監管工作的水平和類型風險。