新聞中心

2017-09-01
機器學習的常見5大問與答
機器學習的研究過程中,涉及了許多棘手且需要處理的困難問題。在近期的RSA Conference或Black Hat等安全會議中,相信您一定聽過機器學習和人工智慧等資訊。但卻很少有人會解釋它是什麼、工作原理為何以及您為什麼需要關切。
 
對Sophos而言,我們投入相當大的資源在資料科學和機器學習上,包括收購機器學習公司Invincea,並建立了一個領先的資料科學家團隊,專注於將機器學習導入我們產品的核心。我們的機器學習方法一直都是以科學、透明和驗證性為基礎。透過本文解說機器學習的相關說明,讓大家可以更了解機器學習。
 
這其實只是個數學運算,對吧?
評估機器學習產品時最難的事情之一,是如何找出它的基礎依據為何。為了協助達成目的,我們提出五個問題清單,無論使用哪種演算法,都能適度切中問題核心。
 
Q1.一個高偵測率的背後,究竟有多少誤判機率?
只是單純引用機器學習演算法的偵測率是不夠的。畢竟,您可以透過簡單地將每個掃描的檔案定義為惡意程式來實現100%的偵測率。但是誤判機率也將接近100%,但這樣根本無法正常使用電腦。
 
換句話說,偵測演算法的誤判率至少與其真實偵測率同等重要。忽略誤判率代表著會有中斷用戶工作等等的問題發生。在機器學習中,透過所謂的ROC特性曲線圖表,來了解真實的偵測率和誤判率之間的關係。如果供應商不能或不會向您提出ROC曲線,您就只能用猜測的方式去估計偵測率。
 
提問:無論現在和過去,我可以看到你的ROC曲線嗎?
 
Q2.你的模組需要更新多久,模型的準確性在更新之間會下降多少?
機器學習的真正功能是,如果經過適當的訓練,它可以非常可靠地檢測到以前沒有看到過的威脅。這使得它用於主動阻止新的威脅特別有效。此外,良好的機器學習模式不僅能夠在當今的威脅下表現出色,也將在不需要更新的情況下持續篩選新的威脅。簡而言之,良好的機器學習模式將可保持幾個月內偵測率與誤判率的平衡,而不僅僅只是數週或數天。
 
提問:我可以在今天的ROC曲線中,看到包含六個月前發布的更新嗎?
 
Q3.你的機器學習演算法是否即時做出決策?
如果掃描惡意軟體的時間比惡意軟體需要的時間要長,那麼你就可以進行檢測而不是預防。換句話說,你只會在事後發現一次攻擊。一些形式的機器學習被用來在攻擊後篩選數據。這對於找出發生的事由是有用的,所以你可以防止它再次發生,但是如果你在成功之前停止攻擊的行動,則需要一個以毫秒為單位的演算法,而不是幾分鐘或幾秒鐘。
 
一般而言,不適合端點資料收集的機器學習解決方案會需要連接雲端才能作業,這將是緩慢而不可靠的方式。事實上,資料收集應該足夠緊湊,可以保存在記憶體中,從而避免在掃描每個文件時,將讀取檢測資料放在磁碟上。
 
提問:是否能即時判斷?若是需要多久時間做出決策?萬一電腦離線,效能和準確性會發生什麼差異?
 
Q4.你的訓練模式為何?
演算法在實踐中的表現是基於被訓練的資料。如果只限於內部模擬實驗的訓練資料,則當面對實驗室外的資料檔案時,此演算法可能就無法可靠地執行。
 
提問:培訓資料來自哪裡?如何適用於實際狀況?有多少資料?如何保持訓練設置的最新狀態?
 
Q5.機器學習系統的規模為何?
新的威脅會一直出現,所以勢必需要在網路上收集新的、有代表性的資料。收集越來越多的相關資料本身就含有困難度,但你還需要能夠擴展可以重新培訓和重新測試模組的速度,否則你的更新效能會越來越慢。
 
但是,你提取的執行機器學習模組的資料集需要保持不變的大小,即使你的訓練資料增加。否則,為了維持偵測率,執行時的效能將會變得越來越糟。換句話說,你可以快速提高培訓資料的大小和相關性,隨著培訓資料增加,你是否可以隨時掌握培訓和測試所需的時間,以及是否可以保持執行時資料集的大小,而不會犧牲偵測率(或增加誤判率)。
 
提問:是否可以從歷史統計資料中看出培訓和執行時的效能狀況?
 
這不僅僅是數學運算
總結理想的機器學習方法將會是:
●透過公佈的ROC曲線,對已知和未知的攻擊提供高偵測率和誤判率。
●接受有針對性的資料訓練,以適應真實世界的威脅。
●每次更新數月後,能繼續提供高效能。
●提供即時運作(威脅阻止),而不會消耗大量記憶體。
●即使訓練資料增加,也可以可靠地縮放,而不需要更多的記憶體或效能降低。
這些可能都是關鍵的重大問題,因為它們正是任何機器學習方法都需要的,也是Sophos所專注的。
 
原文出處:
https://news.sophos.com/en-us/2017/07/24/5-questions-to-ask-about-machine-learning/
圖片


回上頁   |   下一則