作為Netflix忠實粉絲,每次打開電視機,影視系統自動推薦相關口味電影電視劇,對一向患選擇性困難的筆者,節省了不少時間。背後,當然是Netflix從眾多粉絲蒐集的大數據,經精密分析,以機器學習所開發出的推薦系統。
機器學習(ML)中的分類演算法,日常生活之中,其實已廣泛使用。
譬如醫療界,不少公司投入了大量資源,研究癌病早期測試;多年來未取得太大進展,直至使用ML技術,近年才有所突破。ML分類過程,使用從細胞化驗所獲數據,放進電腦程式中,預測病人是否會罹患癌病,或那是種類型。2018年初,Google 提出報告書,以深度學習技術,分析細胞切割照片,利用胞影像,傳到系統作癌細胞即時檢查,準確度高達至98%。
去年,印度新德里大學亦發表一項有趣硏究,利用警察局提供數據,發現百份之五十案件,由百份之十罪犯作案。跟據當地人口分佈及地理環境,利用機器演算法推測下次案件發生地方,協助警方迅速破案。這類研究發展,不難令人聯想起電影《未來報告》情節,男主角湯告魯斯未卜先知,消滅罪案,防範未然。
網絡上攻擊層出不窮,例如電腦病毒、MALWARE、DDoS、APT 、近年流行勒索程式Ransomware等,一直是企業最大隱憂。傳統防火牆技術,譬如檢查病毒、IPS等技術,已經跟日新月異攻擊脫節。近年不少廠商,引進AI技術作更徹底病毒偵查,對阻擋惡意軟件攻擊,發揮了很大作用。
傳統的電腦病毒測試,主要利用軟件廠商提供的病毒識別檔案(Signature file),掃描過程當之中,發現相同檔案簽名,便將該檔案分類成為病毒。
可是,病毒識別檔案須定期更新,令新種病毒在更新期之前,有可乘之機,入侵用戶的電腦。研究發現,其實很多新病毒,只是改良舊版,舊酒新瓶,跟原有的執行檔內容,只有百分之十或以下的變化。若能有效以機器學習,不難辨認這類改良病毒,再變也不出AI的五指山。
若讀者有興趣去學習使用AI技術,辨認上述網路攻擊,不妨考慮使用近年流行雲端ML工具。有不少電腦廠商如IBM、Google、AWS、微軟,紛紛推出協助機器學習的產品,通常有一段時間免費優惠。數據方面,可參考美國UC Irvine大學1999 年KCC Cup的Data Mining比賽。KCC Cup是針對不同數據開發的大學比賽,近年己逐漸被上期介紹的Kaggle比賽代替。
當年比賽的數據,乃從不同防火牆及路由器上蒐集;不少紀錄了網路上的攻擊形態,夾雜正常的網絡通訊,以從不同特徵可分辨出來,可說研究網絡攻擊的經典測試數據。
參賽者的挑戰,就是建立機器學習模式,成功測試出那些為正常網絡通訊,那一些是攻擊。今時今日,以上述提及雲端ML工具,例如說微軟Azure Machine Learning Studio,即使對機器學習,只有基本的認識,也很快可自製出完整運算模式。
這類工具的好處,是內置不同ML模塊,只需以drag and drop拖曳滑鼠,便可編輯好一個機器學習的模型(Model),又不需懂任何程式語言,十分方便。
作者:梁定康,現任網絡工程師,負責研究IT保安及網絡設計